Difference between revisions of "ApCoCoA-1:Num.SVD"
From ApCoCoAWiki
(Updated example. Use Dec to display result.) |
m (replaced <quotes> tag by real quotes) |
||
(6 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | <command> | + | {{Version|1}} |
+ | <command> | ||
<title>Num.SVD</title> | <title>Num.SVD</title> | ||
<short_description>Computes the singular value decomposition of a matrix.</short_description> | <short_description>Computes the singular value decomposition of a matrix.</short_description> | ||
Line 7: | Line 8: | ||
<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> | ||
Line 20: | Line 23: | ||
------------------------------- | ------------------------------- | ||
[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 35: | Line 38: | ||
</description> | </description> | ||
<seealso> | <seealso> | ||
− | <see>Introduction to CoCoAServer</see> | + | <see>ApCoCoA-1:Introduction to CoCoAServer|Introduction to CoCoAServer</see> |
− | <see>Num.QR</see> | + | <see>ApCoCoA-1:Num.QR|Num.QR</see> |
− | <see>Num.EigenValues</see> | + | <see>ApCoCoA-1:Num.SingularValues|Num.SingularValues</see> |
− | <see>Num.EigenValuesAndVectors</see> | + | <see>ApCoCoA-1:Num.EigenValues|Num.EigenValues</see> |
− | <see>Num.EigenValuesAndAllVectors</see> | + | <see>ApCoCoA-1:Num.EigenValuesAndVectors|Num.EigenValuesAndVectors</see> |
+ | <see>ApCoCoA-1:Num.EigenValuesAndAllVectors|Num.EigenValuesAndAllVectors</see> | ||
</seealso> | </seealso> | ||
<types> | <types> | ||
Line 48: | Line 52: | ||
<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> |
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