初次测试【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)

 

 

posted @ 2012-07-03 15:22  此人极帅  阅读(171)  评论(0)    收藏  举报