Matrix chain multiplication: Difference between revisions

m
Line 161:
print(a)
print()
print("function time cost cost parens ")
print("-" * 90)
for f in [optim1, optim2, optim3]:
Line 167:
s, u = f(a)
t2 = time.clock()
print("%s %10.3f %d10d %s" % (f.__name__, 1000 * (t2 - t1), s, u))
print()</lang>
 
Line 175:
[1, 5, 25, 30, 100, 70, 2, 1, 100, 250, 1, 1000, 2]
 
function time cost cost parens
------------------------------------------------------------------------------------------
optim1 834838.852636 38120 [[[[[[[[0, 1], 2], 3], 4], 5], 6], [7, [8, 9]]], [10, 11]]
optim2 80.370628 38120 [[[[[[[[0, 1], 2], 3], 4], 5], 6], [7, [8, 9]]], [10, 11]]
optim3 0.497373 38120 [[[[[[[[0, 1], 2], 3], 4], 5], 6], [7, [8, 9]]], [10, 11]]
 
[1000, 1, 500, 12, 1, 700, 2500, 3, 2, 5, 14, 10]
 
function time cost cost parens
------------------------------------------------------------------------------------------
optim1 223.155186 1773740 [0, [[[[[[1, 2], 3], [[[4, 5], 6], 7]], 8], 9], 10]]
optim2 27.448660 1773740 [0, [[[[[[1, 2], 3], [[[4, 5], 6], 7]], 8], 9], 10]]
optim3 0.305307 1773740 [0, [[[[[[1, 2], 3], [[[4, 5], 6], 7]], 8], 9], 10]]
</pre>
1,336

edits