Can I have higher precision while counting with long numbers?
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
Stephen23
2015 年 5 月 2 日
@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!
回答 (1 件)
James Tursa
2015 年 5 月 1 日
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:
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Numbers and Precision についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!