Module:Temperament data: Difference between revisions
CompactStar (talk | contribs) No edit summary |
CompactStar (talk | contribs) No edit summary |
||
| Line 24: | Line 24: | ||
result[i] = {} | result[i] = {} | ||
for j = 1, #(b[1]) do | for j = 1, #(b[1]) do | ||
result[i][j] = | result[i][j] = cadd(a[i][j], b[i][j]) | ||
end | |||
end | |||
return result | |||
end | |||
local function matsub(a, b) | |||
local result = {} | |||
for i = 1, #a do | |||
result[i] = {} | |||
for j = 1, #(b[1]) do | |||
result[i][j] = csub(a[i][j], b[i][j]) | |||
end | end | ||
end | end | ||
| Line 39: | Line 50: | ||
result[i][j] = cadd(result[i][j], cmul(a[i][k], b[k][j])) | result[i][j] = cadd(result[i][j], cmul(a[i][k], b[k][j])) | ||
end | end | ||
end | |||
end | |||
return result | |||
end | |||
local function scalarmatmul(a, b) | |||
local result = {} | |||
for i = 1, #a do | |||
result[i] = {} | |||
for j = 1, #(a[1]) do | |||
result[i][j] = cmul(a[i][j], b) | |||
end | end | ||
end | end | ||
| Line 45: | Line 68: | ||
local function matinv(a) | local function matinv(a) | ||
xk = {} | |||
for i = 1, #a do | |||
xk[i] = {} | |||
for j = 1, #(a[1]) do | |||
xk[i][j] = {math.random(), math.random()} | |||
end | |||
end | |||
for i = 1, 15 do | |||
xk = matsub(scalarmatmul({2,0}, xk), matmul(xk, axk)) | |||
end | |||
return xk | |||
end | end | ||
return p | return p | ||