Problem with numpy integers and floats
1) 1st problem
sage: import numpy as np
sage: a = np.int64(4343678784233766587)
sage: b = np.int64(149)
sage: a*b
1572096270996914903
the answer is wrong; it should be 647208138850831221463
1) 2nd problem
sage: a = np.int64(3344773437777732743)
sage: b = np.int64(181)
sage: a*b
-3338562194645576845
the answer is negative, How Come ???
1) 3rd problem
sage: a = np.float64(3344773437777732743)
sage: b = np.float64(181)
sage: a*b
6.0540399223776962e+20 #the exact answer is 605403992237769626483
Why doesn't it give me all the numbers instead of this e*20 ???
Moreover, i just used normal int of sage (<type 'sage.rings.integer.Integer'>
) without using numpy and it works fine !!!
Thank you in advance.
If you use Sage and it works fine why do you switch to numpy ?
What @vdelecroix means is that this is a Sage forum and so it's hard to answer this in the forum. I'll try to do so briefly below.