Skip to content

Commit 7ab470f

Browse files
committed
merge
2 parents 36d70ce + eee532a commit 7ab470f

File tree

1 file changed

+24
-15
lines changed

1 file changed

+24
-15
lines changed

src/sage/matrix/benchmark.py

+24-15
Original file line numberDiff line numberDiff line change
@@ -46,18 +46,19 @@ def report_ZZ():
4646
"""
4747
F = [vecmat_ZZ, rank_ZZ, rank2_ZZ, charpoly_ZZ, smithform_ZZ,
4848
det_ZZ, det_QQ, matrix_multiply_ZZ, matrix_add_ZZ,
49+
matrix_add_ZZ_2,
4950
nullspace_ZZ]
5051

5152
title = 'Dense benchmarks over ZZ'
5253
report(F, title)
5354

5455
# Integer Nullspace
5556

56-
def nullspace_ZZ(n=300, min=0, max=2**16, system='sage'):
57+
def nullspace_ZZ(n=400, min=0, max=2**32, system='sage'):
5758
"""
5859
Nullspace over ZZ:
59-
Given a n+1 x n (with n=300) matrix over ZZ with random entries
60-
with 16 bits, compute the nullspace.
60+
Given a n+1 x n (with n=400) matrix over ZZ with random entries
61+
with 32 bits, compute the nullspace.
6162
"""
6263
if system == 'sage':
6364
A = random_matrix(ZZ, n+1, n, x=min, y=max+1).change_ring(QQ)
@@ -79,10 +80,10 @@ def nullspace_ZZ(n=300, min=0, max=2**16, system='sage'):
7980
raise ValueError, 'unknown system "%s"'%system
8081

8182

82-
def charpoly_ZZ(n=100, min=0, max=9, system='sage'):
83+
def charpoly_ZZ(n=300, min=0, max=9, system='sage'):
8384
"""
8485
Characteristic polynomial over ZZ:
85-
Given a n x n (with n=100) matrix over ZZ with random entries
86+
Given a n x n (with n=300) matrix over ZZ with random entries
8687
between min=0 and max=9, compute the charpoly.
8788
"""
8889
if system == 'sage':
@@ -105,10 +106,10 @@ def charpoly_ZZ(n=100, min=0, max=9, system='sage'):
105106
raise ValueError, 'unknown system "%s"'%system
106107

107108

108-
def rank_ZZ(n=500, min=0, max=9, system='sage'):
109+
def rank_ZZ(n=700, min=0, max=9, system='sage'):
109110
"""
110111
Rank over ZZ:
111-
Given a n x (n+10) (with n=500) matrix over ZZ with random entries
112+
Given a n x (n+10) (with n=700) matrix over ZZ with random entries
112113
between min=0 and max=9, compute the rank.
113114
"""
114115
if system == 'sage':
@@ -130,10 +131,10 @@ def rank_ZZ(n=500, min=0, max=9, system='sage'):
130131
else:
131132
raise ValueError, 'unknown system "%s"'%system
132133

133-
def rank2_ZZ(n=200, min=0, max=2**64, system='sage'):
134+
def rank2_ZZ(n=400, min=0, max=2**64, system='sage'):
134135
"""
135136
Rank 2 over ZZ:
136-
Given a (n + 10) x n (with n=200) matrix over ZZ with random entries
137+
Given a (n + 10) x n (with n=400) matrix over ZZ with random entries
137138
between with 64 bits, compute the rank.
138139
"""
139140
if system == 'sage':
@@ -183,10 +184,10 @@ def smithform_ZZ(n=128, min=0, max=9, system='sage'):
183184
raise ValueError, 'unknown system "%s"'%system
184185

185186

186-
def matrix_multiply_ZZ(n=200, min=-9, max=9, system='sage', times=1):
187+
def matrix_multiply_ZZ(n=300, min=-9, max=9, system='sage', times=1):
187188
"""
188189
Matrix multiplication over ZZ
189-
Given an n x n (with n=200) matrix A over ZZ with random entries
190+
Given an n x n (with n=300) matrix A over ZZ with random entries
190191
between min=-9 and max=9, inclusive, compute A * (A+1).
191192
"""
192193
if system == 'sage':
@@ -213,11 +214,11 @@ def matrix_multiply_ZZ(n=200, min=-9, max=9, system='sage', times=1):
213214
else:
214215
raise ValueError, 'unknown system "%s"'%system
215216

216-
def matrix_add_ZZ(n=500, min=-9, max=9, system='sage', times=10):
217+
def matrix_add_ZZ(n=500, min=-9, max=9, system='sage', times=50):
217218
"""
218219
Matrix addition over ZZ
219220
Given an n x n (with n=500) matrix A and B over ZZ with random entries
220-
between min=-9 and max=9, inclusive, compute A + B.
221+
between min=-9 and max=9, inclusive, compute A + B 50 times.
221222
"""
222223
if system == 'sage':
223224
A = random_matrix(ZZ, n, n, x=min, y=max+1)
@@ -245,6 +246,14 @@ def matrix_add_ZZ(n=500, min=-9, max=9, system='sage', times=10):
245246
else:
246247
raise ValueError, 'unknown system "%s"'%system
247248

249+
def matrix_add_ZZ_2(n=500, bits=16, system='sage', times=50):
250+
"""
251+
Matrix addition over ZZ.
252+
Given an n x n (with n=500) matrix A and B over ZZ with random 16-bit
253+
entries, compute A + B 50 times.
254+
"""
255+
b = 2**bits
256+
return matrix_add_ZZ(n=n, min=-b, max=b,system=system, times=times)
248257

249258
def det_ZZ(n=400, min=1, max=100, system='sage'):
250259
"""
@@ -299,11 +308,11 @@ def det_QQ(n=300, num_bound=10, den_bound=10, system='sage'):
299308
raise ValueError, 'unknown system "%s"'%system
300309

301310

302-
def vecmat_ZZ(n=500, system='sage', min=-9, max=9, times=200):
311+
def vecmat_ZZ(n=750, system='sage', min=-9, max=9, times=200):
303312
"""
304313
Vector matrix multiplication over ZZ.
305314
306-
Given an n x n (with n=500) matrix A over ZZ with random entries
315+
Given an n x n (with n=750) matrix A over ZZ with random entries
307316
between min=-9 and max=9, inclusive, and v the first row of A,
308317
compute the product v * A 200 times.
309318
"""

0 commit comments

Comments
 (0)