sympy: what's wrong with this picture?
Mensanator
mensanator at aol.com
Mon Mar 3 15:40:16 EST 2008
Notice anything funny about the "random" choices?
import sympy
import time
import random
f = [i for i in sympy.primerange(1000,10000)]
for i in xrange(10):
f1 = random.choice(f)
print f1,
f2 = random.choice(f)
print f2,
C = f1*f2
ff = None
ff = sympy.factorint(C)
print ff
## 7307 7243 [(7243, 1), (7307, 1)]
## 4091 6829 [(4091, 1), (6829, 1)]
## 8563 2677 [(2677, 1), (8563, 1)]
## 4091 6829 [(4091, 1), (6829, 1)]
## 8563 2677 [(2677, 1), (8563, 1)]
## 4091 6829 [(4091, 1), (6829, 1)]
## 8563 2677 [(2677, 1), (8563, 1)]
## 4091 6829 [(4091, 1), (6829, 1)]
## 8563 2677 [(2677, 1), (8563, 1)]
## 4091 6829 [(4091, 1), (6829, 1)]
As in, "they're NOT random".
The random number generator is broken by the sympy.factorint()
function.
Random.choice() works ok if the factorint() function commented out.
## 6089 1811 None
## 6449 1759 None
## 9923 4639 None
## 4013 4889 None
## 4349 2029 None
## 6703 8677 None
## 1879 1867 None
## 5153 5279 None
## 2011 4937 None
## 7253 5507 None
This makes sympy worse than worthless, as it fucks up other modules.
More information about the Python-list
mailing list