simEigen Plugin API reference

simEigen.pinv
simEigen.svd

simEigen.pinv

Description Pseudo-inverse. See https://eigen.tuxfamily.org/dox/classEigen_1_1CompleteOrthogonalDecomposition.html#ab5e8b3f2c7b602772e1f1d7ce63d446e for details.
Lua synopsis grid m, grid x = simEigen.pinv(grid m, grid b=nil, float damping=0)
Lua parameters
m (grid): input matrix
b (grid, default: nil): an optional vector to compute pinv(m)*b, which is more stable and efficient than right-multiplying the result by b
damping (float, default: 0): damping factor. if > 0 then it will return m'*(m*m'+damping^2*I)^-1
Lua return values
m (grid): pseudo-inverse of input matrix
x (grid): the result of pinv(m)*b if b has been specified
Python synopsis grid m, grid x = simEigen.pinv(grid m, grid b=nil, float damping=0)

simEigen.svd

Description SVD decomposition. See https://eigen.tuxfamily.org/dox/classEigen_1_1JacobiSVD.html for details.
Lua synopsis grid s, grid u, grid v, grid x = simEigen.svd(grid m, bool computeThinU=true, bool computeThinV=true, grid b=nil)
Lua parameters
m (grid): input matrix
computeThinU (bool, default: true):
computeThinV (bool, default: true):
b (grid, default: nil): an optional vector to solve for x the system m*x=b
Lua return values
s (grid): singular values as a m-by-1 matrix
u (grid): U matrix (left singular vectors)
v (grid): V matrix (right singular vectors)
x (grid): the x solution if b has been specified
Python synopsis grid s, grid u, grid v, grid x = simEigen.svd(grid m, bool computeThinU=true, bool computeThinV=true, grid b=nil)