1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
---|
2 | <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> |
---|
3 | <title>mixpp: Matrix Decompositions</title> |
---|
4 | <link href="tabs.css" rel="stylesheet" type="text/css"> |
---|
5 | <link href="doxygen.css" rel="stylesheet" type="text/css"> |
---|
6 | </head><body> |
---|
7 | <!-- Generated by Doxygen 1.5.8 --> |
---|
8 | <script type="text/javascript"> |
---|
9 | <!-- |
---|
10 | function changeDisplayState (e){ |
---|
11 | var num=this.id.replace(/[^[0-9]/g,''); |
---|
12 | var button=this.firstChild; |
---|
13 | var sectionDiv=document.getElementById('dynsection'+num); |
---|
14 | if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){ |
---|
15 | sectionDiv.style.display='block'; |
---|
16 | button.src='open.gif'; |
---|
17 | }else{ |
---|
18 | sectionDiv.style.display='none'; |
---|
19 | button.src='closed.gif'; |
---|
20 | } |
---|
21 | } |
---|
22 | function initDynSections(){ |
---|
23 | var divs=document.getElementsByTagName('div'); |
---|
24 | var sectionCounter=1; |
---|
25 | for(var i=0;i<divs.length-1;i++){ |
---|
26 | if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){ |
---|
27 | var header=divs[i]; |
---|
28 | var section=divs[i+1]; |
---|
29 | var button=header.firstChild; |
---|
30 | if (button!='IMG'){ |
---|
31 | divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild); |
---|
32 | button=document.createElement('img'); |
---|
33 | divs[i].insertBefore(button,divs[i].firstChild); |
---|
34 | } |
---|
35 | header.style.cursor='pointer'; |
---|
36 | header.onclick=changeDisplayState; |
---|
37 | header.id='dynheader'+sectionCounter; |
---|
38 | button.src='closed.gif'; |
---|
39 | section.id='dynsection'+sectionCounter; |
---|
40 | section.style.display='none'; |
---|
41 | section.style.marginLeft='14px'; |
---|
42 | sectionCounter++; |
---|
43 | } |
---|
44 | } |
---|
45 | } |
---|
46 | window.onload = initDynSections; |
---|
47 | --> |
---|
48 | </script> |
---|
49 | <div class="navigation" id="top"> |
---|
50 | <div class="tabs"> |
---|
51 | <ul> |
---|
52 | <li><a href="main.html"><span>Main Page</span></a></li> |
---|
53 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
---|
54 | <li><a href="modules.html"><span>Modules</span></a></li> |
---|
55 | <li><a href="annotated.html"><span>Classes</span></a></li> |
---|
56 | <li><a href="files.html"><span>Files</span></a></li> |
---|
57 | </ul> |
---|
58 | </div> |
---|
59 | </div> |
---|
60 | <div class="contents"> |
---|
61 | <h1>Matrix Decompositions<br> |
---|
62 | <small> |
---|
63 | [<a class="el" href="group__algebra.html">Linear Algebra</a>]</small> |
---|
64 | </h1><table border="0" cellpadding="0" cellspacing="0"> |
---|
65 | <tr><td></td></tr> |
---|
66 | <tr><td colspan="2"><br><h2>Functions</h2></td></tr> |
---|
67 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g4d631e12d5d0079f7f75ee4f6451043e">itpp::chol</a> (const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &X, <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &F)</td></tr> |
---|
68 | |
---|
69 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Cholesky factorisation of real symmetric and positive definite matrix. <a href="#g4d631e12d5d0079f7f75ee4f6451043e"></a><br></td></tr> |
---|
70 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g8aa42136e884519422d4f2dd95e51cb5">itpp::chol</a> (const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &X)</td></tr> |
---|
71 | |
---|
72 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Cholesky factorisation of real symmetric and positive definite matrix. <a href="#g8aa42136e884519422d4f2dd95e51cb5"></a><br></td></tr> |
---|
73 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g217ccba3338767ac64ad1b2465b76029">itpp::chol</a> (const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &X, <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &F)</td></tr> |
---|
74 | |
---|
75 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Cholesky factorisation of complex hermitian and positive-definite matrix. <a href="#g217ccba3338767ac64ad1b2465b76029"></a><br></td></tr> |
---|
76 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g976aa7781da316c23ea0aad3af2511d8">itpp::chol</a> (const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &X)</td></tr> |
---|
77 | |
---|
78 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Cholesky factorisation of complex hermitian and positive-definite matrix. <a href="#g976aa7781da316c23ea0aad3af2511d8"></a><br></td></tr> |
---|
79 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g05eced45f3e27b8f60ffa422f02856df">itpp::eig_sym</a> (const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &A, <a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> &d, <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &V)</td></tr> |
---|
80 | |
---|
81 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates the eigenvalues and eigenvectors of a symmetric real matrix. <a href="#g05eced45f3e27b8f60ffa422f02856df"></a><br></td></tr> |
---|
82 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g282eeffd56bf6ac0fb3e8efedb755cee">itpp::eig_sym</a> (const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &A, <a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> &d)</td></tr> |
---|
83 | |
---|
84 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates the eigenvalues of a symmetric real matrix. <a href="#g282eeffd56bf6ac0fb3e8efedb755cee"></a><br></td></tr> |
---|
85 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#gebf551d77c5738033d081e35e7cd9cb6">itpp::eig_sym</a> (const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &A)</td></tr> |
---|
86 | |
---|
87 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates the eigenvalues of a symmetric real matrix. <a href="#gebf551d77c5738033d081e35e7cd9cb6"></a><br></td></tr> |
---|
88 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g40bacb19d51c45a59837ab38f04dabef">itpp::eig_sym</a> (const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &A, <a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> &d, <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &V)</td></tr> |
---|
89 | |
---|
90 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates the eigenvalues and eigenvectors of a hermitian complex matrix. <a href="#g40bacb19d51c45a59837ab38f04dabef"></a><br></td></tr> |
---|
91 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g89faa81cc5408f5e1452d5fec9fea473">itpp::eig_sym</a> (const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &A, <a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> &d)</td></tr> |
---|
92 | |
---|
93 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates the eigenvalues of a hermitian complex matrix. <a href="#g89faa81cc5408f5e1452d5fec9fea473"></a><br></td></tr> |
---|
94 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g6dc61c925d40d736effa9dcbe7912df1">itpp::eig_sym</a> (const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &A)</td></tr> |
---|
95 | |
---|
96 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates the eigenvalues of a hermitian complex matrix. <a href="#g6dc61c925d40d736effa9dcbe7912df1"></a><br></td></tr> |
---|
97 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#gdc7223ef54536dfc36d3e183468297b8">itpp::eig</a> (const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &A, <a class="el" href="classitpp_1_1Vec.html#e83c1408740e41a7e29c383b71d4d544">cvec</a> &d, <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &V)</td></tr> |
---|
98 | |
---|
99 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates the eigenvalues and eigenvectors of a real non-symmetric matrix. <a href="#gdc7223ef54536dfc36d3e183468297b8"></a><br></td></tr> |
---|
100 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#ga4e8c2f66e19625dc7c1d15a04cf9e63">itpp::eig</a> (const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &A, <a class="el" href="classitpp_1_1Vec.html#e83c1408740e41a7e29c383b71d4d544">cvec</a> &d)</td></tr> |
---|
101 | |
---|
102 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates the eigenvalues of a real non-symmetric matrix. <a href="#ga4e8c2f66e19625dc7c1d15a04cf9e63"></a><br></td></tr> |
---|
103 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Vec.html#e83c1408740e41a7e29c383b71d4d544">cvec</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g7c9a5795e0c4e8e406977a95525557ba">itpp::eig</a> (const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &A)</td></tr> |
---|
104 | |
---|
105 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates the eigenvalues of a real non-symmetric matrix. <a href="#g7c9a5795e0c4e8e406977a95525557ba"></a><br></td></tr> |
---|
106 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g8be5168b8699ab6772d2c24c183b5b44">itpp::eig</a> (const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &A, <a class="el" href="classitpp_1_1Vec.html#e83c1408740e41a7e29c383b71d4d544">cvec</a> &d, <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &V)</td></tr> |
---|
107 | |
---|
108 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates the eigenvalues and eigenvectors of a complex non-hermitian matrix. <a href="#g8be5168b8699ab6772d2c24c183b5b44"></a><br></td></tr> |
---|
109 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#gb874193ee0377616736ba5895a13dcab">itpp::eig</a> (const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &A, <a class="el" href="classitpp_1_1Vec.html#e83c1408740e41a7e29c383b71d4d544">cvec</a> &d)</td></tr> |
---|
110 | |
---|
111 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates the eigenvalues of a complex non-hermitian matrix. <a href="#gb874193ee0377616736ba5895a13dcab"></a><br></td></tr> |
---|
112 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Vec.html#e83c1408740e41a7e29c383b71d4d544">cvec</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#gffe65e88bce986d9ff527b06d573e4b7">itpp::eig</a> (const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &A)</td></tr> |
---|
113 | |
---|
114 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates the eigenvalues of a complex non-hermitian matrix. <a href="#gffe65e88bce986d9ff527b06d573e4b7"></a><br></td></tr> |
---|
115 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g470eed4741289d81759d441e316f92f0">itpp::lu</a> (const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &X, <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &L, <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &U, <a class="el" href="classitpp_1_1Vec.html#b03757d874926a9be91535e71af1656e">ivec</a> &p)</td></tr> |
---|
116 | |
---|
117 | <tr><td class="mdescLeft"> </td><td class="mdescRight">LU factorisation of real matrix. <a href="#g470eed4741289d81759d441e316f92f0"></a><br></td></tr> |
---|
118 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g9912a15ea024f75442720c1bf3b5dac1">itpp::lu</a> (const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &X, <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &L, <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &U, <a class="el" href="classitpp_1_1Vec.html#b03757d874926a9be91535e71af1656e">ivec</a> &p)</td></tr> |
---|
119 | |
---|
120 | <tr><td class="mdescLeft"> </td><td class="mdescRight">LU factorisation of real matrix. <a href="#g9912a15ea024f75442720c1bf3b5dac1"></a><br></td></tr> |
---|
121 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2d3af51d172dd39a7f8a631a17120057"></a><!-- doxytag: member="matrixdecomp::interchange_permutations" ref="g2d3af51d172dd39a7f8a631a17120057" args="(vec &b, const ivec &p)" --> |
---|
122 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g2d3af51d172dd39a7f8a631a17120057">itpp::interchange_permutations</a> (<a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> &b, const <a class="el" href="classitpp_1_1Vec.html#b03757d874926a9be91535e71af1656e">ivec</a> &p)</td></tr> |
---|
123 | |
---|
124 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Makes swapping of vector b according to the interchange permutation vector p. <br></td></tr> |
---|
125 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb6e7ba47c63173084cf0cb6bebbff508"></a><!-- doxytag: member="matrixdecomp::permutation_matrix" ref="gb6e7ba47c63173084cf0cb6bebbff508" args="(const ivec &p)" --> |
---|
126 | <a class="el" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69">bmat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#gb6e7ba47c63173084cf0cb6bebbff508">itpp::permutation_matrix</a> (const <a class="el" href="classitpp_1_1Vec.html#b03757d874926a9be91535e71af1656e">ivec</a> &p)</td></tr> |
---|
127 | |
---|
128 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Make permutation matrix P from the interchange permutation vector p. <br></td></tr> |
---|
129 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g9e565beb0ca5841655a5ac3700821e2c">itpp::qr</a> (const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &A, <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &Q, <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &R)</td></tr> |
---|
130 | |
---|
131 | <tr><td class="mdescLeft"> </td><td class="mdescRight">QR factorisation of real matrix. <a href="#g9e565beb0ca5841655a5ac3700821e2c"></a><br></td></tr> |
---|
132 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#gbd50eeb4508aaf4b7296f3a904458886">itpp::qr</a> (const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &A, <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &R)</td></tr> |
---|
133 | |
---|
134 | <tr><td class="mdescLeft"> </td><td class="mdescRight">QR factorisation of real matrix with suppressed evaluation of Q. <a href="#gbd50eeb4508aaf4b7296f3a904458886"></a><br></td></tr> |
---|
135 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g83c28d9b53d73b1d9527cf14341637ff">itpp::qr</a> (const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &A, <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &Q, <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &R, <a class="el" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69">bmat</a> &P)</td></tr> |
---|
136 | |
---|
137 | <tr><td class="mdescLeft"> </td><td class="mdescRight">QR factorisation of real matrix with pivoting. <a href="#g83c28d9b53d73b1d9527cf14341637ff"></a><br></td></tr> |
---|
138 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g321c23bad4ec43d1111f405587a9ffa2">itpp::qr</a> (const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &A, <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &Q, <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &R)</td></tr> |
---|
139 | |
---|
140 | <tr><td class="mdescLeft"> </td><td class="mdescRight">QR factorisation of a complex matrix. <a href="#g321c23bad4ec43d1111f405587a9ffa2"></a><br></td></tr> |
---|
141 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g1a880a8a274c14e51482293181b1a10e">itpp::qr</a> (const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &A, <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &R)</td></tr> |
---|
142 | |
---|
143 | <tr><td class="mdescLeft"> </td><td class="mdescRight">QR factorisation of complex matrix with suppressed evaluation of Q. <a href="#g1a880a8a274c14e51482293181b1a10e"></a><br></td></tr> |
---|
144 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#gdb3c49c28626013e0679b2ce088b8d70">itpp::qr</a> (const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &A, <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &Q, <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &R, <a class="el" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69">bmat</a> &P)</td></tr> |
---|
145 | |
---|
146 | <tr><td class="mdescLeft"> </td><td class="mdescRight">QR factorisation of a complex matrix with pivoting. <a href="#gdb3c49c28626013e0679b2ce088b8d70"></a><br></td></tr> |
---|
147 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#ga0c6711c11ece9641878d3ab19f39d33">itpp::schur</a> (const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &A, <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &U, <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &T)</td></tr> |
---|
148 | |
---|
149 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Schur decomposition of a real matrix. <a href="#ga0c6711c11ece9641878d3ab19f39d33"></a><br></td></tr> |
---|
150 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g5a511c9baeb36e803a006b3172848800">itpp::schur</a> (const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &A)</td></tr> |
---|
151 | |
---|
152 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Schur decomposition of a real matrix. <a href="#g5a511c9baeb36e803a006b3172848800"></a><br></td></tr> |
---|
153 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#gcdfbe918727616dbc8eda854c4bf0cc4">itpp::schur</a> (const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &A, <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &U, <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &T)</td></tr> |
---|
154 | |
---|
155 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Schur decomposition of a complex matrix. <a href="#gcdfbe918727616dbc8eda854c4bf0cc4"></a><br></td></tr> |
---|
156 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#gd1d1f3ad1c35dee4ded80cc86c5961cc">itpp::schur</a> (const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &A)</td></tr> |
---|
157 | |
---|
158 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Schur decomposition of a complex matrix. <a href="#gd1d1f3ad1c35dee4ded80cc86c5961cc"></a><br></td></tr> |
---|
159 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g9fcc7191c3cee4db65e51d93123c7fba">itpp::svd</a> (const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &A, <a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> &s)</td></tr> |
---|
160 | |
---|
161 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get singular values <code>s</code> of a real matrix <code>A</code> using SVD. <a href="#g9fcc7191c3cee4db65e51d93123c7fba"></a><br></td></tr> |
---|
162 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g92dd138100c619c71ba24b3dae0dec72">itpp::svd</a> (const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &A, <a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> &s)</td></tr> |
---|
163 | |
---|
164 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Get singular values <code>s</code> of a complex matrix <code>A</code> using SVD. <a href="#g92dd138100c619c71ba24b3dae0dec72"></a><br></td></tr> |
---|
165 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#ge3b83ff6532c19ec15ffe76450b70e2c">itpp::svd</a> (const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &A)</td></tr> |
---|
166 | |
---|
167 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Return singular values of a real matrix <code>A</code> using SVD. <a href="#ge3b83ff6532c19ec15ffe76450b70e2c"></a><br></td></tr> |
---|
168 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#ga53763a60632139d71957ea7cf0080c9">itpp::svd</a> (const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &A)</td></tr> |
---|
169 | |
---|
170 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Return singular values of a complex matrix <code>A</code> using SVD. <a href="#ga53763a60632139d71957ea7cf0080c9"></a><br></td></tr> |
---|
171 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g908131485c5c53ed2e84e2f0a258db8c">itpp::svd</a> (const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &A, <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &U, <a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> &s, <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> &V)</td></tr> |
---|
172 | |
---|
173 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Perform Singular Value Decomposition (SVD) of a real matrix <code>A</code>. <a href="#g908131485c5c53ed2e84e2f0a258db8c"></a><br></td></tr> |
---|
174 | <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__matrixdecomp.html#g98a4dc87128a758f82ed05d7b060958b">itpp::svd</a> (const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &A, <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &U, <a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> &s, <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> &V)</td></tr> |
---|
175 | |
---|
176 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Perform Singular Value Decomposition (SVD) of a complex matrix <code>A</code>. <a href="#g98a4dc87128a758f82ed05d7b060958b"></a><br></td></tr> |
---|
177 | </table> |
---|
178 | <hr><h2>Function Documentation</h2> |
---|
179 | <a class="anchor" name="g976aa7781da316c23ea0aad3af2511d8"></a><!-- doxytag: member="itpp::chol" ref="g976aa7781da316c23ea0aad3af2511d8" args="(const cmat &X)" --> |
---|
180 | <div class="memitem"> |
---|
181 | <div class="memproto"> |
---|
182 | <table class="memname"> |
---|
183 | <tr> |
---|
184 | <td class="memname"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> itpp::chol </td> |
---|
185 | <td>(</td> |
---|
186 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
187 | <td class="paramname"> <em>X</em> </td> |
---|
188 | <td> ) </td> |
---|
189 | <td></td> |
---|
190 | </tr> |
---|
191 | </table> |
---|
192 | </div> |
---|
193 | <div class="memdoc"> |
---|
194 | |
---|
195 | <p> |
---|
196 | Cholesky factorisation of complex hermitian and positive-definite matrix. |
---|
197 | <p> |
---|
198 | The Cholesky factorisation of a hermitian positive-definite matrix <img class="formulaInl" alt="$\mathbf{X}$" src="form_125.png"> of size <img class="formulaInl" alt="$n \times n$" src="form_126.png"> is given by <p class="formulaDsp"> |
---|
199 | <img class="formulaDsp" alt="\[ \mathbf{X} = \mathbf{F}^H \mathbf{F} \]" src="form_129.png"> |
---|
200 | <p> |
---|
201 | where <img class="formulaInl" alt="$\mathbf{F}$" src="form_128.png"> is an upper triangular <img class="formulaInl" alt="$n \times n$" src="form_126.png"> matrix. |
---|
202 | <p>References <a class="el" href="cholesky_8cpp-source.html#l00111">itpp::chol()</a>, and <a class="el" href="itassert_8h-source.html#l00173">it_warning</a>.</p> |
---|
203 | |
---|
204 | </div> |
---|
205 | </div><p> |
---|
206 | <a class="anchor" name="g217ccba3338767ac64ad1b2465b76029"></a><!-- doxytag: member="itpp::chol" ref="g217ccba3338767ac64ad1b2465b76029" args="(const cmat &X, cmat &F)" --> |
---|
207 | <div class="memitem"> |
---|
208 | <div class="memproto"> |
---|
209 | <table class="memname"> |
---|
210 | <tr> |
---|
211 | <td class="memname">bool itpp::chol </td> |
---|
212 | <td>(</td> |
---|
213 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
214 | <td class="paramname"> <em>X</em>, </td> |
---|
215 | </tr> |
---|
216 | <tr> |
---|
217 | <td class="paramkey"></td> |
---|
218 | <td></td> |
---|
219 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
220 | <td class="paramname"> <em>F</em></td><td> </td> |
---|
221 | </tr> |
---|
222 | <tr> |
---|
223 | <td></td> |
---|
224 | <td>)</td> |
---|
225 | <td></td><td></td><td></td> |
---|
226 | </tr> |
---|
227 | </table> |
---|
228 | </div> |
---|
229 | <div class="memdoc"> |
---|
230 | |
---|
231 | <p> |
---|
232 | Cholesky factorisation of complex hermitian and positive-definite matrix. |
---|
233 | <p> |
---|
234 | The Cholesky factorisation of a hermitian positive-definite matrix <img class="formulaInl" alt="$\mathbf{X}$" src="form_125.png"> of size <img class="formulaInl" alt="$n \times n$" src="form_126.png"> is given by <p class="formulaDsp"> |
---|
235 | <img class="formulaDsp" alt="\[ \mathbf{X} = \mathbf{F}^H \mathbf{F} \]" src="form_129.png"> |
---|
236 | <p> |
---|
237 | where <img class="formulaInl" alt="$\mathbf{F}$" src="form_128.png"> is an upper triangular <img class="formulaInl" alt="$n \times n$" src="form_126.png"> matrix.<p> |
---|
238 | Returns true if calculation succeeded. False otherwise.<p> |
---|
239 | If <code>X</code> is positive definite, true is returned and <code>F=chol</code>(X) produces an upper triangular <code>F</code>. If also <code>X</code> is symmetric then <code>F'*F</code> = X. If <code>X</code> is not positive definite, false is returned. |
---|
240 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
241 | |
---|
242 | </div> |
---|
243 | </div><p> |
---|
244 | <a class="anchor" name="g8aa42136e884519422d4f2dd95e51cb5"></a><!-- doxytag: member="itpp::chol" ref="g8aa42136e884519422d4f2dd95e51cb5" args="(const mat &X)" --> |
---|
245 | <div class="memitem"> |
---|
246 | <div class="memproto"> |
---|
247 | <table class="memname"> |
---|
248 | <tr> |
---|
249 | <td class="memname"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> itpp::chol </td> |
---|
250 | <td>(</td> |
---|
251 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
252 | <td class="paramname"> <em>X</em> </td> |
---|
253 | <td> ) </td> |
---|
254 | <td></td> |
---|
255 | </tr> |
---|
256 | </table> |
---|
257 | </div> |
---|
258 | <div class="memdoc"> |
---|
259 | |
---|
260 | <p> |
---|
261 | Cholesky factorisation of real symmetric and positive definite matrix. |
---|
262 | <p> |
---|
263 | The Cholesky factorisation of a real symmetric positive-definite matrix <img class="formulaInl" alt="$\mathbf{X}$" src="form_125.png"> of size <img class="formulaInl" alt="$n \times n$" src="form_126.png"> is given by <p class="formulaDsp"> |
---|
264 | <img class="formulaDsp" alt="\[ \mathbf{X} = \mathbf{F}^T \mathbf{F} \]" src="form_127.png"> |
---|
265 | <p> |
---|
266 | where <img class="formulaInl" alt="$\mathbf{F}$" src="form_128.png"> is an upper triangular <img class="formulaInl" alt="$n \times n$" src="form_126.png"> matrix. |
---|
267 | <p>References <a class="el" href="itassert_8h-source.html#l00173">it_warning</a>.</p> |
---|
268 | |
---|
269 | <p>Referenced by <a class="el" href="chmat_8h-source.html#l00059">chmat::chmat()</a>, <a class="el" href="cholesky_8cpp-source.html#l00101">itpp::chol()</a>, <a class="el" href="libDC_8cpp-source.html#l00046">ldmat::ldmat()</a>, and <a class="el" href="libDC_8h-source.html#l00159">fsqmat::sqrt_mult()</a>.</p> |
---|
270 | |
---|
271 | </div> |
---|
272 | </div><p> |
---|
273 | <a class="anchor" name="g4d631e12d5d0079f7f75ee4f6451043e"></a><!-- doxytag: member="itpp::chol" ref="g4d631e12d5d0079f7f75ee4f6451043e" args="(const mat &X, mat &F)" --> |
---|
274 | <div class="memitem"> |
---|
275 | <div class="memproto"> |
---|
276 | <table class="memname"> |
---|
277 | <tr> |
---|
278 | <td class="memname">bool itpp::chol </td> |
---|
279 | <td>(</td> |
---|
280 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
281 | <td class="paramname"> <em>X</em>, </td> |
---|
282 | </tr> |
---|
283 | <tr> |
---|
284 | <td class="paramkey"></td> |
---|
285 | <td></td> |
---|
286 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
287 | <td class="paramname"> <em>F</em></td><td> </td> |
---|
288 | </tr> |
---|
289 | <tr> |
---|
290 | <td></td> |
---|
291 | <td>)</td> |
---|
292 | <td></td><td></td><td></td> |
---|
293 | </tr> |
---|
294 | </table> |
---|
295 | </div> |
---|
296 | <div class="memdoc"> |
---|
297 | |
---|
298 | <p> |
---|
299 | Cholesky factorisation of real symmetric and positive definite matrix. |
---|
300 | <p> |
---|
301 | The Cholesky factorisation of a real symmetric positive-definite matrix <img class="formulaInl" alt="$\mathbf{X}$" src="form_125.png"> of size <img class="formulaInl" alt="$n \times n$" src="form_126.png"> is given by <p class="formulaDsp"> |
---|
302 | <img class="formulaDsp" alt="\[ \mathbf{X} = \mathbf{F}^T \mathbf{F} \]" src="form_127.png"> |
---|
303 | <p> |
---|
304 | where <img class="formulaInl" alt="$\mathbf{F}$" src="form_128.png"> is an upper triangular <img class="formulaInl" alt="$n \times n$" src="form_126.png"> matrix.<p> |
---|
305 | Returns true if calculation succeeded. False otherwise. |
---|
306 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
307 | |
---|
308 | </div> |
---|
309 | </div><p> |
---|
310 | <a class="anchor" name="gffe65e88bce986d9ff527b06d573e4b7"></a><!-- doxytag: member="itpp::eig" ref="gffe65e88bce986d9ff527b06d573e4b7" args="(const cmat &A)" --> |
---|
311 | <div class="memitem"> |
---|
312 | <div class="memproto"> |
---|
313 | <table class="memname"> |
---|
314 | <tr> |
---|
315 | <td class="memname"><a class="el" href="classitpp_1_1Vec.html#e83c1408740e41a7e29c383b71d4d544">cvec</a> itpp::eig </td> |
---|
316 | <td>(</td> |
---|
317 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
318 | <td class="paramname"> <em>A</em> </td> |
---|
319 | <td> ) </td> |
---|
320 | <td></td> |
---|
321 | </tr> |
---|
322 | </table> |
---|
323 | </div> |
---|
324 | <div class="memdoc"> |
---|
325 | |
---|
326 | <p> |
---|
327 | Calculates the eigenvalues of a complex non-hermitian matrix. |
---|
328 | <p> |
---|
329 | The Eigenvalues <img class="formulaInl" alt="$\mathbf{d}(d_0, d_1, \ldots, d_{n-1})$" src="form_132.png"> and the eigenvectors <img class="formulaInl" alt="$\mathbf{v}_i, \: i=0, \ldots, n-1$" src="form_133.png"> of the complex <img class="formulaInl" alt="$n \times n$" src="form_126.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> satisfies <p class="formulaDsp"> |
---|
330 | <img class="formulaDsp" alt="\[ \mathbf{A} \mathbf{v}_i = d_i \mathbf{v}_i\: i=0, \ldots, n-1. \]" src="form_135.png"> |
---|
331 | <p> |
---|
332 | <p> |
---|
333 | Uses the LAPACK routine ZGEEV. |
---|
334 | <p>Referenced by <a class="el" href="eigen_8cpp-source.html#l00318">itpp::eig()</a>, and <a class="el" href="poly_8cpp-source.html#l00066">itpp::roots()</a>.</p> |
---|
335 | |
---|
336 | </div> |
---|
337 | </div><p> |
---|
338 | <a class="anchor" name="gb874193ee0377616736ba5895a13dcab"></a><!-- doxytag: member="itpp::eig" ref="gb874193ee0377616736ba5895a13dcab" args="(const cmat &A, cvec &d)" --> |
---|
339 | <div class="memitem"> |
---|
340 | <div class="memproto"> |
---|
341 | <table class="memname"> |
---|
342 | <tr> |
---|
343 | <td class="memname">bool itpp::eig </td> |
---|
344 | <td>(</td> |
---|
345 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
346 | <td class="paramname"> <em>A</em>, </td> |
---|
347 | </tr> |
---|
348 | <tr> |
---|
349 | <td class="paramkey"></td> |
---|
350 | <td></td> |
---|
351 | <td class="paramtype"><a class="el" href="classitpp_1_1Vec.html#e83c1408740e41a7e29c383b71d4d544">cvec</a> & </td> |
---|
352 | <td class="paramname"> <em>d</em></td><td> </td> |
---|
353 | </tr> |
---|
354 | <tr> |
---|
355 | <td></td> |
---|
356 | <td>)</td> |
---|
357 | <td></td><td></td><td></td> |
---|
358 | </tr> |
---|
359 | </table> |
---|
360 | </div> |
---|
361 | <div class="memdoc"> |
---|
362 | |
---|
363 | <p> |
---|
364 | Calculates the eigenvalues of a complex non-hermitian matrix. |
---|
365 | <p> |
---|
366 | The Eigenvalues <img class="formulaInl" alt="$\mathbf{d}(d_0, d_1, \ldots, d_{n-1})$" src="form_132.png"> and the eigenvectors <img class="formulaInl" alt="$\mathbf{v}_i, \: i=0, \ldots, n-1$" src="form_133.png"> of the complex <img class="formulaInl" alt="$n \times n$" src="form_126.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> satisfies <p class="formulaDsp"> |
---|
367 | <img class="formulaDsp" alt="\[ \mathbf{A} \mathbf{v}_i = d_i \mathbf{v}_i\: i=0, \ldots, n-1. \]" src="form_135.png"> |
---|
368 | <p> |
---|
369 | True is returned if the calculation was successful. Otherwise false.<p> |
---|
370 | Uses the LAPACK routine ZGEEV. |
---|
371 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
372 | |
---|
373 | </div> |
---|
374 | </div><p> |
---|
375 | <a class="anchor" name="g8be5168b8699ab6772d2c24c183b5b44"></a><!-- doxytag: member="itpp::eig" ref="g8be5168b8699ab6772d2c24c183b5b44" args="(const cmat &A, cvec &d, cmat &V)" --> |
---|
376 | <div class="memitem"> |
---|
377 | <div class="memproto"> |
---|
378 | <table class="memname"> |
---|
379 | <tr> |
---|
380 | <td class="memname">bool itpp::eig </td> |
---|
381 | <td>(</td> |
---|
382 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
383 | <td class="paramname"> <em>A</em>, </td> |
---|
384 | </tr> |
---|
385 | <tr> |
---|
386 | <td class="paramkey"></td> |
---|
387 | <td></td> |
---|
388 | <td class="paramtype"><a class="el" href="classitpp_1_1Vec.html#e83c1408740e41a7e29c383b71d4d544">cvec</a> & </td> |
---|
389 | <td class="paramname"> <em>d</em>, </td> |
---|
390 | </tr> |
---|
391 | <tr> |
---|
392 | <td class="paramkey"></td> |
---|
393 | <td></td> |
---|
394 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
395 | <td class="paramname"> <em>V</em></td><td> </td> |
---|
396 | </tr> |
---|
397 | <tr> |
---|
398 | <td></td> |
---|
399 | <td>)</td> |
---|
400 | <td></td><td></td><td></td> |
---|
401 | </tr> |
---|
402 | </table> |
---|
403 | </div> |
---|
404 | <div class="memdoc"> |
---|
405 | |
---|
406 | <p> |
---|
407 | Calculates the eigenvalues and eigenvectors of a complex non-hermitian matrix. |
---|
408 | <p> |
---|
409 | The Eigenvalues <img class="formulaInl" alt="$\mathbf{d}(d_0, d_1, \ldots, d_{n-1})$" src="form_132.png"> and the eigenvectors <img class="formulaInl" alt="$\mathbf{v}_i, \: i=0, \ldots, n-1$" src="form_133.png"> of the complex <img class="formulaInl" alt="$n \times n$" src="form_126.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> satisfies <p class="formulaDsp"> |
---|
410 | <img class="formulaDsp" alt="\[ \mathbf{A} \mathbf{v}_i = d_i \mathbf{v}_i\: i=0, \ldots, n-1. \]" src="form_135.png"> |
---|
411 | <p> |
---|
412 | The eigenvectors are the columns of the matrix V. True is returned if the calculation was successful. Otherwise false.<p> |
---|
413 | Uses the LAPACK routine ZGEEV. |
---|
414 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
415 | |
---|
416 | </div> |
---|
417 | </div><p> |
---|
418 | <a class="anchor" name="g7c9a5795e0c4e8e406977a95525557ba"></a><!-- doxytag: member="itpp::eig" ref="g7c9a5795e0c4e8e406977a95525557ba" args="(const mat &A)" --> |
---|
419 | <div class="memitem"> |
---|
420 | <div class="memproto"> |
---|
421 | <table class="memname"> |
---|
422 | <tr> |
---|
423 | <td class="memname"><a class="el" href="classitpp_1_1Vec.html#e83c1408740e41a7e29c383b71d4d544">cvec</a> itpp::eig </td> |
---|
424 | <td>(</td> |
---|
425 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
426 | <td class="paramname"> <em>A</em> </td> |
---|
427 | <td> ) </td> |
---|
428 | <td></td> |
---|
429 | </tr> |
---|
430 | </table> |
---|
431 | </div> |
---|
432 | <div class="memdoc"> |
---|
433 | |
---|
434 | <p> |
---|
435 | Calculates the eigenvalues of a real non-symmetric matrix. |
---|
436 | <p> |
---|
437 | The Eigenvalues <img class="formulaInl" alt="$\mathbf{d}(d_0, d_1, \ldots, d_{n-1})$" src="form_132.png"> and the eigenvectors <img class="formulaInl" alt="$\mathbf{v}_i, \: i=0, \ldots, n-1$" src="form_133.png"> of the real <img class="formulaInl" alt="$n \times n$" src="form_126.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> satisfies <p class="formulaDsp"> |
---|
438 | <img class="formulaDsp" alt="\[ \mathbf{A} \mathbf{v}_i = d_i \mathbf{v}_i\: i=0, \ldots, n-1. \]" src="form_135.png"> |
---|
439 | <p> |
---|
440 | <p> |
---|
441 | Uses the LAPACK routine DGEEV. |
---|
442 | <p>References <a class="el" href="eigen_8cpp-source.html#l00325">itpp::eig()</a>.</p> |
---|
443 | |
---|
444 | </div> |
---|
445 | </div><p> |
---|
446 | <a class="anchor" name="ga4e8c2f66e19625dc7c1d15a04cf9e63"></a><!-- doxytag: member="itpp::eig" ref="ga4e8c2f66e19625dc7c1d15a04cf9e63" args="(const mat &A, cvec &d)" --> |
---|
447 | <div class="memitem"> |
---|
448 | <div class="memproto"> |
---|
449 | <table class="memname"> |
---|
450 | <tr> |
---|
451 | <td class="memname">bool itpp::eig </td> |
---|
452 | <td>(</td> |
---|
453 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
454 | <td class="paramname"> <em>A</em>, </td> |
---|
455 | </tr> |
---|
456 | <tr> |
---|
457 | <td class="paramkey"></td> |
---|
458 | <td></td> |
---|
459 | <td class="paramtype"><a class="el" href="classitpp_1_1Vec.html#e83c1408740e41a7e29c383b71d4d544">cvec</a> & </td> |
---|
460 | <td class="paramname"> <em>d</em></td><td> </td> |
---|
461 | </tr> |
---|
462 | <tr> |
---|
463 | <td></td> |
---|
464 | <td>)</td> |
---|
465 | <td></td><td></td><td></td> |
---|
466 | </tr> |
---|
467 | </table> |
---|
468 | </div> |
---|
469 | <div class="memdoc"> |
---|
470 | |
---|
471 | <p> |
---|
472 | Calculates the eigenvalues of a real non-symmetric matrix. |
---|
473 | <p> |
---|
474 | The Eigenvalues <img class="formulaInl" alt="$\mathbf{d}(d_0, d_1, \ldots, d_{n-1})$" src="form_132.png"> and the eigenvectors <img class="formulaInl" alt="$\mathbf{v}_i, \: i=0, \ldots, n-1$" src="form_133.png"> of the real <img class="formulaInl" alt="$n \times n$" src="form_126.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> satisfies <p class="formulaDsp"> |
---|
475 | <img class="formulaDsp" alt="\[ \mathbf{A} \mathbf{v}_i = d_i \mathbf{v}_i\: i=0, \ldots, n-1. \]" src="form_135.png"> |
---|
476 | <p> |
---|
477 | True is returned if the calculation was successful. Otherwise false.<p> |
---|
478 | Uses the LAPACK routine DGEEV. |
---|
479 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
480 | |
---|
481 | </div> |
---|
482 | </div><p> |
---|
483 | <a class="anchor" name="gdc7223ef54536dfc36d3e183468297b8"></a><!-- doxytag: member="itpp::eig" ref="gdc7223ef54536dfc36d3e183468297b8" args="(const mat &A, cvec &d, cmat &V)" --> |
---|
484 | <div class="memitem"> |
---|
485 | <div class="memproto"> |
---|
486 | <table class="memname"> |
---|
487 | <tr> |
---|
488 | <td class="memname">bool itpp::eig </td> |
---|
489 | <td>(</td> |
---|
490 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
491 | <td class="paramname"> <em>A</em>, </td> |
---|
492 | </tr> |
---|
493 | <tr> |
---|
494 | <td class="paramkey"></td> |
---|
495 | <td></td> |
---|
496 | <td class="paramtype"><a class="el" href="classitpp_1_1Vec.html#e83c1408740e41a7e29c383b71d4d544">cvec</a> & </td> |
---|
497 | <td class="paramname"> <em>d</em>, </td> |
---|
498 | </tr> |
---|
499 | <tr> |
---|
500 | <td class="paramkey"></td> |
---|
501 | <td></td> |
---|
502 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
503 | <td class="paramname"> <em>V</em></td><td> </td> |
---|
504 | </tr> |
---|
505 | <tr> |
---|
506 | <td></td> |
---|
507 | <td>)</td> |
---|
508 | <td></td><td></td><td></td> |
---|
509 | </tr> |
---|
510 | </table> |
---|
511 | </div> |
---|
512 | <div class="memdoc"> |
---|
513 | |
---|
514 | <p> |
---|
515 | Calculates the eigenvalues and eigenvectors of a real non-symmetric matrix. |
---|
516 | <p> |
---|
517 | The Eigenvalues <img class="formulaInl" alt="$\mathbf{d}(d_0, d_1, \ldots, d_{n-1})$" src="form_132.png"> and the eigenvectors <img class="formulaInl" alt="$\mathbf{v}_i, \: i=0, \ldots, n-1$" src="form_133.png"> of the real <img class="formulaInl" alt="$n \times n$" src="form_126.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> satisfies <p class="formulaDsp"> |
---|
518 | <img class="formulaDsp" alt="\[ \mathbf{A} \mathbf{v}_i = d_i \mathbf{v}_i\: i=0, \ldots, n-1. \]" src="form_135.png"> |
---|
519 | <p> |
---|
520 | The eigenvectors are the columns of the matrix V. True is returned if the calculation was successful. Otherwise false.<p> |
---|
521 | Uses the LAPACK routine DGEEV. |
---|
522 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
523 | |
---|
524 | </div> |
---|
525 | </div><p> |
---|
526 | <a class="anchor" name="g6dc61c925d40d736effa9dcbe7912df1"></a><!-- doxytag: member="itpp::eig_sym" ref="g6dc61c925d40d736effa9dcbe7912df1" args="(const cmat &A)" --> |
---|
527 | <div class="memitem"> |
---|
528 | <div class="memproto"> |
---|
529 | <table class="memname"> |
---|
530 | <tr> |
---|
531 | <td class="memname"><a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> itpp::eig_sym </td> |
---|
532 | <td>(</td> |
---|
533 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
534 | <td class="paramname"> <em>A</em> </td> |
---|
535 | <td> ) </td> |
---|
536 | <td></td> |
---|
537 | </tr> |
---|
538 | </table> |
---|
539 | </div> |
---|
540 | <div class="memdoc"> |
---|
541 | |
---|
542 | <p> |
---|
543 | Calculates the eigenvalues of a hermitian complex matrix. |
---|
544 | <p> |
---|
545 | The Eigenvalues <img class="formulaInl" alt="$\mathbf{d}(d_0, d_1, \ldots, d_{n-1})$" src="form_132.png"> and the eigenvectors <img class="formulaInl" alt="$\mathbf{v}_i, \: i=0, \ldots, n-1$" src="form_133.png"> of the complex and hermitian <img class="formulaInl" alt="$n \times n$" src="form_126.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> satisfies <p class="formulaDsp"> |
---|
546 | <img class="formulaDsp" alt="\[ \mathbf{A} \mathbf{v}_i = d_i \mathbf{v}_i\: i=0, \ldots, n-1. \]" src="form_135.png"> |
---|
547 | <p> |
---|
548 | <p> |
---|
549 | Uses the LAPACK routine ZHEEV. |
---|
550 | <p>Referenced by <a class="el" href="eigen_8cpp-source.html#l00303">itpp::eig_sym()</a>.</p> |
---|
551 | |
---|
552 | </div> |
---|
553 | </div><p> |
---|
554 | <a class="anchor" name="g89faa81cc5408f5e1452d5fec9fea473"></a><!-- doxytag: member="itpp::eig_sym" ref="g89faa81cc5408f5e1452d5fec9fea473" args="(const cmat &A, vec &d)" --> |
---|
555 | <div class="memitem"> |
---|
556 | <div class="memproto"> |
---|
557 | <table class="memname"> |
---|
558 | <tr> |
---|
559 | <td class="memname">bool itpp::eig_sym </td> |
---|
560 | <td>(</td> |
---|
561 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
562 | <td class="paramname"> <em>A</em>, </td> |
---|
563 | </tr> |
---|
564 | <tr> |
---|
565 | <td class="paramkey"></td> |
---|
566 | <td></td> |
---|
567 | <td class="paramtype"><a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> & </td> |
---|
568 | <td class="paramname"> <em>d</em></td><td> </td> |
---|
569 | </tr> |
---|
570 | <tr> |
---|
571 | <td></td> |
---|
572 | <td>)</td> |
---|
573 | <td></td><td></td><td></td> |
---|
574 | </tr> |
---|
575 | </table> |
---|
576 | </div> |
---|
577 | <div class="memdoc"> |
---|
578 | |
---|
579 | <p> |
---|
580 | Calculates the eigenvalues of a hermitian complex matrix. |
---|
581 | <p> |
---|
582 | The Eigenvalues <img class="formulaInl" alt="$\mathbf{d}(d_0, d_1, \ldots, d_{n-1})$" src="form_132.png"> and the eigenvectors <img class="formulaInl" alt="$\mathbf{v}_i, \: i=0, \ldots, n-1$" src="form_133.png"> of the complex and hermitian <img class="formulaInl" alt="$n \times n$" src="form_126.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> satisfies <p class="formulaDsp"> |
---|
583 | <img class="formulaDsp" alt="\[ \mathbf{A} \mathbf{v}_i = d_i \mathbf{v}_i\: i=0, \ldots, n-1. \]" src="form_135.png"> |
---|
584 | <p> |
---|
585 | True is returned if the calculation was successful. Otherwise false.<p> |
---|
586 | Uses the LAPACK routine ZHEEV. |
---|
587 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
588 | |
---|
589 | </div> |
---|
590 | </div><p> |
---|
591 | <a class="anchor" name="g40bacb19d51c45a59837ab38f04dabef"></a><!-- doxytag: member="itpp::eig_sym" ref="g40bacb19d51c45a59837ab38f04dabef" args="(const cmat &A, vec &d, cmat &V)" --> |
---|
592 | <div class="memitem"> |
---|
593 | <div class="memproto"> |
---|
594 | <table class="memname"> |
---|
595 | <tr> |
---|
596 | <td class="memname">bool itpp::eig_sym </td> |
---|
597 | <td>(</td> |
---|
598 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
599 | <td class="paramname"> <em>A</em>, </td> |
---|
600 | </tr> |
---|
601 | <tr> |
---|
602 | <td class="paramkey"></td> |
---|
603 | <td></td> |
---|
604 | <td class="paramtype"><a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> & </td> |
---|
605 | <td class="paramname"> <em>d</em>, </td> |
---|
606 | </tr> |
---|
607 | <tr> |
---|
608 | <td class="paramkey"></td> |
---|
609 | <td></td> |
---|
610 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
611 | <td class="paramname"> <em>V</em></td><td> </td> |
---|
612 | </tr> |
---|
613 | <tr> |
---|
614 | <td></td> |
---|
615 | <td>)</td> |
---|
616 | <td></td><td></td><td></td> |
---|
617 | </tr> |
---|
618 | </table> |
---|
619 | </div> |
---|
620 | <div class="memdoc"> |
---|
621 | |
---|
622 | <p> |
---|
623 | Calculates the eigenvalues and eigenvectors of a hermitian complex matrix. |
---|
624 | <p> |
---|
625 | The Eigenvalues <img class="formulaInl" alt="$\mathbf{d}(d_0, d_1, \ldots, d_{n-1})$" src="form_132.png"> and the eigenvectors <img class="formulaInl" alt="$\mathbf{v}_i, \: i=0, \ldots, n-1$" src="form_133.png"> of the complex and hermitian <img class="formulaInl" alt="$n \times n$" src="form_126.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> satisfies <p class="formulaDsp"> |
---|
626 | <img class="formulaDsp" alt="\[ \mathbf{A} \mathbf{v}_i = d_i \mathbf{v}_i\: i=0, \ldots, n-1. \]" src="form_135.png"> |
---|
627 | <p> |
---|
628 | The eigenvectors are the columns of the matrix V. True is returned if the calculation was successful. Otherwise false.<p> |
---|
629 | Uses the LAPACK routine ZHEEV. |
---|
630 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
631 | |
---|
632 | </div> |
---|
633 | </div><p> |
---|
634 | <a class="anchor" name="gebf551d77c5738033d081e35e7cd9cb6"></a><!-- doxytag: member="itpp::eig_sym" ref="gebf551d77c5738033d081e35e7cd9cb6" args="(const mat &A)" --> |
---|
635 | <div class="memitem"> |
---|
636 | <div class="memproto"> |
---|
637 | <table class="memname"> |
---|
638 | <tr> |
---|
639 | <td class="memname"><a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> itpp::eig_sym </td> |
---|
640 | <td>(</td> |
---|
641 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
642 | <td class="paramname"> <em>A</em> </td> |
---|
643 | <td> ) </td> |
---|
644 | <td></td> |
---|
645 | </tr> |
---|
646 | </table> |
---|
647 | </div> |
---|
648 | <div class="memdoc"> |
---|
649 | |
---|
650 | <p> |
---|
651 | Calculates the eigenvalues of a symmetric real matrix. |
---|
652 | <p> |
---|
653 | The Eigenvalues <img class="formulaInl" alt="$\mathbf{d}(d_0, d_1, \ldots, d_{n-1})$" src="form_132.png"> and the eigenvectors <img class="formulaInl" alt="$\mathbf{v}_i, \: i=0, \ldots, n-1$" src="form_133.png"> of the real and symmetric <img class="formulaInl" alt="$n \times n$" src="form_126.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> satisfies <p class="formulaDsp"> |
---|
654 | <img class="formulaDsp" alt="\[ \mathbf{A} \mathbf{v}_i = d_i \mathbf{v}_i\: i=0, \ldots, n-1. \]" src="form_135.png"> |
---|
655 | <p> |
---|
656 | <p> |
---|
657 | Uses the LAPACK routine DSYEV. |
---|
658 | <p>References <a class="el" href="eigen_8cpp-source.html#l00310">itpp::eig_sym()</a>.</p> |
---|
659 | |
---|
660 | </div> |
---|
661 | </div><p> |
---|
662 | <a class="anchor" name="g282eeffd56bf6ac0fb3e8efedb755cee"></a><!-- doxytag: member="itpp::eig_sym" ref="g282eeffd56bf6ac0fb3e8efedb755cee" args="(const mat &A, vec &d)" --> |
---|
663 | <div class="memitem"> |
---|
664 | <div class="memproto"> |
---|
665 | <table class="memname"> |
---|
666 | <tr> |
---|
667 | <td class="memname">bool itpp::eig_sym </td> |
---|
668 | <td>(</td> |
---|
669 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
670 | <td class="paramname"> <em>A</em>, </td> |
---|
671 | </tr> |
---|
672 | <tr> |
---|
673 | <td class="paramkey"></td> |
---|
674 | <td></td> |
---|
675 | <td class="paramtype"><a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> & </td> |
---|
676 | <td class="paramname"> <em>d</em></td><td> </td> |
---|
677 | </tr> |
---|
678 | <tr> |
---|
679 | <td></td> |
---|
680 | <td>)</td> |
---|
681 | <td></td><td></td><td></td> |
---|
682 | </tr> |
---|
683 | </table> |
---|
684 | </div> |
---|
685 | <div class="memdoc"> |
---|
686 | |
---|
687 | <p> |
---|
688 | Calculates the eigenvalues of a symmetric real matrix. |
---|
689 | <p> |
---|
690 | The Eigenvalues <img class="formulaInl" alt="$\mathbf{d}(d_0, d_1, \ldots, d_{n-1})$" src="form_132.png"> and the eigenvectors <img class="formulaInl" alt="$\mathbf{v}_i, \: i=0, \ldots, n-1$" src="form_133.png"> of the real and symmetric <img class="formulaInl" alt="$n \times n$" src="form_126.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> satisfies <p class="formulaDsp"> |
---|
691 | <img class="formulaDsp" alt="\[ \mathbf{A} \mathbf{v}_i = d_i \mathbf{v}_i\: i=0, \ldots, n-1. \]" src="form_135.png"> |
---|
692 | <p> |
---|
693 | True is returned if the calculation was successful. Otherwise false.<p> |
---|
694 | Uses the LAPACK routine DSYEV. |
---|
695 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
696 | |
---|
697 | </div> |
---|
698 | </div><p> |
---|
699 | <a class="anchor" name="g05eced45f3e27b8f60ffa422f02856df"></a><!-- doxytag: member="itpp::eig_sym" ref="g05eced45f3e27b8f60ffa422f02856df" args="(const mat &A, vec &d, mat &V)" --> |
---|
700 | <div class="memitem"> |
---|
701 | <div class="memproto"> |
---|
702 | <table class="memname"> |
---|
703 | <tr> |
---|
704 | <td class="memname">bool itpp::eig_sym </td> |
---|
705 | <td>(</td> |
---|
706 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
707 | <td class="paramname"> <em>A</em>, </td> |
---|
708 | </tr> |
---|
709 | <tr> |
---|
710 | <td class="paramkey"></td> |
---|
711 | <td></td> |
---|
712 | <td class="paramtype"><a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> & </td> |
---|
713 | <td class="paramname"> <em>d</em>, </td> |
---|
714 | </tr> |
---|
715 | <tr> |
---|
716 | <td class="paramkey"></td> |
---|
717 | <td></td> |
---|
718 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
719 | <td class="paramname"> <em>V</em></td><td> </td> |
---|
720 | </tr> |
---|
721 | <tr> |
---|
722 | <td></td> |
---|
723 | <td>)</td> |
---|
724 | <td></td><td></td><td></td> |
---|
725 | </tr> |
---|
726 | </table> |
---|
727 | </div> |
---|
728 | <div class="memdoc"> |
---|
729 | |
---|
730 | <p> |
---|
731 | Calculates the eigenvalues and eigenvectors of a symmetric real matrix. |
---|
732 | <p> |
---|
733 | The Eigenvalues <img class="formulaInl" alt="$\mathbf{d}(d_0, d_1, \ldots, d_{n-1})$" src="form_132.png"> and the eigenvectors <img class="formulaInl" alt="$\mathbf{v}_i, \: i=0, \ldots, n-1$" src="form_133.png"> of the real and symmetric <img class="formulaInl" alt="$n \times n$" src="form_126.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> satisfies <p class="formulaDsp"> |
---|
734 | <img class="formulaDsp" alt="\[ \mathbf{A} \mathbf{v}_i = d_i \mathbf{v}_i\: i=0, \ldots, n-1. \]" src="form_135.png"> |
---|
735 | <p> |
---|
736 | The eigenvectors are the columns of the matrix V. True is returned if the calculation was successful. Otherwise false.<p> |
---|
737 | Uses the LAPACK routine DSYEV. |
---|
738 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
739 | |
---|
740 | </div> |
---|
741 | </div><p> |
---|
742 | <a class="anchor" name="g9912a15ea024f75442720c1bf3b5dac1"></a><!-- doxytag: member="itpp::lu" ref="g9912a15ea024f75442720c1bf3b5dac1" args="(const cmat &X, cmat &L, cmat &U, ivec &p)" --> |
---|
743 | <div class="memitem"> |
---|
744 | <div class="memproto"> |
---|
745 | <table class="memname"> |
---|
746 | <tr> |
---|
747 | <td class="memname">bool itpp::lu </td> |
---|
748 | <td>(</td> |
---|
749 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
750 | <td class="paramname"> <em>X</em>, </td> |
---|
751 | </tr> |
---|
752 | <tr> |
---|
753 | <td class="paramkey"></td> |
---|
754 | <td></td> |
---|
755 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
756 | <td class="paramname"> <em>L</em>, </td> |
---|
757 | </tr> |
---|
758 | <tr> |
---|
759 | <td class="paramkey"></td> |
---|
760 | <td></td> |
---|
761 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
762 | <td class="paramname"> <em>U</em>, </td> |
---|
763 | </tr> |
---|
764 | <tr> |
---|
765 | <td class="paramkey"></td> |
---|
766 | <td></td> |
---|
767 | <td class="paramtype"><a class="el" href="classitpp_1_1Vec.html#b03757d874926a9be91535e71af1656e">ivec</a> & </td> |
---|
768 | <td class="paramname"> <em>p</em></td><td> </td> |
---|
769 | </tr> |
---|
770 | <tr> |
---|
771 | <td></td> |
---|
772 | <td>)</td> |
---|
773 | <td></td><td></td><td></td> |
---|
774 | </tr> |
---|
775 | </table> |
---|
776 | </div> |
---|
777 | <div class="memdoc"> |
---|
778 | |
---|
779 | <p> |
---|
780 | LU factorisation of real matrix. |
---|
781 | <p> |
---|
782 | The LU factorization of the complex matrix <img class="formulaInl" alt="$\mathbf{X}$" src="form_125.png"> of size <img class="formulaInl" alt="$n \times n$" src="form_126.png"> is given by <p class="formulaDsp"> |
---|
783 | <img class="formulaDsp" alt="\[ \mathbf{X} = \mathbf{P}^T \mathbf{L} \mathbf{U} , \]" src="form_143.png"> |
---|
784 | <p> |
---|
785 | where <img class="formulaInl" alt="$\mathbf{L}$" src="form_144.png"> and <img class="formulaInl" alt="$\mathbf{U}$" src="form_145.png"> are lower and upper triangular matrices and <img class="formulaInl" alt="$\mathbf{P}$" src="form_146.png"> is a permutation matrix.<p> |
---|
786 | The interchange permutation vector <em>p</em> is such that <em>k</em> and <em>p(k)</em> should be changed for all <em>k</em>. Given this vector a permutation matrix can be constructed using the function <div class="fragment"><pre class="fragment"> <a class="code" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69" title="bin matrix">bmat</a> <a class="code" href="group__matrixdecomp.html#gb6e7ba47c63173084cf0cb6bebbff508" title="Make permutation matrix P from the interchange permutation vector p.">permutation_matrix</a>(<span class="keyword">const</span> ivec &p) |
---|
787 | </pre></div><p> |
---|
788 | If <em>X</em> is an <em>n</em> by <em>n</em> matrix <em>lu(X,L,U,p)</em> computes the LU decomposition. <em>L</em> is a lower triangular, <em>U</em> an upper triangular matrix. <em>p</em> is the interchange permutation vector such that elements <em>k</em> and row <em>p(k)</em> should be interchanged.<p> |
---|
789 | Returns true is calculation succeeds. False otherwise. |
---|
790 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
791 | |
---|
792 | <p>Referenced by <a class="el" href="det_8cpp-source.html#l00043">itpp::det()</a>.</p> |
---|
793 | |
---|
794 | </div> |
---|
795 | </div><p> |
---|
796 | <a class="anchor" name="g470eed4741289d81759d441e316f92f0"></a><!-- doxytag: member="itpp::lu" ref="g470eed4741289d81759d441e316f92f0" args="(const mat &X, mat &L, mat &U, ivec &p)" --> |
---|
797 | <div class="memitem"> |
---|
798 | <div class="memproto"> |
---|
799 | <table class="memname"> |
---|
800 | <tr> |
---|
801 | <td class="memname">bool itpp::lu </td> |
---|
802 | <td>(</td> |
---|
803 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
804 | <td class="paramname"> <em>X</em>, </td> |
---|
805 | </tr> |
---|
806 | <tr> |
---|
807 | <td class="paramkey"></td> |
---|
808 | <td></td> |
---|
809 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
810 | <td class="paramname"> <em>L</em>, </td> |
---|
811 | </tr> |
---|
812 | <tr> |
---|
813 | <td class="paramkey"></td> |
---|
814 | <td></td> |
---|
815 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
816 | <td class="paramname"> <em>U</em>, </td> |
---|
817 | </tr> |
---|
818 | <tr> |
---|
819 | <td class="paramkey"></td> |
---|
820 | <td></td> |
---|
821 | <td class="paramtype"><a class="el" href="classitpp_1_1Vec.html#b03757d874926a9be91535e71af1656e">ivec</a> & </td> |
---|
822 | <td class="paramname"> <em>p</em></td><td> </td> |
---|
823 | </tr> |
---|
824 | <tr> |
---|
825 | <td></td> |
---|
826 | <td>)</td> |
---|
827 | <td></td><td></td><td></td> |
---|
828 | </tr> |
---|
829 | </table> |
---|
830 | </div> |
---|
831 | <div class="memdoc"> |
---|
832 | |
---|
833 | <p> |
---|
834 | LU factorisation of real matrix. |
---|
835 | <p> |
---|
836 | The LU factorization of the real matrix <img class="formulaInl" alt="$\mathbf{X}$" src="form_125.png"> of size <img class="formulaInl" alt="$n \times n$" src="form_126.png"> is given by <p class="formulaDsp"> |
---|
837 | <img class="formulaDsp" alt="\[ \mathbf{X} = \mathbf{P}^T \mathbf{L} \mathbf{U} , \]" src="form_143.png"> |
---|
838 | <p> |
---|
839 | where <img class="formulaInl" alt="$\mathbf{L}$" src="form_144.png"> and <img class="formulaInl" alt="$\mathbf{U}$" src="form_145.png"> are lower and upper triangular matrices and <img class="formulaInl" alt="$\mathbf{P}$" src="form_146.png"> is a permutation matrix.<p> |
---|
840 | The interchange permutation vector <em>p</em> is such that <em>k</em> and <em>p(k)</em> should be changed for all <em>k</em>. Given this vector a permutation matrix can be constructed using the function <div class="fragment"><pre class="fragment"> <a class="code" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69" title="bin matrix">bmat</a> <a class="code" href="group__matrixdecomp.html#gb6e7ba47c63173084cf0cb6bebbff508" title="Make permutation matrix P from the interchange permutation vector p.">permutation_matrix</a>(<span class="keyword">const</span> ivec &p) |
---|
841 | </pre></div><p> |
---|
842 | If <em>X</em> is an <em>n</em> by <em>n</em> matrix <em>lu(X,L,U,p)</em> computes the LU decomposition. <em>L</em> is a lower triangular, <em>U</em> an upper triangular matrix. <em>p</em> is the interchange permutation vector such that <em>k</em> and <em>p(k)</em> should be changed for all <em>k</em>.<p> |
---|
843 | Returns true is calculation succeeds. False otherwise. |
---|
844 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
845 | |
---|
846 | </div> |
---|
847 | </div><p> |
---|
848 | <a class="anchor" name="gdb3c49c28626013e0679b2ce088b8d70"></a><!-- doxytag: member="itpp::qr" ref="gdb3c49c28626013e0679b2ce088b8d70" args="(const cmat &A, cmat &Q, cmat &R, bmat &P)" --> |
---|
849 | <div class="memitem"> |
---|
850 | <div class="memproto"> |
---|
851 | <table class="memname"> |
---|
852 | <tr> |
---|
853 | <td class="memname">bool itpp::qr </td> |
---|
854 | <td>(</td> |
---|
855 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
856 | <td class="paramname"> <em>A</em>, </td> |
---|
857 | </tr> |
---|
858 | <tr> |
---|
859 | <td class="paramkey"></td> |
---|
860 | <td></td> |
---|
861 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
862 | <td class="paramname"> <em>Q</em>, </td> |
---|
863 | </tr> |
---|
864 | <tr> |
---|
865 | <td class="paramkey"></td> |
---|
866 | <td></td> |
---|
867 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
868 | <td class="paramname"> <em>R</em>, </td> |
---|
869 | </tr> |
---|
870 | <tr> |
---|
871 | <td class="paramkey"></td> |
---|
872 | <td></td> |
---|
873 | <td class="paramtype"><a class="el" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69">bmat</a> & </td> |
---|
874 | <td class="paramname"> <em>P</em></td><td> </td> |
---|
875 | </tr> |
---|
876 | <tr> |
---|
877 | <td></td> |
---|
878 | <td>)</td> |
---|
879 | <td></td><td></td><td></td> |
---|
880 | </tr> |
---|
881 | </table> |
---|
882 | </div> |
---|
883 | <div class="memdoc"> |
---|
884 | |
---|
885 | <p> |
---|
886 | QR factorisation of a complex matrix with pivoting. |
---|
887 | <p> |
---|
888 | The QR factorization of the complex matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> of size <img class="formulaInl" alt="$m \times n$" src="form_140.png"> is given by <p class="formulaDsp"> |
---|
889 | <img class="formulaDsp" alt="\[ \mathbf{A} \mathbf{P} = \mathbf{Q} \mathbf{R} , \]" src="form_153.png"> |
---|
890 | <p> |
---|
891 | where <img class="formulaInl" alt="$\mathbf{Q}$" src="form_148.png"> is an <img class="formulaInl" alt="$m \times m$" src="form_149.png"> unitary matrix, <img class="formulaInl" alt="$\mathbf{R}$" src="form_150.png"> is an <img class="formulaInl" alt="$m \times n$" src="form_140.png"> upper triangular matrix and <img class="formulaInl" alt="$\mathbf{P}$" src="form_146.png"> is an <img class="formulaInl" alt="$n \times n$" src="form_126.png"> permutation matrix.<p> |
---|
892 | Returns true is calculation succeeds. False otherwise. Uses the LAPACK routines ZGEQP3 and ZUNGQR. |
---|
893 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
894 | |
---|
895 | <p>Referenced by <a class="el" href="libKF_8cpp-source.html#l00199">bdm::EKFCh::bayes()</a>, <a class="el" href="libKF_8cpp-source.html#l00130">bdm::KalmanCh::bayes()</a>, and <a class="el" href="chmat_8cpp-source.html#l00007">chmat::opupdt()</a>.</p> |
---|
896 | |
---|
897 | </div> |
---|
898 | </div><p> |
---|
899 | <a class="anchor" name="g1a880a8a274c14e51482293181b1a10e"></a><!-- doxytag: member="itpp::qr" ref="g1a880a8a274c14e51482293181b1a10e" args="(const cmat &A, cmat &R)" --> |
---|
900 | <div class="memitem"> |
---|
901 | <div class="memproto"> |
---|
902 | <table class="memname"> |
---|
903 | <tr> |
---|
904 | <td class="memname">bool itpp::qr </td> |
---|
905 | <td>(</td> |
---|
906 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
907 | <td class="paramname"> <em>A</em>, </td> |
---|
908 | </tr> |
---|
909 | <tr> |
---|
910 | <td class="paramkey"></td> |
---|
911 | <td></td> |
---|
912 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
913 | <td class="paramname"> <em>R</em></td><td> </td> |
---|
914 | </tr> |
---|
915 | <tr> |
---|
916 | <td></td> |
---|
917 | <td>)</td> |
---|
918 | <td></td><td></td><td></td> |
---|
919 | </tr> |
---|
920 | </table> |
---|
921 | </div> |
---|
922 | <div class="memdoc"> |
---|
923 | |
---|
924 | <p> |
---|
925 | QR factorisation of complex matrix with suppressed evaluation of Q. |
---|
926 | <p> |
---|
927 | For certain type of applications only the <img class="formulaInl" alt="$\mathbf{R}$" src="form_150.png"> matrix of full QR factorization of the complex matrix <img class="formulaInl" alt="$\mathbf{A}=\mathbf{Q}\mathbf{R}$" src="form_151.png"> is needed. These situations arise typically in designs of square-root algorithms where it is required that <img class="formulaInl" alt="$\mathbf{A}^{H}\mathbf{A}=\mathbf{R}^{H}\mathbf{R}$" src="form_154.png">. In such cases, evaluation of <img class="formulaInl" alt="$\mathbf{Q}$" src="form_148.png"> can be skipped.<p> |
---|
928 | Modification of qr(A,Q,R).<p> |
---|
929 | <dl class="author" compact><dt><b>Author:</b></dt><dd>Vasek Smidl </dd></dl> |
---|
930 | |
---|
931 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
932 | |
---|
933 | </div> |
---|
934 | </div><p> |
---|
935 | <a class="anchor" name="g321c23bad4ec43d1111f405587a9ffa2"></a><!-- doxytag: member="itpp::qr" ref="g321c23bad4ec43d1111f405587a9ffa2" args="(const cmat &A, cmat &Q, cmat &R)" --> |
---|
936 | <div class="memitem"> |
---|
937 | <div class="memproto"> |
---|
938 | <table class="memname"> |
---|
939 | <tr> |
---|
940 | <td class="memname">bool itpp::qr </td> |
---|
941 | <td>(</td> |
---|
942 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
943 | <td class="paramname"> <em>A</em>, </td> |
---|
944 | </tr> |
---|
945 | <tr> |
---|
946 | <td class="paramkey"></td> |
---|
947 | <td></td> |
---|
948 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
949 | <td class="paramname"> <em>Q</em>, </td> |
---|
950 | </tr> |
---|
951 | <tr> |
---|
952 | <td class="paramkey"></td> |
---|
953 | <td></td> |
---|
954 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
955 | <td class="paramname"> <em>R</em></td><td> </td> |
---|
956 | </tr> |
---|
957 | <tr> |
---|
958 | <td></td> |
---|
959 | <td>)</td> |
---|
960 | <td></td><td></td><td></td> |
---|
961 | </tr> |
---|
962 | </table> |
---|
963 | </div> |
---|
964 | <div class="memdoc"> |
---|
965 | |
---|
966 | <p> |
---|
967 | QR factorisation of a complex matrix. |
---|
968 | <p> |
---|
969 | The QR factorization of the complex matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> of size <img class="formulaInl" alt="$m \times n$" src="form_140.png"> is given by <p class="formulaDsp"> |
---|
970 | <img class="formulaDsp" alt="\[ \mathbf{A} = \mathbf{Q} \mathbf{R} , \]" src="form_147.png"> |
---|
971 | <p> |
---|
972 | where <img class="formulaInl" alt="$\mathbf{Q}$" src="form_148.png"> is an <img class="formulaInl" alt="$m \times m$" src="form_149.png"> unitary matrix and <img class="formulaInl" alt="$\mathbf{R}$" src="form_150.png"> is an <img class="formulaInl" alt="$m \times n$" src="form_140.png"> upper triangular matrix.<p> |
---|
973 | Returns true is calculation succeeds. False otherwise. Uses the LAPACK routines ZGEQRF and ZUNGQR. |
---|
974 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
975 | |
---|
976 | </div> |
---|
977 | </div><p> |
---|
978 | <a class="anchor" name="g83c28d9b53d73b1d9527cf14341637ff"></a><!-- doxytag: member="itpp::qr" ref="g83c28d9b53d73b1d9527cf14341637ff" args="(const mat &A, mat &Q, mat &R, bmat &P)" --> |
---|
979 | <div class="memitem"> |
---|
980 | <div class="memproto"> |
---|
981 | <table class="memname"> |
---|
982 | <tr> |
---|
983 | <td class="memname">bool itpp::qr </td> |
---|
984 | <td>(</td> |
---|
985 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
986 | <td class="paramname"> <em>A</em>, </td> |
---|
987 | </tr> |
---|
988 | <tr> |
---|
989 | <td class="paramkey"></td> |
---|
990 | <td></td> |
---|
991 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
992 | <td class="paramname"> <em>Q</em>, </td> |
---|
993 | </tr> |
---|
994 | <tr> |
---|
995 | <td class="paramkey"></td> |
---|
996 | <td></td> |
---|
997 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
998 | <td class="paramname"> <em>R</em>, </td> |
---|
999 | </tr> |
---|
1000 | <tr> |
---|
1001 | <td class="paramkey"></td> |
---|
1002 | <td></td> |
---|
1003 | <td class="paramtype"><a class="el" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69">bmat</a> & </td> |
---|
1004 | <td class="paramname"> <em>P</em></td><td> </td> |
---|
1005 | </tr> |
---|
1006 | <tr> |
---|
1007 | <td></td> |
---|
1008 | <td>)</td> |
---|
1009 | <td></td><td></td><td></td> |
---|
1010 | </tr> |
---|
1011 | </table> |
---|
1012 | </div> |
---|
1013 | <div class="memdoc"> |
---|
1014 | |
---|
1015 | <p> |
---|
1016 | QR factorisation of real matrix with pivoting. |
---|
1017 | <p> |
---|
1018 | The QR factorization of the real matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> of size <img class="formulaInl" alt="$m \times n$" src="form_140.png"> is given by <p class="formulaDsp"> |
---|
1019 | <img class="formulaDsp" alt="\[ \mathbf{A} \mathbf{P} = \mathbf{Q} \mathbf{R} , \]" src="form_153.png"> |
---|
1020 | <p> |
---|
1021 | where <img class="formulaInl" alt="$\mathbf{Q}$" src="form_148.png"> is an <img class="formulaInl" alt="$m \times m$" src="form_149.png"> orthogonal matrix, <img class="formulaInl" alt="$\mathbf{R}$" src="form_150.png"> is an <img class="formulaInl" alt="$m \times n$" src="form_140.png"> upper triangular matrix and <img class="formulaInl" alt="$\mathbf{P}$" src="form_146.png"> is an <img class="formulaInl" alt="$n \times n$" src="form_126.png"> permutation matrix.<p> |
---|
1022 | Returns true is calculation succeeds. False otherwise. Uses the LAPACK routines DGEQP3 and DORGQR. |
---|
1023 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
1024 | |
---|
1025 | </div> |
---|
1026 | </div><p> |
---|
1027 | <a class="anchor" name="gbd50eeb4508aaf4b7296f3a904458886"></a><!-- doxytag: member="itpp::qr" ref="gbd50eeb4508aaf4b7296f3a904458886" args="(const mat &A, mat &R)" --> |
---|
1028 | <div class="memitem"> |
---|
1029 | <div class="memproto"> |
---|
1030 | <table class="memname"> |
---|
1031 | <tr> |
---|
1032 | <td class="memname">bool itpp::qr </td> |
---|
1033 | <td>(</td> |
---|
1034 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
1035 | <td class="paramname"> <em>A</em>, </td> |
---|
1036 | </tr> |
---|
1037 | <tr> |
---|
1038 | <td class="paramkey"></td> |
---|
1039 | <td></td> |
---|
1040 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
1041 | <td class="paramname"> <em>R</em></td><td> </td> |
---|
1042 | </tr> |
---|
1043 | <tr> |
---|
1044 | <td></td> |
---|
1045 | <td>)</td> |
---|
1046 | <td></td><td></td><td></td> |
---|
1047 | </tr> |
---|
1048 | </table> |
---|
1049 | </div> |
---|
1050 | <div class="memdoc"> |
---|
1051 | |
---|
1052 | <p> |
---|
1053 | QR factorisation of real matrix with suppressed evaluation of Q. |
---|
1054 | <p> |
---|
1055 | For certain type of applications only the <img class="formulaInl" alt="$\mathbf{R}$" src="form_150.png"> matrix of full QR factorization of the real matrix <img class="formulaInl" alt="$\mathbf{A}=\mathbf{Q}\mathbf{R}$" src="form_151.png"> is needed. These situations arise typically in designs of square-root algorithms where it is required that <img class="formulaInl" alt="$\mathbf{A}^{T}\mathbf{A}=\mathbf{R}^{T}\mathbf{R}$" src="form_152.png">. In such cases, evaluation of <img class="formulaInl" alt="$\mathbf{Q}$" src="form_148.png"> can be skipped.<p> |
---|
1056 | Modification of qr(A,Q,R).<p> |
---|
1057 | <dl class="author" compact><dt><b>Author:</b></dt><dd>Vasek Smidl </dd></dl> |
---|
1058 | |
---|
1059 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
1060 | |
---|
1061 | </div> |
---|
1062 | </div><p> |
---|
1063 | <a class="anchor" name="g9e565beb0ca5841655a5ac3700821e2c"></a><!-- doxytag: member="itpp::qr" ref="g9e565beb0ca5841655a5ac3700821e2c" args="(const mat &A, mat &Q, mat &R)" --> |
---|
1064 | <div class="memitem"> |
---|
1065 | <div class="memproto"> |
---|
1066 | <table class="memname"> |
---|
1067 | <tr> |
---|
1068 | <td class="memname">bool itpp::qr </td> |
---|
1069 | <td>(</td> |
---|
1070 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
1071 | <td class="paramname"> <em>A</em>, </td> |
---|
1072 | </tr> |
---|
1073 | <tr> |
---|
1074 | <td class="paramkey"></td> |
---|
1075 | <td></td> |
---|
1076 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
1077 | <td class="paramname"> <em>Q</em>, </td> |
---|
1078 | </tr> |
---|
1079 | <tr> |
---|
1080 | <td class="paramkey"></td> |
---|
1081 | <td></td> |
---|
1082 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
1083 | <td class="paramname"> <em>R</em></td><td> </td> |
---|
1084 | </tr> |
---|
1085 | <tr> |
---|
1086 | <td></td> |
---|
1087 | <td>)</td> |
---|
1088 | <td></td><td></td><td></td> |
---|
1089 | </tr> |
---|
1090 | </table> |
---|
1091 | </div> |
---|
1092 | <div class="memdoc"> |
---|
1093 | |
---|
1094 | <p> |
---|
1095 | QR factorisation of real matrix. |
---|
1096 | <p> |
---|
1097 | The QR factorization of the real matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> of size <img class="formulaInl" alt="$m \times n$" src="form_140.png"> is given by <p class="formulaDsp"> |
---|
1098 | <img class="formulaDsp" alt="\[ \mathbf{A} = \mathbf{Q} \mathbf{R} , \]" src="form_147.png"> |
---|
1099 | <p> |
---|
1100 | where <img class="formulaInl" alt="$\mathbf{Q}$" src="form_148.png"> is an <img class="formulaInl" alt="$m \times m$" src="form_149.png"> orthogonal matrix and <img class="formulaInl" alt="$\mathbf{R}$" src="form_150.png"> is an <img class="formulaInl" alt="$m \times n$" src="form_140.png"> upper triangular matrix.<p> |
---|
1101 | Returns true is calculation succeeds. False otherwise. Uses the LAPACK routine DGEQRF and DORGQR. |
---|
1102 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
1103 | |
---|
1104 | </div> |
---|
1105 | </div><p> |
---|
1106 | <a class="anchor" name="gd1d1f3ad1c35dee4ded80cc86c5961cc"></a><!-- doxytag: member="itpp::schur" ref="gd1d1f3ad1c35dee4ded80cc86c5961cc" args="(const cmat &A)" --> |
---|
1107 | <div class="memitem"> |
---|
1108 | <div class="memproto"> |
---|
1109 | <table class="memname"> |
---|
1110 | <tr> |
---|
1111 | <td class="memname"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> itpp::schur </td> |
---|
1112 | <td>(</td> |
---|
1113 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
1114 | <td class="paramname"> <em>A</em> </td> |
---|
1115 | <td> ) </td> |
---|
1116 | <td></td> |
---|
1117 | </tr> |
---|
1118 | </table> |
---|
1119 | </div> |
---|
1120 | <div class="memdoc"> |
---|
1121 | |
---|
1122 | <p> |
---|
1123 | Schur decomposition of a complex matrix. |
---|
1124 | <p> |
---|
1125 | This function computes the Schur form of a square complex matrix <img class="formulaInl" alt="$ \mathbf{A} $" src="form_155.png">. The Schur decomposition satisfies the following equation: <p class="formulaDsp"> |
---|
1126 | <img class="formulaDsp" alt="\[ \mathbf{U} \mathbf{T} \mathbf{U}^{H} = \mathbf{A} \]" src="form_161.png"> |
---|
1127 | <p> |
---|
1128 | where: <img class="formulaInl" alt="$ \mathbf{U} $" src="form_157.png"> is a unitary, <img class="formulaInl" alt="$ \mathbf{T} $" src="form_158.png"> is upper triangular, and <img class="formulaInl" alt="$ \mathbf{U}^{H} $" src="form_162.png"> is the Hermitian transposition of the <img class="formulaInl" alt="$ \mathbf{U} $" src="form_157.png"> matrix.<p> |
---|
1129 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>Complex Schur matrix <img class="formulaInl" alt="$ \mathbf{T} $" src="form_158.png"></dd></dl> |
---|
1130 | Uses the LAPACK routine ZGEES. |
---|
1131 | <p>Referenced by <a class="el" href="schur_8cpp-source.html#l00119">itpp::schur()</a>.</p> |
---|
1132 | |
---|
1133 | </div> |
---|
1134 | </div><p> |
---|
1135 | <a class="anchor" name="gcdfbe918727616dbc8eda854c4bf0cc4"></a><!-- doxytag: member="itpp::schur" ref="gcdfbe918727616dbc8eda854c4bf0cc4" args="(const cmat &A, cmat &U, cmat &T)" --> |
---|
1136 | <div class="memitem"> |
---|
1137 | <div class="memproto"> |
---|
1138 | <table class="memname"> |
---|
1139 | <tr> |
---|
1140 | <td class="memname">bool itpp::schur </td> |
---|
1141 | <td>(</td> |
---|
1142 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
1143 | <td class="paramname"> <em>A</em>, </td> |
---|
1144 | </tr> |
---|
1145 | <tr> |
---|
1146 | <td class="paramkey"></td> |
---|
1147 | <td></td> |
---|
1148 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
1149 | <td class="paramname"> <em>U</em>, </td> |
---|
1150 | </tr> |
---|
1151 | <tr> |
---|
1152 | <td class="paramkey"></td> |
---|
1153 | <td></td> |
---|
1154 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
1155 | <td class="paramname"> <em>T</em></td><td> </td> |
---|
1156 | </tr> |
---|
1157 | <tr> |
---|
1158 | <td></td> |
---|
1159 | <td>)</td> |
---|
1160 | <td></td><td></td><td></td> |
---|
1161 | </tr> |
---|
1162 | </table> |
---|
1163 | </div> |
---|
1164 | <div class="memdoc"> |
---|
1165 | |
---|
1166 | <p> |
---|
1167 | Schur decomposition of a complex matrix. |
---|
1168 | <p> |
---|
1169 | This function computes the Schur form of a square complex matrix <img class="formulaInl" alt="$ \mathbf{A} $" src="form_155.png">. The Schur decomposition satisfies the following equation: <p class="formulaDsp"> |
---|
1170 | <img class="formulaDsp" alt="\[ \mathbf{U} \mathbf{T} \mathbf{U}^{H} = \mathbf{A} \]" src="form_161.png"> |
---|
1171 | <p> |
---|
1172 | where: <img class="formulaInl" alt="$ \mathbf{U} $" src="form_157.png"> is a unitary, <img class="formulaInl" alt="$ \mathbf{T} $" src="form_158.png"> is upper triangular, and <img class="formulaInl" alt="$ \mathbf{U}^{H} $" src="form_162.png"> is the Hermitian transposition of the <img class="formulaInl" alt="$ \mathbf{U} $" src="form_157.png"> matrix.<p> |
---|
1173 | Uses the LAPACK routine ZGEES. |
---|
1174 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
1175 | |
---|
1176 | </div> |
---|
1177 | </div><p> |
---|
1178 | <a class="anchor" name="g5a511c9baeb36e803a006b3172848800"></a><!-- doxytag: member="itpp::schur" ref="g5a511c9baeb36e803a006b3172848800" args="(const mat &A)" --> |
---|
1179 | <div class="memitem"> |
---|
1180 | <div class="memproto"> |
---|
1181 | <table class="memname"> |
---|
1182 | <tr> |
---|
1183 | <td class="memname"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> itpp::schur </td> |
---|
1184 | <td>(</td> |
---|
1185 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
1186 | <td class="paramname"> <em>A</em> </td> |
---|
1187 | <td> ) </td> |
---|
1188 | <td></td> |
---|
1189 | </tr> |
---|
1190 | </table> |
---|
1191 | </div> |
---|
1192 | <div class="memdoc"> |
---|
1193 | |
---|
1194 | <p> |
---|
1195 | Schur decomposition of a real matrix. |
---|
1196 | <p> |
---|
1197 | This function computes the Schur form of a square real matrix <img class="formulaInl" alt="$ \mathbf{A} $" src="form_155.png">. The Schur decomposition satisfies the following equation: <p class="formulaDsp"> |
---|
1198 | <img class="formulaDsp" alt="\[ \mathbf{U} \mathbf{T} \mathbf{U}^{T} = \mathbf{A} \]" src="form_156.png"> |
---|
1199 | <p> |
---|
1200 | where: <img class="formulaInl" alt="$ \mathbf{U} $" src="form_157.png"> is a unitary, <img class="formulaInl" alt="$ \mathbf{T} $" src="form_158.png"> is upper quasi-triangular, and <img class="formulaInl" alt="$ \mathbf{U}^{T} $" src="form_159.png"> is the transposed <img class="formulaInl" alt="$ \mathbf{U} $" src="form_157.png"> matrix.<p> |
---|
1201 | The upper quasi-triangular matrix may have <img class="formulaInl" alt="$ 2 \times 2 $" src="form_160.png"> blocks on its diagonal.<p> |
---|
1202 | <dl class="return" compact><dt><b>Returns:</b></dt><dd>Real Schur matrix <img class="formulaInl" alt="$ \mathbf{T} $" src="form_158.png"></dd></dl> |
---|
1203 | uses the LAPACK routine DGEES. |
---|
1204 | <p>References <a class="el" href="schur_8cpp-source.html#l00127">itpp::schur()</a>.</p> |
---|
1205 | |
---|
1206 | </div> |
---|
1207 | </div><p> |
---|
1208 | <a class="anchor" name="ga0c6711c11ece9641878d3ab19f39d33"></a><!-- doxytag: member="itpp::schur" ref="ga0c6711c11ece9641878d3ab19f39d33" args="(const mat &A, mat &U, mat &T)" --> |
---|
1209 | <div class="memitem"> |
---|
1210 | <div class="memproto"> |
---|
1211 | <table class="memname"> |
---|
1212 | <tr> |
---|
1213 | <td class="memname">bool itpp::schur </td> |
---|
1214 | <td>(</td> |
---|
1215 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
1216 | <td class="paramname"> <em>A</em>, </td> |
---|
1217 | </tr> |
---|
1218 | <tr> |
---|
1219 | <td class="paramkey"></td> |
---|
1220 | <td></td> |
---|
1221 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
1222 | <td class="paramname"> <em>U</em>, </td> |
---|
1223 | </tr> |
---|
1224 | <tr> |
---|
1225 | <td class="paramkey"></td> |
---|
1226 | <td></td> |
---|
1227 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
1228 | <td class="paramname"> <em>T</em></td><td> </td> |
---|
1229 | </tr> |
---|
1230 | <tr> |
---|
1231 | <td></td> |
---|
1232 | <td>)</td> |
---|
1233 | <td></td><td></td><td></td> |
---|
1234 | </tr> |
---|
1235 | </table> |
---|
1236 | </div> |
---|
1237 | <div class="memdoc"> |
---|
1238 | |
---|
1239 | <p> |
---|
1240 | Schur decomposition of a real matrix. |
---|
1241 | <p> |
---|
1242 | This function computes the Schur form of a square real matrix <img class="formulaInl" alt="$ \mathbf{A} $" src="form_155.png">. The Schur decomposition satisfies the following equation: <p class="formulaDsp"> |
---|
1243 | <img class="formulaDsp" alt="\[ \mathbf{U} \mathbf{T} \mathbf{U}^{T} = \mathbf{A} \]" src="form_156.png"> |
---|
1244 | <p> |
---|
1245 | where: <img class="formulaInl" alt="$ \mathbf{U} $" src="form_157.png"> is a unitary, <img class="formulaInl" alt="$ \mathbf{T} $" src="form_158.png"> is upper quasi-triangular, and <img class="formulaInl" alt="$ \mathbf{U}^{T} $" src="form_159.png"> is the transposed <img class="formulaInl" alt="$ \mathbf{U} $" src="form_157.png"> matrix.<p> |
---|
1246 | The upper quasi-triangular matrix may have <img class="formulaInl" alt="$ 2 \times 2 $" src="form_160.png"> blocks on its diagonal.<p> |
---|
1247 | Uses the LAPACK routine DGEES. |
---|
1248 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
1249 | |
---|
1250 | </div> |
---|
1251 | </div><p> |
---|
1252 | <a class="anchor" name="g98a4dc87128a758f82ed05d7b060958b"></a><!-- doxytag: member="itpp::svd" ref="g98a4dc87128a758f82ed05d7b060958b" args="(const cmat &A, cmat &U, vec &s, cmat &V)" --> |
---|
1253 | <div class="memitem"> |
---|
1254 | <div class="memproto"> |
---|
1255 | <table class="memname"> |
---|
1256 | <tr> |
---|
1257 | <td class="memname">bool itpp::svd </td> |
---|
1258 | <td>(</td> |
---|
1259 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
1260 | <td class="paramname"> <em>A</em>, </td> |
---|
1261 | </tr> |
---|
1262 | <tr> |
---|
1263 | <td class="paramkey"></td> |
---|
1264 | <td></td> |
---|
1265 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
1266 | <td class="paramname"> <em>U</em>, </td> |
---|
1267 | </tr> |
---|
1268 | <tr> |
---|
1269 | <td class="paramkey"></td> |
---|
1270 | <td></td> |
---|
1271 | <td class="paramtype"><a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> & </td> |
---|
1272 | <td class="paramname"> <em>s</em>, </td> |
---|
1273 | </tr> |
---|
1274 | <tr> |
---|
1275 | <td class="paramkey"></td> |
---|
1276 | <td></td> |
---|
1277 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
1278 | <td class="paramname"> <em>V</em></td><td> </td> |
---|
1279 | </tr> |
---|
1280 | <tr> |
---|
1281 | <td></td> |
---|
1282 | <td>)</td> |
---|
1283 | <td></td><td></td><td></td> |
---|
1284 | </tr> |
---|
1285 | </table> |
---|
1286 | </div> |
---|
1287 | <div class="memdoc"> |
---|
1288 | |
---|
1289 | <p> |
---|
1290 | Perform Singular Value Decomposition (SVD) of a complex matrix <code>A</code>. |
---|
1291 | <p> |
---|
1292 | This function returns two orthonormal matrices <img class="formulaInl" alt="$U$" src="form_32.png"> and <img class="formulaInl" alt="$V$" src="form_29.png"> and a vector of singular values <img class="formulaInl" alt="$s$" src="form_163.png">. The SVD algorithm computes the decomposition of a complex <img class="formulaInl" alt="$m \times n$" src="form_140.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> so that <p class="formulaDsp"> |
---|
1293 | <img class="formulaDsp" alt="\[ \mathrm{diag}(\mathbf{U}^H \mathbf{A} \mathbf{V}) = \mathbf{s} = \sigma_1, \ldots, \sigma_p \]" src="form_168.png"> |
---|
1294 | <p> |
---|
1295 | where the elements of <img class="formulaInl" alt="$\mathbf{s}$" src="form_170.png">, <img class="formulaInl" alt="$\sigma_1 \geq \sigma_2 \geq \ldots \sigma_p \geq 0$" src="form_165.png"> are the singular values of <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png">. Or put differently: <p class="formulaDsp"> |
---|
1296 | <img class="formulaDsp" alt="\[ \mathbf{A} = \mathbf{U} \mathbf{S} \mathbf{V}^H \]" src="form_169.png"> |
---|
1297 | <p> |
---|
1298 | where <img class="formulaInl" alt="$ \mathrm{diag}(\mathbf{S}) = \mathbf{s} $" src="form_167.png"><p> |
---|
1299 | <dl class="note" compact><dt><b>Note:</b></dt><dd>An external LAPACK library is required by this function. </dd></dl> |
---|
1300 | |
---|
1301 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
1302 | |
---|
1303 | </div> |
---|
1304 | </div><p> |
---|
1305 | <a class="anchor" name="g908131485c5c53ed2e84e2f0a258db8c"></a><!-- doxytag: member="itpp::svd" ref="g908131485c5c53ed2e84e2f0a258db8c" args="(const mat &A, mat &U, vec &s, mat &V)" --> |
---|
1306 | <div class="memitem"> |
---|
1307 | <div class="memproto"> |
---|
1308 | <table class="memname"> |
---|
1309 | <tr> |
---|
1310 | <td class="memname">bool itpp::svd </td> |
---|
1311 | <td>(</td> |
---|
1312 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
1313 | <td class="paramname"> <em>A</em>, </td> |
---|
1314 | </tr> |
---|
1315 | <tr> |
---|
1316 | <td class="paramkey"></td> |
---|
1317 | <td></td> |
---|
1318 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
1319 | <td class="paramname"> <em>U</em>, </td> |
---|
1320 | </tr> |
---|
1321 | <tr> |
---|
1322 | <td class="paramkey"></td> |
---|
1323 | <td></td> |
---|
1324 | <td class="paramtype"><a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> & </td> |
---|
1325 | <td class="paramname"> <em>s</em>, </td> |
---|
1326 | </tr> |
---|
1327 | <tr> |
---|
1328 | <td class="paramkey"></td> |
---|
1329 | <td></td> |
---|
1330 | <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
1331 | <td class="paramname"> <em>V</em></td><td> </td> |
---|
1332 | </tr> |
---|
1333 | <tr> |
---|
1334 | <td></td> |
---|
1335 | <td>)</td> |
---|
1336 | <td></td><td></td><td></td> |
---|
1337 | </tr> |
---|
1338 | </table> |
---|
1339 | </div> |
---|
1340 | <div class="memdoc"> |
---|
1341 | |
---|
1342 | <p> |
---|
1343 | Perform Singular Value Decomposition (SVD) of a real matrix <code>A</code>. |
---|
1344 | <p> |
---|
1345 | This function returns two orthonormal matrices <img class="formulaInl" alt="$U$" src="form_32.png"> and <img class="formulaInl" alt="$V$" src="form_29.png"> and a vector of singular values <img class="formulaInl" alt="$s$" src="form_163.png">. The SVD algorithm computes the decomposition of a real <img class="formulaInl" alt="$m \times n$" src="form_140.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> so that <p class="formulaDsp"> |
---|
1346 | <img class="formulaDsp" alt="\[ \mathrm{diag}(\mathbf{U}^T \mathbf{A} \mathbf{V}) = \mathbf{s} = \sigma_1, \ldots, \sigma_p \]" src="form_164.png"> |
---|
1347 | <p> |
---|
1348 | where the elements of <img class="formulaInl" alt="$\mathbf{s}$" src="form_170.png">, <img class="formulaInl" alt="$\sigma_1 \geq \sigma_2 \geq \ldots \sigma_p \geq 0$" src="form_165.png"> are the singular values of <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png">. Or put differently: <p class="formulaDsp"> |
---|
1349 | <img class="formulaDsp" alt="\[ \mathbf{A} = \mathbf{U} \mathbf{S} \mathbf{V}^T \]" src="form_166.png"> |
---|
1350 | <p> |
---|
1351 | where <img class="formulaInl" alt="$ \mathrm{diag}(\mathbf{S}) = \mathbf{s} $" src="form_167.png"><p> |
---|
1352 | <dl class="note" compact><dt><b>Note:</b></dt><dd>An external LAPACK library is required by this function. </dd></dl> |
---|
1353 | |
---|
1354 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
1355 | |
---|
1356 | </div> |
---|
1357 | </div><p> |
---|
1358 | <a class="anchor" name="ga53763a60632139d71957ea7cf0080c9"></a><!-- doxytag: member="itpp::svd" ref="ga53763a60632139d71957ea7cf0080c9" args="(const cmat &A)" --> |
---|
1359 | <div class="memitem"> |
---|
1360 | <div class="memproto"> |
---|
1361 | <table class="memname"> |
---|
1362 | <tr> |
---|
1363 | <td class="memname"><a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> itpp::svd </td> |
---|
1364 | <td>(</td> |
---|
1365 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
1366 | <td class="paramname"> <em>A</em> </td> |
---|
1367 | <td> ) </td> |
---|
1368 | <td></td> |
---|
1369 | </tr> |
---|
1370 | </table> |
---|
1371 | </div> |
---|
1372 | <div class="memdoc"> |
---|
1373 | |
---|
1374 | <p> |
---|
1375 | Return singular values of a complex matrix <code>A</code> using SVD. |
---|
1376 | <p> |
---|
1377 | This function returns singular values from the SVD decomposition of a complex matrix <img class="formulaInl" alt="$A$" src="form_138.png">. The SVD algorithm computes the decomposition of a complex <img class="formulaInl" alt="$m \times n$" src="form_140.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> so that <p class="formulaDsp"> |
---|
1378 | <img class="formulaDsp" alt="\[ \mathrm{diag}(\mathbf{U}^H \mathbf{A} \mathbf{V}) = \mathbf{s} = \sigma_1, \ldots, \sigma_p \]" src="form_168.png"> |
---|
1379 | <p> |
---|
1380 | where <img class="formulaInl" alt="$\sigma_1 \geq \sigma_2 \geq \ldots \sigma_p \geq 0$" src="form_165.png"> are the singular values of <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png">. Or put differently: <p class="formulaDsp"> |
---|
1381 | <img class="formulaDsp" alt="\[ \mathbf{A} = \mathbf{U} \mathbf{S} \mathbf{V}^H \]" src="form_169.png"> |
---|
1382 | <p> |
---|
1383 | where <img class="formulaInl" alt="$ \mathrm{diag}(\mathbf{S}) = \mathbf{s} $" src="form_167.png"><p> |
---|
1384 | <dl class="note" compact><dt><b>Note:</b></dt><dd>An external LAPACK library is required by this function. </dd></dl> |
---|
1385 | |
---|
1386 | <p>Referenced by <a class="el" href="misc__stat_8cpp-source.html#l00105">itpp::norm()</a>, <a class="el" href="matfunc_8h-source.html#l00493">itpp::rank()</a>, and <a class="el" href="svd_8cpp-source.html#l00211">itpp::svd()</a>.</p> |
---|
1387 | |
---|
1388 | </div> |
---|
1389 | </div><p> |
---|
1390 | <a class="anchor" name="ge3b83ff6532c19ec15ffe76450b70e2c"></a><!-- doxytag: member="itpp::svd" ref="ge3b83ff6532c19ec15ffe76450b70e2c" args="(const mat &A)" --> |
---|
1391 | <div class="memitem"> |
---|
1392 | <div class="memproto"> |
---|
1393 | <table class="memname"> |
---|
1394 | <tr> |
---|
1395 | <td class="memname"><a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> itpp::svd </td> |
---|
1396 | <td>(</td> |
---|
1397 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
1398 | <td class="paramname"> <em>A</em> </td> |
---|
1399 | <td> ) </td> |
---|
1400 | <td></td> |
---|
1401 | </tr> |
---|
1402 | </table> |
---|
1403 | </div> |
---|
1404 | <div class="memdoc"> |
---|
1405 | |
---|
1406 | <p> |
---|
1407 | Return singular values of a real matrix <code>A</code> using SVD. |
---|
1408 | <p> |
---|
1409 | This function returns singular values from the SVD decomposition of a real matrix <img class="formulaInl" alt="$A$" src="form_138.png">. The SVD algorithm computes the decomposition of a real <img class="formulaInl" alt="$m \times n$" src="form_140.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> so that <p class="formulaDsp"> |
---|
1410 | <img class="formulaDsp" alt="\[ \mathrm{diag}(\mathbf{U}^T \mathbf{A} \mathbf{V}) = \mathbf{s} = \sigma_1, \ldots, \sigma_p \]" src="form_164.png"> |
---|
1411 | <p> |
---|
1412 | where <img class="formulaInl" alt="$\sigma_1 \geq \sigma_2 \geq \ldots \sigma_p \geq 0$" src="form_165.png"> are the singular values of <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png">. Or put differently: <p class="formulaDsp"> |
---|
1413 | <img class="formulaDsp" alt="\[ \mathbf{A} = \mathbf{U} \mathbf{S} \mathbf{V}^T \]" src="form_166.png"> |
---|
1414 | <p> |
---|
1415 | where <img class="formulaInl" alt="$ \mathrm{diag}(\mathbf{S}) = \mathbf{s} $" src="form_167.png"><p> |
---|
1416 | <dl class="note" compact><dt><b>Note:</b></dt><dd>An external LAPACK library is required by this function. </dd></dl> |
---|
1417 | |
---|
1418 | <p>References <a class="el" href="svd_8cpp-source.html#l00218">itpp::svd()</a>.</p> |
---|
1419 | |
---|
1420 | </div> |
---|
1421 | </div><p> |
---|
1422 | <a class="anchor" name="g92dd138100c619c71ba24b3dae0dec72"></a><!-- doxytag: member="itpp::svd" ref="g92dd138100c619c71ba24b3dae0dec72" args="(const cmat &A, vec &s)" --> |
---|
1423 | <div class="memitem"> |
---|
1424 | <div class="memproto"> |
---|
1425 | <table class="memname"> |
---|
1426 | <tr> |
---|
1427 | <td class="memname">bool itpp::svd </td> |
---|
1428 | <td>(</td> |
---|
1429 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a> & </td> |
---|
1430 | <td class="paramname"> <em>A</em>, </td> |
---|
1431 | </tr> |
---|
1432 | <tr> |
---|
1433 | <td class="paramkey"></td> |
---|
1434 | <td></td> |
---|
1435 | <td class="paramtype"><a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> & </td> |
---|
1436 | <td class="paramname"> <em>s</em></td><td> </td> |
---|
1437 | </tr> |
---|
1438 | <tr> |
---|
1439 | <td></td> |
---|
1440 | <td>)</td> |
---|
1441 | <td></td><td></td><td></td> |
---|
1442 | </tr> |
---|
1443 | </table> |
---|
1444 | </div> |
---|
1445 | <div class="memdoc"> |
---|
1446 | |
---|
1447 | <p> |
---|
1448 | Get singular values <code>s</code> of a complex matrix <code>A</code> using SVD. |
---|
1449 | <p> |
---|
1450 | This function calculates singular values <img class="formulaInl" alt="$s$" src="form_163.png"> from the SVD decomposition of a complex matrix <img class="formulaInl" alt="$A$" src="form_138.png">. The SVD algorithm computes the decomposition of a complex <img class="formulaInl" alt="$m \times n$" src="form_140.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> so that <p class="formulaDsp"> |
---|
1451 | <img class="formulaDsp" alt="\[ \mathrm{diag}(\mathbf{U}^H \mathbf{A} \mathbf{V}) = \mathbf{s} = \sigma_1, \ldots, \sigma_p \]" src="form_168.png"> |
---|
1452 | <p> |
---|
1453 | where <img class="formulaInl" alt="$\sigma_1 \geq \sigma_2 \geq \ldots \sigma_p \geq 0$" src="form_165.png"> are the singular values of <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png">. Or put differently: <p class="formulaDsp"> |
---|
1454 | <img class="formulaDsp" alt="\[ \mathbf{A} = \mathbf{U} \mathbf{S} \mathbf{V}^H \]" src="form_169.png"> |
---|
1455 | <p> |
---|
1456 | where <img class="formulaInl" alt="$ \mathrm{diag}(\mathbf{S}) = \mathbf{s} $" src="form_167.png"><p> |
---|
1457 | <dl class="note" compact><dt><b>Note:</b></dt><dd>An external LAPACK library is required by this function. </dd></dl> |
---|
1458 | |
---|
1459 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
1460 | |
---|
1461 | </div> |
---|
1462 | </div><p> |
---|
1463 | <a class="anchor" name="g9fcc7191c3cee4db65e51d93123c7fba"></a><!-- doxytag: member="itpp::svd" ref="g9fcc7191c3cee4db65e51d93123c7fba" args="(const mat &A, vec &s)" --> |
---|
1464 | <div class="memitem"> |
---|
1465 | <div class="memproto"> |
---|
1466 | <table class="memname"> |
---|
1467 | <tr> |
---|
1468 | <td class="memname">bool itpp::svd </td> |
---|
1469 | <td>(</td> |
---|
1470 | <td class="paramtype">const <a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a> & </td> |
---|
1471 | <td class="paramname"> <em>A</em>, </td> |
---|
1472 | </tr> |
---|
1473 | <tr> |
---|
1474 | <td class="paramkey"></td> |
---|
1475 | <td></td> |
---|
1476 | <td class="paramtype"><a class="el" href="classitpp_1_1Vec.html#02e1bb55f60f3c2eb7a020eb1c2cfcf4">vec</a> & </td> |
---|
1477 | <td class="paramname"> <em>s</em></td><td> </td> |
---|
1478 | </tr> |
---|
1479 | <tr> |
---|
1480 | <td></td> |
---|
1481 | <td>)</td> |
---|
1482 | <td></td><td></td><td></td> |
---|
1483 | </tr> |
---|
1484 | </table> |
---|
1485 | </div> |
---|
1486 | <div class="memdoc"> |
---|
1487 | |
---|
1488 | <p> |
---|
1489 | Get singular values <code>s</code> of a real matrix <code>A</code> using SVD. |
---|
1490 | <p> |
---|
1491 | This function calculates singular values <img class="formulaInl" alt="$s$" src="form_163.png"> from the SVD decomposition of a real matrix <img class="formulaInl" alt="$A$" src="form_138.png">. The SVD algorithm computes the decomposition of a real <img class="formulaInl" alt="$m \times n$" src="form_140.png"> matrix <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png"> so that <p class="formulaDsp"> |
---|
1492 | <img class="formulaDsp" alt="\[ \mathrm{diag}(\mathbf{U}^T \mathbf{A} \mathbf{V}) = \mathbf{s} = \sigma_1, \ldots, \sigma_p \]" src="form_164.png"> |
---|
1493 | <p> |
---|
1494 | where <img class="formulaInl" alt="$\sigma_1 \geq \sigma_2 \geq \ldots \sigma_p \geq 0$" src="form_165.png"> are the singular values of <img class="formulaInl" alt="$\mathbf{A}$" src="form_134.png">. Or put differently: <p class="formulaDsp"> |
---|
1495 | <img class="formulaDsp" alt="\[ \mathbf{A} = \mathbf{U} \mathbf{S} \mathbf{V}^T \]" src="form_166.png"> |
---|
1496 | <p> |
---|
1497 | where <img class="formulaInl" alt="$ \mathrm{diag}(\mathbf{S}) = \mathbf{s} $" src="form_167.png"><p> |
---|
1498 | <dl class="note" compact><dt><b>Note:</b></dt><dd>An external LAPACK library is required by this function. </dd></dl> |
---|
1499 | |
---|
1500 | <p>References <a class="el" href="itassert_8h-source.html#l00126">it_error</a>.</p> |
---|
1501 | |
---|
1502 | </div> |
---|
1503 | </div><p> |
---|
1504 | </div> |
---|
1505 | <hr size="1"><address style="text-align: right;"><small>Generated on Tue Jun 2 10:02:14 2009 for mixpp by |
---|
1506 | <a href="http://www.doxygen.org/index.html"> |
---|
1507 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address> |
---|
1508 | </body> |
---|
1509 | </html> |
---|