Difference between revisions of "ApCoCoA-1:Num.SVD"
From ApCoCoAWiki
Line 7: | Line 7: | ||
<description> | <description> | ||
<em>Please note:</em> The function(s) explained on this page is/are using the <em>ApCoCoAServer</em>. You will have to start the ApCoCoAServer in order to use it/them. | <em>Please note:</em> The function(s) explained on this page is/are using the <em>ApCoCoAServer</em>. You will have to start the ApCoCoAServer in order to use it/them. | ||
+ | <par/> | ||
+ | This command computes the singular value decomposition of the given matrix <tt>A</tt>. Let <tt>A</tt> be a <tt>(m x n)</tt> matrix. Then <tt>A</tt> is decomposed into the product of an orthogonal <tt>(m x m)</tt> matrix <tt>U</tt>, a transposed matrix <tt>VT</tt> of an orthogonal <tt>(n x n)</tt> matrix <tt>V</tt> and a real <tt>(m x n)</tt> matrix <tt>S</tt>, which contains the singular values of the matrix <tt>A</tt>. | ||
<itemize> | <itemize> | ||
<item>@param <em>A</em> The matrix we want to decompose.</item> | <item>@param <em>A</em> The matrix we want to decompose.</item> | ||
− | <item>@return | + | <item>@return A list of three matrices <tt>[U, S, VT]</tt> such that <tt>A=U*S*VT</tt>.</item> |
</itemize> | </itemize> | ||
Revision as of 12:10, 8 July 2009
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