Can I have higher precision while counting with long numbers?

2 Ansichten (letzte 30 Tage)
Jakub Závada
Jakub Závada am 1 Mai 2015
Kommentiert: Stephen23 am 2 Mai 2015
I wrote function for the number of non-isomorphic graphs on n vertices using Burnside lemma. Function returns correct numbers only for n<14. But for n=14 it returns 29054155657235472 instead of 29054155657235488 and for n>14 there are lots of zeros at the end of the number. I got correct number when I tried to count it for n=14 with the same algorithm in Maple, so algorithm should be right.
And if I can get higher precision, how can I display whole number instead of 3.1426e+19 for n=15 etc?
  1 Kommentar
Stephen23
Stephen23 am 2 Mai 2015
@Jakub Závada: this precision limit exists because MATLAB uses the IEEE 754 floating point classes "double" and "single", which of course have a finite precision. This clearly documented and is expected behavior for any numeric calculation, language or program that ueses these data classes:
https://en.wikipedia.org/wiki/Double-precision_floating-point_format
Numeric computation is not the same thing as symbolic calculation!

Melden Sie sich an, um zu kommentieren.

Antworten (1)

James Tursa
James Tursa am 1 Mai 2015
If you have the symbolic toolbox you can use vpa. If not, then you might look into these two FEX submissions by John D'Errico:

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by