Difference between revisions of "ApCoCoA-1:Num.SVD"
From ApCoCoAWiki
m |
m (replaced <quotes> tag by real quotes) |
||
(23 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{Version|1}} | |
− | <title> | + | <command> |
− | <short_description> | + | <title>Num.SVD</title> |
+ | <short_description>Computes the singular value decomposition of a matrix.</short_description> | ||
<syntax> | <syntax> | ||
− | + | Num.SVD(A:MAT):[U:MAT,S:MAT,VT:MAT] | |
</syntax> | </syntax> | ||
<description> | <description> | ||
− | This | + | <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> | ||
+ | <item>@param <em>A</em> The matrix we want to decompose.</item> | ||
+ | <item>@return A list of three matrices <tt>[U, S, VT]</tt> such that <tt>A=U*S*VT</tt>.</item> | ||
+ | </itemize> | ||
<example> | <example> | ||
− | D:= | + | D:=[[1,2,7,18],[2,4,9,12],[23,8,9,10]]; |
− | + | Dec(Num.SVD(D),3); | |
+ | |||
+ | -- CoCoAServer: computing Cpu Time = 0 | ||
------------------------------- | ------------------------------- | ||
[Mat([ | [Mat([ | ||
− | [- | + | ["-0.473", "-0.666", "-0.575"], |
− | + | ["-0.415", "-0.407", "0.813"], | |
− | [- | + | ["-0.776", "0.624", "-0.084"] |
− | [- | ||
]), Mat([ | ]), Mat([ | ||
− | [ | + | ["33.091", "17.047", "3.365"] |
]), Mat([ | ]), Mat([ | ||
− | [- | + | ["-0.579", "-0.266", "-0.424", "-0.642"], |
− | [- | + | ["0.755", "0.119", "-0.159", "-0.624"], |
− | [- | + | ["-0.265", "0.423", "0.750", "-0.431"], |
+ | ["-0.153", "0.857", "-0.480", "0.100"] | ||
])] | ])] | ||
------------------------------- | ------------------------------- | ||
Line 31: | Line 38: | ||
</description> | </description> | ||
<seealso> | <seealso> | ||
− | <see>Introduction to CoCoAServer</see> | + | <see>ApCoCoA-1:Introduction to CoCoAServer|Introduction to CoCoAServer</see> |
− | <see> | + | <see>ApCoCoA-1:Num.QR|Num.QR</see> |
− | <see> | + | <see>ApCoCoA-1:Num.SingularValues|Num.SingularValues</see> |
− | <see> | + | <see>ApCoCoA-1:Num.EigenValues|Num.EigenValues</see> |
− | <see> | + | <see>ApCoCoA-1:Num.EigenValuesAndVectors|Num.EigenValuesAndVectors</see> |
+ | <see>ApCoCoA-1:Num.EigenValuesAndAllVectors|Num.EigenValuesAndAllVectors</see> | ||
</seealso> | </seealso> | ||
<types> | <types> | ||
− | <type> | + | <type>apcocoaserver</type> |
+ | <type>matrix</type> | ||
</types> | </types> | ||
− | |||
<key>numerical.svd</key> | <key>numerical.svd</key> | ||
− | <key> | + | <key>svd</key> |
− | <wiki-category> | + | <key>num.svd</key> |
+ | <wiki-category>ApCoCoA-1:Package_numerical</wiki-category> | ||
</command> | </command> |
Latest revision as of 13:48, 29 October 2020
This article is about a function from ApCoCoA-1. |
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([ ["-0.473", "-0.666", "-0.575"], ["-0.415", "-0.407", "0.813"], ["-0.776", "0.624", "-0.084"] ]), Mat([ ["33.091", "17.047", "3.365"] ]), Mat([ ["-0.579", "-0.266", "-0.424", "-0.642"], ["0.755", "0.119", "-0.159", "-0.624"], ["-0.265", "0.423", "0.750", "-0.431"], ["-0.153", "0.857", "-0.480", "0.100"] ])] -------------------------------
See also