Я пытаюсь найти квадратный корень большого целого числа в R-языке. Я использую пакет gmp, который предоставляет bigz для больших целых чисел, но кажется, что у него отсутствует функция для квадратного корня. Я открыт для использования другого пакета для больших целых чисел, если это необходимо.Как найти квадратный корень из большого целого в R-языке? (пакет gmp не имеет sqrt для bigz)
library(gmp)
sqrt(as.bigz("113423713055421844361000443349850346743"))
Error: 'Math.bigz' is not implemented yet
В качестве альтернативы, я ищу способ реализовать sqrt с помощью bigz.
Богатый, извините, я должен был использовать большее количество, чтобы избежать путаницы. Я отредактировал свой вопрос, чтобы это отразить. Да, sqrt работает для чисел, которые могут быть выражены стандартным образом R, но я ищу делать то же самое с большими числами (именно поэтому я использовал gmp/bigz). –
Джозеф, спасибо, кажется, он работает! Кажется, я не могу просто сделать as.bigz (sqrt (a)), поэтому мне все равно нужно сделать еще немного исследований. Или мне нужно будет увидеть, влияет ли использование mpfr вместо bigz на производительность. –
просто FYI ... 1. 'Rmpfr' в расширении' gmp'; 2. 'Rmpfr' предназначен специально для вычислений с плавающей запятой, тогда как' gmp' нацелен на целые и рациональные. Я хочу сказать, что они предназначены для очень специфических и очень разных задач, поэтому не для того, чтобы библиотека была более мощной для вычисления 'sqrt' (или любой арифметической операции, которая могла бы привести к иррациональным числам). Например 'log'), это больше, вы должны использовать' Rmpfr' для достижения желаемого результата. –