Ticket #11286: solve2.sage

File solve2.sage, 1.1 KB (added by rbeezer, 11 years ago)
Line 
1fields = [(ZZ, 100), (QQ, 100), (Integers(6337), 150), (FiniteField(5^4, 'a'), 50)]
2
3for F, m in fields:
4    m=Integer((1)*m)
5    number = 15
6    repeat = 2
7    precision = 5
8    # square, single column
9    A1 = random_matrix(F, m, m)
10    B1 = random_matrix(F, m, 1)
11    # wide, single column
12    A2 = random_matrix(F, m, Integer(5*m))
13    B2 = random_matrix(F, m, 1)
14    # square, many columns
15    A3 = random_matrix(F, m, m)
16    B3 = random_matrix(F, m, Integer(10*m))
17    # wide, many columns
18    A4 = random_matrix(F, m, 3*m)
19    B4 = random_matrix(F, m, Integer(2*m))
20    mats = [(A1,B1), (A2,B2), (A3,B3), (A4,B4)]
21    print "Field:", F
22    for A, B in mats:
23        print
24        print "Rows:", A.nrows()
25        print "Cols (coeffs)    ", A.ncols()
26        print "Cols (constants) ", B.ncols()
27        print "Old:"
28        timeit("A._cache={}; A.solve_right_old(B)", number=number, repeat=repeat, precision=precision)
29        print "New:"
30        timeit("A._cache={}; A.solve_right(B)", number=number, repeat=repeat, precision=precision)
31    print "**************************\n"