Difference between revisions of "ApCoCoA-1:Num.SVD"
From ApCoCoAWiki
(Added reference to SingularValues) |
m (Bot: Category moved) |
||
Line 51: | Line 51: | ||
<key>svd</key> | <key>svd</key> | ||
<key>num.svd</key> | <key>num.svd</key> | ||
− | <wiki-category>Package_numerical</wiki-category> | + | <wiki-category>ApCoCoA-1:Package_numerical</wiki-category> |
</command> | </command> |
Revision as of 16:36, 2 October 2020
Num.SVD
Computes the singular value decomposition of a matrix.
Syntax
Num.SVD(A:MAT):[U:MAT,S:MAT,VT:MAT]
Description
Please note: The function(s) explained on this page is/are using the ApCoCoAServer. You will have to start the ApCoCoAServer in order to use it/them.
This command computes the singular value decomposition of the given matrix A. Let A be a (m x n) matrix. Then A is decomposed into the product of an orthogonal (m x m) matrix U, a transposed matrix VT of an orthogonal (n x n) matrix V and a real (m x n) matrix S, which contains the singular values of the matrix A.
@param A The matrix we want to decompose.
@return A list of three matrices [U, S, VT] such that A=U*S*VT.
Example
D:=[[1,2,7,18],[2,4,9,12],[23,8,9,10]]; Dec(Num.SVD(D),3); -- CoCoAServer: computing Cpu Time = 0 ------------------------------- [Mat([ [<quotes>-0.473</quotes>, <quotes>-0.666</quotes>, <quotes>-0.575</quotes>], [<quotes>-0.415</quotes>, <quotes>-0.407</quotes>, <quotes>0.813</quotes>], [<quotes>-0.776</quotes>, <quotes>0.624</quotes>, <quotes>-0.084</quotes>] ]), Mat([ [<quotes>33.091</quotes>, <quotes>17.047</quotes>, <quotes>3.365</quotes>] ]), Mat([ [<quotes>-0.579</quotes>, <quotes>-0.266</quotes>, <quotes>-0.424</quotes>, <quotes>-0.642</quotes>], [<quotes>0.755</quotes>, <quotes>0.119</quotes>, <quotes>-0.159</quotes>, <quotes>-0.624</quotes>], [<quotes>-0.265</quotes>, <quotes>0.423</quotes>, <quotes>0.750</quotes>, <quotes>-0.431</quotes>], [<quotes>-0.153</quotes>, <quotes>0.857</quotes>, <quotes>-0.480</quotes>, <quotes>0.100</quotes>] ])] -------------------------------
See also