## Wednesday, October 17, 2012

### Hello World!

This is a place for reviews, comments, and feature requests for Big Integer Calculator, which is available online at JavaScripter.net/math as well as in Windows 8 Store. Here are the links:

Please try either version (or both) and let us know what you think! The Windows 8 app users are also welcome to post reviews, ratings, etc. from within the Big Integer Calculator app directly - that way your suggestions will be more visible to other Windows 8 users. Many thanks for stopping by!

1. http://www.javascripter.net/math/calculators/100digitbigintcalculator.htm
fails:
X=1426739679421649871276372148235116557686994643116557644771
Y=127
prime? true
MR(x,y) ? false

2. The calculator uses 30 rounds of the Miller-Rabin test to determine probable primality. Since the test's result is either "guaranteed composite" or "probable prime", there are (very rare) cases when a composite is misreported as prime. The number X in Joe's example above is one such rare case. The number X is of course composite: X=595240280838049939*24404851514360047459*98214646338278239771.

However, the first 30 prime bases in Miller-Rabin test do not reveal the compositeness of X. These 30 bases (2,3,5,7,...,113) are "liar" bases for this X. The first prime "witness" is 127. Here you can learn more about the Miller-Rabin test.

3. I am still looking for a big calculator with floating point because
I need it with my big integer division analysis of quotient reminders where the
mod function is no help. My old virtual calculator did but is not supported in 8.1
It would be nice to add floating point as an added feature.

Dan

4. On large integers like rsa2048 (2048 bit length) it returns the wrong division product.
This thing needs a lot more work!

5. Thanks Dan for using the calculator. The division issue, I believe, is already fixed in the online version of the calculator available here:

http://www.javascripter.net/math/calculators/100digitbigintcalculator.htm

I am accumulating fixes to roll into an update in Windows Store. If you still have (rare) cases with wrong division results, can you please post an example right here (or send me an email if you prefer)? Thank you!

6. Is there a way to embed all of the functions of the Big Integer Calculator into Python and call up and graph the answers?

7. Thank you Ray for your question!

Python already has built-in arbitrary precision arythmetic capabilities. Let me quote some relevant info from
http://http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic

Python: the built-in int (3.x) / long (2.x) integer type is of arbitrary precision. The Decimal class in the standard library module decimal has user definable precision and limited mathematical operations (exponentiation, square root, etc. but no trigonometric functions).

Therefore I think it would be counterintuitive to implement Python-to-JavaScript calls and graph the results. Instead, a more natural way to achieve the same result would be just using Python's native capabilities and porting to Python any code that is not yet readily available. The necessary algorithms can be found, e.g., in the Handbook for Applied Cryptography available here:

http://cacr.uwaterloo.ca/hac/

1. Thank you very much Alex! I now understand your comments as big integers are built into Python. Also thanks for the suggestion for the Handbook for Applied Cryptography.
All the best,
Ray