性能测试
这里测试两个线性代数方法:
- solve,求解线性方程组
- mul,矩阵乘法
测试矩阵大小从\(10 \times 10\)到\(5000 \times 5000\)

local print = require('package.print').print
local plt = require('package.plot')
local mol = libminoptlab
local dim = {}
local t1,t2 = {},{}
local mindim,maxdim,step =10,5000,10
for n = mindim,maxdim,step do
local A = mol.matrix.rand(n,n)
local b = mol.matrix.rand(n,1)
local T1 = mol.clock.new()
local x = A:solve(b)
table.insert(t1,T1:get())
local T2 = mol.clock.new()
local C = A:mul(A)
table.insert(t2,T2:get())
table.insert(dim,n)
mol.gc()
end
local img1 = plt.line({{dim,t1}},{'solve'})
local img2 = plt.line({{dim,t2}},{'mul'})
local fw = plt.framework(111,'性能测试',{'dim','t'})
plt.show({{fw,{img1,img2}}})