Округление числа в PARI/GP
Я знаю, что команда "\p x" устанавливает точность для всех вычислений, но я ищу что-то немного другое. Учитывая число, вычисленное с высокой точностью, я хочу округлить его до более низкой точности только для одной части моего кода. Причиной этого является то, что принятие абсолютного значения комплексных чисел приводит к ошибкам округления, которые впоследствии вызывают проблемы. Я хочу, чтобы эти абсолютные значения были одинаковыми и не имели крошечных ошибок, которые они имеют прямо сейчас.
Другими словами, как я могу сделать 1.xxxxxxxxxxxxxx -> 1.xxxxxxx только для определенного числа?
1 ответ
Самое простое решение
z * precision(1., 100)
усечь компоненты z с относительной точностью до 100 цифр. В целях печати вы также можете использовать printf("%m.nf", z)
со стандартными значениями.