Я аспирант по математике и работаю над исследовательским проектом, который включает в себя вычисление норм целых алгебраических чисел в полях чисел очень высокой степени. По сути, это потребует перемножения еще 100 чисел с плавающей запятой, чтобы получить целое число. Я программирую на С.
Проблема, с которой я сталкиваюсь, заключается в том, что мне нужно вычислять нормы, которые превышают 1e20 = 10 ^ 20, что превышает как целочисленную точность, так и точность с плавающей запятой моего оборудования (Macbook).
Я мог бы попытаться использовать какую-то программную эмуляцию для повышения точности, но, как я понимаю, это примерно в 300 раз медленнее, чем аппаратное вычисление с плавающей запятой. Это означало бы, что расчеты, которые я сейчас делаю и которые занимают несколько дней, вместо этого займут несколько лет, что неприемлемо.
У меня два вопроса: Q1: Является ли моя оценка в 300 раз медленнее для программной эмуляции расширенной точности (скажем, до точности 10^36, примерно в два раза выше аппаратной) чрезмерно пессимистичной?
Q2: Есть ли у меня много тысяч долларов, чтобы решить проблему, какие аппаратные решения могут быть доступны?
GMP
. - person Brett Hale   schedule 31.08.2013sudo port install mpfr
), и он позаботится об установке GMP. Это может привести к большему количеству зависимостей, чем вам хотелось бы, но пусть это работает, и обычно вы получаете то, что вам нужно. - person Pascal Cuoq   schedule 31.08.2013