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)
|
|