Округление числа в PARI/GP

Я знаю, что команда "\p x" устанавливает точность для всех вычислений, но я ищу что-то немного другое. Учитывая число, вычисленное с высокой точностью, я хочу округлить его до более низкой точности только для одной части моего кода. Причина этого в том, что принятие абсолютного значения комплексных чисел имеет тенденцию к некоторым ошибкам округления, которые впоследствии вызывают проблемы. Я хочу, чтобы эти абсолютные значения были одинаковыми и не имели незначительных ошибок, которые они имеют прямо сейчас.

Другими словами, как я могу сделать 1.xxxxxxxxxxxx -> 1.xxxxxxx только для определенного числа?


person Dan S    schedule 13.06.2012    source источник


Ответы (1)


Самое простое решение

z * precision(1., 100)

для усечения компонентов z с относительной точностью 100 цифр. Для целей печати вы также можете использовать printf("%m.nf", z) со стандартными значениями.

person K.B.    schedule 05.04.2013