Please keep discussion son the list. On May 15, 2015, at 5:19 AM, chasiot...@math.auth.gr wrote:
> Yes, I am asking whether that integer can be exactly represented on a > computer. Yes, but it requires significant effort to do so because you need arbitrary-precision algorithms. > I use 64 bit. > > I have changed 64 up to 1024 but nothing changed. I don't think we are talking about the same thing here. > I have tried also to use Rmpfr package, but I haven't solved my problem? You have not clearly stated what the problem is you are trying to solve. Clearly you don't need to know whether the number is an integer - you already know it is. You also know that a number of that size cannot be exactly represented natively in your computer. So asking whether it turns out to be a whole number or not is asking a question about the machine precision and the algorithm, not about the number. > How do you think I can use the Rmpfr package? > 2^63-1 [1] 9.223372e+18 > print(2^63 - 1, digits=19) [1] 9223372036854775808 # wrong! library(Rmpfr) a <- mpfr(2, 64) print(a^63 - 1, digits=19) 1 'mpfr' number of precision 64 bits [1] 9223372036854775807 # correct! ... but you will need to change the code that does the calculation so that it uses mpfr-class number with enough precision to safely avoid rounding errors for the size of all intermediate values in your calculation. Probably this means you will write your own determinant algorithm - and if this is just for one matrix it doesn't need to be fast so why not. Google tells me there are division-free algorithms for calculating determinants that are O(n^4). But as I wrote above, I can't imagine why this makes sense. B. > > > Vasilis > ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.