初次测试【lua】
require("sci")
require("luaunit")
function sweep (a, k)
local ck = a:col(k)
local b = ck:copy()
local ak, d = a[k], b[k]
ak:div(d, false, true) -- a[k] = a[k] / b[k], in-place
for i = 1, #a do
if i ~= k then
a[i]:add(ak, -b[i], true) -- a[i] = a[i] - b[i] * a[k], in-place
end
end
ck._ = b:div(-d, false, true) -- ck = b, b = -b / d in-place
ck[k] = 1 / d
return a
end
function sweep1 (a, k)
local ck = a:col(k)
local b = ck:copy()
local ak, d = a[k], b[k]
ak = ak / d
for i = 1, #a do
if i ~= k then
a[i]:add(ak, -b[i]) -- a[i] = a[i] - ak * b[i]
end
end
ck._ = b / (-d) -- equivalent to ck:set(b / (-d))
ck[k] = 1 / d
return a
end
a = matrix.ones(1,2)
a = matrix.add(a,a)
b = matrix({{2,2},{2,2}})
e = b:col(1)
f = b:copy()
local ak,bk = b[1],f[1]
ak:div(bk,false,true);
--
sweep(b,1)
index = {1,2}
v = b[index[1]]
v = matrix.get(b,{1,2,3})
b["1"] = 11;
print(type(-math.huge))
print(0-math.huge)
if -math.huge ==-math.huge then
print("ok")
else
print("err")
end
print(type(matrix({1,23})))
function output(array,n)
for i=1,n do
print(" "..array[i]);
end
end
local a = {1,2,3}
local b = a.copy()
b[1]=45
output(a,3)
output(b,3)

浙公网安备 33010602011771号