Module:Temperament data
Note: Do not invoke this module directly; use the corresponding template instead: Template:Temperament data.
local rat = require('Module:Rational')
local p = {}
local function matmul(a, b)
local result = {}
for i = 1, #a do
result[i] = {}
for j = 1, #(b[1]) do
result[i][j] = 0
for k = 1, #(a[1]) do
result[i][j] = result[i][j] + a[i][k] * b[k][j]
end
end
end
return result
end
local function moore_penrose_inverse(A)
-- Perform the singular value decomposition of A.
local U, S, V = svd(A)
-- Compute the pseudo-inverse of S.
local S_inv = torch.diag(torch.reciprocal(S + torch.zeros_like(S)))
-- Compute the Moore-Penrose inverse of A.
local A_inv = V * S_inv * U
return A_inv
end
local function get_cte_error()
end
return p