如何使用 R 中的 mpfr 包检查一个数字是不是是一个完美的正方形?
Posted
技术标签:
【中文标题】如何使用 R 中的 mpfr 包检查一个数字是不是是一个完美的正方形?【英文标题】:How to check if a number is a perfect square by using mpfr package in R?如何使用 R 中的 mpfr 包检查一个数字是否是一个完美的正方形? 【发布时间】:2015-07-02 20:35:13 【问题描述】:我有一个行列式,我知道它是整数的平方,但是因为它的值大于.Machine$integer.max
,所以我使用了 mpfr 包。
但我还是有问题。
算法如下:
> a<- mpfr(sqrt(det(M)), precBits=512);a
1 'mpfr' number of precision 512 bits
[1] 430080000000001.1875
你能帮帮我吗?
【问题讨论】:
我没有经常使用 mpfr/matrices,但看起来determinant()
函数与 Rmpfr
包一起打包。见inside-r.org/packages/cran/Rmpfr/docs/determinant.mpfrMatrix。
我已经完成了 bgoldst 但我仍然有问题。
【参考方案1】:
性能有问题吗?如果没有,那么以下应该可以工作。
> x<-mpfr(31415926535897932384626433832795, 500)
> is.whole(sqrt(x))
[1] FALSE
> y<-mpfr(31415926535897932384626433832794, 500)^2
> y
1 'mpfr' number of precision 500 bits
[1] 986960440108935918772069008410384076085841574993068761741787136
> is.whole(sqrt(y))
[1] TRUE
【讨论】:
以上是关于如何使用 R 中的 mpfr 包检查一个数字是不是是一个完美的正方形?的主要内容,如果未能解决你的问题,请参考以下文章