[591] | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
---|
| 2 | <html xmlns="http://www.w3.org/1999/xhtml"> |
---|
| 3 | <head> |
---|
| 4 | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
---|
[538] | 5 | <title>mixpp: bdm::ldmat Class Reference</title> |
---|
[591] | 6 | <link href="tabs.css" rel="stylesheet" type="text/css"/> |
---|
| 7 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
---|
| 8 | </head> |
---|
| 9 | <body> |
---|
| 10 | <!-- Generated by Doxygen 1.6.1 --> |
---|
[538] | 11 | <script type="text/javascript"> |
---|
| 12 | <!-- |
---|
| 13 | function changeDisplayState (e){ |
---|
| 14 | var num=this.id.replace(/[^[0-9]/g,''); |
---|
| 15 | var button=this.firstChild; |
---|
| 16 | var sectionDiv=document.getElementById('dynsection'+num); |
---|
| 17 | if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){ |
---|
| 18 | sectionDiv.style.display='block'; |
---|
| 19 | button.src='open.gif'; |
---|
| 20 | }else{ |
---|
| 21 | sectionDiv.style.display='none'; |
---|
| 22 | button.src='closed.gif'; |
---|
| 23 | } |
---|
| 24 | } |
---|
| 25 | function initDynSections(){ |
---|
| 26 | var divs=document.getElementsByTagName('div'); |
---|
| 27 | var sectionCounter=1; |
---|
| 28 | for(var i=0;i<divs.length-1;i++){ |
---|
| 29 | if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){ |
---|
| 30 | var header=divs[i]; |
---|
| 31 | var section=divs[i+1]; |
---|
| 32 | var button=header.firstChild; |
---|
| 33 | if (button!='IMG'){ |
---|
| 34 | divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild); |
---|
| 35 | button=document.createElement('img'); |
---|
| 36 | divs[i].insertBefore(button,divs[i].firstChild); |
---|
| 37 | } |
---|
| 38 | header.style.cursor='pointer'; |
---|
| 39 | header.onclick=changeDisplayState; |
---|
| 40 | header.id='dynheader'+sectionCounter; |
---|
| 41 | button.src='closed.gif'; |
---|
| 42 | section.id='dynsection'+sectionCounter; |
---|
| 43 | section.style.display='none'; |
---|
| 44 | section.style.marginLeft='14px'; |
---|
| 45 | sectionCounter++; |
---|
| 46 | } |
---|
| 47 | } |
---|
| 48 | } |
---|
| 49 | window.onload = initDynSections; |
---|
| 50 | --> |
---|
| 51 | </script> |
---|
| 52 | <div class="navigation" id="top"> |
---|
| 53 | <div class="tabs"> |
---|
| 54 | <ul> |
---|
| 55 | <li><a href="main.html"><span>Main Page</span></a></li> |
---|
| 56 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
---|
| 57 | <li class="current"><a href="annotated.html"><span>Classes</span></a></li> |
---|
| 58 | <li><a href="files.html"><span>Files</span></a></li> |
---|
| 59 | </ul> |
---|
| 60 | </div> |
---|
| 61 | <div class="tabs"> |
---|
| 62 | <ul> |
---|
| 63 | <li><a href="annotated.html"><span>Class List</span></a></li> |
---|
| 64 | <li><a href="classes.html"><span>Class Index</span></a></li> |
---|
| 65 | <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> |
---|
| 66 | <li><a href="functions.html"><span>Class Members</span></a></li> |
---|
| 67 | </ul> |
---|
| 68 | </div> |
---|
| 69 | <div class="navpath"><b>bdm</b>::<a class="el" href="classbdm_1_1ldmat.html">ldmat</a> |
---|
| 70 | </div> |
---|
| 71 | </div> |
---|
| 72 | <div class="contents"> |
---|
[591] | 73 | <h1>bdm::ldmat Class Reference</h1><!-- doxytag: class="bdm::ldmat" --><!-- doxytag: inherits="bdm::sqmat" --> |
---|
| 74 | <p>Matrix stored in LD form, (commonly known as UD). |
---|
| 75 | <a href="#_details">More...</a></p> |
---|
[538] | 76 | |
---|
[591] | 77 | <p><code>#include <<a class="el" href="square__mat_8h_source.html">square_mat.h</a>></code></p> |
---|
[538] | 78 | |
---|
[591] | 79 | <p><a href="classbdm_1_1ldmat-members.html">List of all members.</a></p> |
---|
| 80 | <table border="0" cellpadding="0" cellspacing="0"> |
---|
| 81 | <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> |
---|
| 82 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab7cedf5afc8eee19a8332cca00a0d1d"></a><!-- doxytag: member="bdm::ldmat::ldmat" ref="aab7cedf5afc8eee19a8332cca00a0d1d" args="(const mat &L, const vec &D)" --> |
---|
| 83 | </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#aab7cedf5afc8eee19a8332cca00a0d1d">ldmat</a> (const mat &<a class="el" href="classbdm_1_1ldmat.html#a2488cf5a8f056b2566e2565d1ce9ec57">L</a>, const vec &<a class="el" href="classbdm_1_1ldmat.html#a03b89dcb9a5241a237a07102f932638f">D</a>)</td></tr> |
---|
| 84 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct by copy of L and D. <br/></td></tr> |
---|
| 85 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25f1f3b8486ea625f363b850ecfb7a5c"></a><!-- doxytag: member="bdm::ldmat::ldmat" ref="a25f1f3b8486ea625f363b850ecfb7a5c" args="(const mat &V)" --> |
---|
| 86 | </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a25f1f3b8486ea625f363b850ecfb7a5c">ldmat</a> (const mat &V)</td></tr> |
---|
| 87 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct by decomposition of full matrix V. <br/></td></tr> |
---|
| 88 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a984df3535e93e777dc5f9897aa682176"></a><!-- doxytag: member="bdm::ldmat::ldmat" ref="a984df3535e93e777dc5f9897aa682176" args="(const ldmat &V0, const ivec &perm)" --> |
---|
| 89 | </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a984df3535e93e777dc5f9897aa682176">ldmat</a> (const <a class="el" href="classbdm_1_1ldmat.html">ldmat</a> &V0, const ivec &perm)</td></tr> |
---|
| 90 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct by restructuring of V0 accordint to permutation vector perm. <br/></td></tr> |
---|
| 91 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af0a6f9df500f828deed28bdd64751be4"></a><!-- doxytag: member="bdm::ldmat::ldmat" ref="af0a6f9df500f828deed28bdd64751be4" args="(vec D0)" --> |
---|
| 92 | </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#af0a6f9df500f828deed28bdd64751be4">ldmat</a> (vec D0)</td></tr> |
---|
| 93 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct diagonal matrix with diagonal D0. <br/></td></tr> |
---|
| 94 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a30235afa1e80e709d7d7da380201a990"></a><!-- doxytag: member="bdm::ldmat::ldmat" ref="a30235afa1e80e709d7d7da380201a990" args="()" --> |
---|
| 95 | </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a30235afa1e80e709d7d7da380201a990">ldmat</a> ()</td></tr> |
---|
| 96 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br/></td></tr> |
---|
| 97 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0e26866f41642669bbdff4a496f1f26f"></a><!-- doxytag: member="bdm::ldmat::ldmat" ref="a0e26866f41642669bbdff4a496f1f26f" args="(const int dim0)" --> |
---|
| 98 | </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a0e26866f41642669bbdff4a496f1f26f">ldmat</a> (const int dim0)</td></tr> |
---|
| 99 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Default initialization with proper size. <br/></td></tr> |
---|
| 100 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adeb3ea5e22f1c12fe06a56841d1c5ccc"></a><!-- doxytag: member="bdm::ldmat::~ldmat" ref="adeb3ea5e22f1c12fe06a56841d1c5ccc" args="()" --> |
---|
| 101 | virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#adeb3ea5e22f1c12fe06a56841d1c5ccc">~ldmat</a> ()</td></tr> |
---|
| 102 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor for future use;. <br/></td></tr> |
---|
| 103 | <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#ac9dc3f1f86d36ec7eedb8746eb2c3b5c">opupdt</a> (const vec &v, double w)</td></tr> |
---|
| 104 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a387f6acb29086e93828331a30a638ae4"></a><!-- doxytag: member="bdm::ldmat::to_mat" ref="a387f6acb29086e93828331a30a638ae4" args="() const " --> |
---|
| 105 | mat </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a387f6acb29086e93828331a30a638ae4">to_mat</a> () const </td></tr> |
---|
| 106 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Conversion to full matrix. <br/></td></tr> |
---|
| 107 | <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a7a813158c36347deccf50a08feee24a8">mult_sym</a> (const mat &C)</td></tr> |
---|
[608] | 108 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Inplace symmetric multiplication by a SQUARE matrix <img class="formulaInl" alt="$C$" src="form_60.png"/>, i.e. <img class="formulaInl" alt="$V = C*V*C'$" src="form_61.png"/>. <a href="#a7a813158c36347deccf50a08feee24a8"></a><br/></td></tr> |
---|
[591] | 109 | <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a591ae54f5fce50e7160025eeab44888f">mult_sym_t</a> (const mat &C)</td></tr> |
---|
[608] | 110 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Inplace symmetric multiplication by a SQUARE transpose of matrix <img class="formulaInl" alt="$C$" src="form_60.png"/>, i.e. <img class="formulaInl" alt="$V = C'*V*C$" src="form_62.png"/>. <a href="#a591ae54f5fce50e7160025eeab44888f"></a><br/></td></tr> |
---|
[591] | 111 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ae1fe991497135973a18097a58c6f25"></a><!-- doxytag: member="bdm::ldmat::add" ref="a9ae1fe991497135973a18097a58c6f25" args="(const ldmat &ld2, double w=1.0)" --> |
---|
| 112 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a9ae1fe991497135973a18097a58c6f25">add</a> (const <a class="el" href="classbdm_1_1ldmat.html">ldmat</a> &ld2, double w=1.0)</td></tr> |
---|
| 113 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Add another matrix in LD form with weight w. <br/></td></tr> |
---|
| 114 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0913623ee335d78f96bb474f62616375"></a><!-- doxytag: member="bdm::ldmat::logdet" ref="a0913623ee335d78f96bb474f62616375" args="() const " --> |
---|
| 115 | double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a0913623ee335d78f96bb474f62616375">logdet</a> () const </td></tr> |
---|
| 116 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Logarithm of a determinant. <br/></td></tr> |
---|
| 117 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5725cb504d3dd68713ac232c18526c87"></a><!-- doxytag: member="bdm::ldmat::qform" ref="a5725cb504d3dd68713ac232c18526c87" args="(const vec &v) const " --> |
---|
| 118 | double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a5725cb504d3dd68713ac232c18526c87">qform</a> (const vec &v) const </td></tr> |
---|
[608] | 119 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Evaluates quadratic form <img class="formulaInl" alt="$x= v'*V*v$" src="form_64.png"/>;. <br/></td></tr> |
---|
[591] | 120 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af743de194aadb8515cf18226fadf365f"></a><!-- doxytag: member="bdm::ldmat::invqform" ref="af743de194aadb8515cf18226fadf365f" args="(const vec &v) const " --> |
---|
| 121 | double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#af743de194aadb8515cf18226fadf365f">invqform</a> (const vec &v) const </td></tr> |
---|
[608] | 122 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Evaluates quadratic form <img class="formulaInl" alt="$x= v'*inv(V)*v$" src="form_65.png"/>;. <br/></td></tr> |
---|
[591] | 123 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a913a4746f16e4c5e130f63bd3f31829a"></a><!-- doxytag: member="bdm::ldmat::clear" ref="a913a4746f16e4c5e130f63bd3f31829a" args="()" --> |
---|
| 124 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a913a4746f16e4c5e130f63bd3f31829a">clear</a> ()</td></tr> |
---|
| 125 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Clearing matrix so that it corresponds to zeros. <br/></td></tr> |
---|
| 126 | <tr><td class="memItemLeft" align="right" valign="top">vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a2c670269c0ee397eb49ba7b0712e16a5">sqrt_mult</a> (const vec &v) const </td></tr> |
---|
[608] | 127 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Multiplies square <a class="el" href="classbdm_1_1root.html" title="Root class of BDM objects.">root</a> of <img class="formulaInl" alt="$V$" src="form_63.png"/> by vector <img class="formulaInl" alt="$x$" src="form_1.png"/>. <a href="#a2c670269c0ee397eb49ba7b0712e16a5"></a><br/></td></tr> |
---|
[591] | 128 | <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#ae5940e396d822b9e93a43ac0924d3823">inv</a> (<a class="el" href="classbdm_1_1ldmat.html">ldmat</a> &Inv) const </td></tr> |
---|
| 129 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Matrix inversion preserving the chosen form. <a href="#ae5940e396d822b9e93a43ac0924d3823"></a><br/></td></tr> |
---|
| 130 | <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a138e64000ce94d8bc35105094d213e67">mult_sym</a> (const mat &C, <a class="el" href="classbdm_1_1ldmat.html">ldmat</a> &U) const </td></tr> |
---|
[608] | 131 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Symmetric multiplication of <img class="formulaInl" alt="$U$" src="form_66.png"/> by a general matrix <img class="formulaInl" alt="$C$" src="form_60.png"/>, result of which is stored in the current class. <a href="#a138e64000ce94d8bc35105094d213e67"></a><br/></td></tr> |
---|
[591] | 132 | <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a9f812a24ad5e29348de2cb23c6c6dd96">mult_sym_t</a> (const mat &C, <a class="el" href="classbdm_1_1ldmat.html">ldmat</a> &U) const </td></tr> |
---|
[608] | 133 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Symmetric multiplication of <img class="formulaInl" alt="$U$" src="form_66.png"/> by a transpose of a general matrix <img class="formulaInl" alt="$C$" src="form_60.png"/>, result of which is stored in the current class. <a href="#a9f812a24ad5e29348de2cb23c6c6dd96"></a><br/></td></tr> |
---|
[591] | 134 | <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#af95718893e86bff149080116736ab566">ldform</a> (const mat &A, const vec &D0)</td></tr> |
---|
[608] | 135 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Transforms general <img class="formulaInl" alt="$A'D0 A$" src="form_67.png"/> into pure <img class="formulaInl" alt="$L'DL$" src="form_68.png"/>. <a href="#af95718893e86bff149080116736ab566"></a><br/></td></tr> |
---|
[591] | 136 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72e61ad4e0653f4fc38e7d60d3cf1d4e"></a><!-- doxytag: member="bdm::ldmat::setD" ref="a72e61ad4e0653f4fc38e7d60d3cf1d4e" args="(const vec &nD)" --> |
---|
| 137 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a72e61ad4e0653f4fc38e7d60d3cf1d4e">setD</a> (const vec &nD)</td></tr> |
---|
| 138 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Access functions. <br/></td></tr> |
---|
| 139 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac4aa9180695e22fec17c714c5494a8b1"></a><!-- doxytag: member="bdm::ldmat::setD" ref="ac4aa9180695e22fec17c714c5494a8b1" args="(const vec &nD, int i)" --> |
---|
| 140 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#ac4aa9180695e22fec17c714c5494a8b1">setD</a> (const vec &nD, int i)</td></tr> |
---|
| 141 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Access functions. <br/></td></tr> |
---|
| 142 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af8d6bb6f315c25b8f8af72e4e62230ee"></a><!-- doxytag: member="bdm::ldmat::setL" ref="af8d6bb6f315c25b8f8af72e4e62230ee" args="(const vec &nL)" --> |
---|
| 143 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#af8d6bb6f315c25b8f8af72e4e62230ee">setL</a> (const vec &nL)</td></tr> |
---|
| 144 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Access functions. <br/></td></tr> |
---|
| 145 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0cc4632b40e8b61945bd463913d08b69"></a><!-- doxytag: member="bdm::ldmat::_D" ref="a0cc4632b40e8b61945bd463913d08b69" args="() const " --> |
---|
| 146 | const vec & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a0cc4632b40e8b61945bd463913d08b69">_D</a> () const </td></tr> |
---|
| 147 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Access functions. <br/></td></tr> |
---|
| 148 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75c80134f0602ec1face282ec0f05b96"></a><!-- doxytag: member="bdm::ldmat::_L" ref="a75c80134f0602ec1face282ec0f05b96" args="() const " --> |
---|
| 149 | const mat & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a75c80134f0602ec1face282ec0f05b96">_L</a> () const </td></tr> |
---|
| 150 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Access functions. <br/></td></tr> |
---|
| 151 | <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbdm_1_1ldmat.html">ldmat</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a6e1d28681e7e7e6b570a14a9a370821a">operator+=</a> (const <a class="el" href="classbdm_1_1ldmat.html">ldmat</a> &ldA)</td></tr> |
---|
| 152 | <tr><td class="mdescLeft"> </td><td class="mdescRight">add another <a class="el" href="classbdm_1_1ldmat.html" title="Matrix stored in LD form, (commonly known as UD).">ldmat</a> matrix <a href="#a6e1d28681e7e7e6b570a14a9a370821a"></a><br/></td></tr> |
---|
| 153 | <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbdm_1_1ldmat.html">ldmat</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#adb2f7a02b4686ea1bf7013284b40d954">operator-=</a> (const <a class="el" href="classbdm_1_1ldmat.html">ldmat</a> &ldA)</td></tr> |
---|
| 154 | <tr><td class="mdescLeft"> </td><td class="mdescRight">subtract another <a class="el" href="classbdm_1_1ldmat.html" title="Matrix stored in LD form, (commonly known as UD).">ldmat</a> matrix <a href="#adb2f7a02b4686ea1bf7013284b40d954"></a><br/></td></tr> |
---|
| 155 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad387ee8c6e5514244a00e4e8ff1e533c"></a><!-- doxytag: member="bdm::ldmat::operator*=" ref="ad387ee8c6e5514244a00e4e8ff1e533c" args="(double x)" --> |
---|
| 156 | <a class="el" href="classbdm_1_1ldmat.html">ldmat</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#ad387ee8c6e5514244a00e4e8ff1e533c">operator*=</a> (double x)</td></tr> |
---|
| 157 | <tr><td class="mdescLeft"> </td><td class="mdescRight">multiply by a scalar <br/></td></tr> |
---|
| 158 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a445ef762cf5d2d6cfdf53c72942363cf"></a><!-- doxytag: member="bdm::ldmat::cols" ref="a445ef762cf5d2d6cfdf53c72942363cf" args="() const " --> |
---|
| 159 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a445ef762cf5d2d6cfdf53c72942363cf">cols</a> () const </td></tr> |
---|
| 160 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Reimplementing common functions of mat: <a class="el" href="classbdm_1_1sqmat.html#a445ef762cf5d2d6cfdf53c72942363cf" title="Reimplementing common functions of mat: cols().">cols()</a>. <br/></td></tr> |
---|
| 161 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73e639221343dcce76c3305524d67590"></a><!-- doxytag: member="bdm::ldmat::rows" ref="a73e639221343dcce76c3305524d67590" args="() const " --> |
---|
| 162 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a73e639221343dcce76c3305524d67590">rows</a> () const </td></tr> |
---|
| 163 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Reimplementing common functions of mat: <a class="el" href="classbdm_1_1sqmat.html#a73e639221343dcce76c3305524d67590" title="Reimplementing common functions of mat: rows().">rows()</a>. <br/></td></tr> |
---|
| 164 | <tr><td colspan="2"><h2>Protected Attributes</h2></td></tr> |
---|
| 165 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a03b89dcb9a5241a237a07102f932638f"></a><!-- doxytag: member="bdm::ldmat::D" ref="a03b89dcb9a5241a237a07102f932638f" args="" --> |
---|
| 166 | vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a03b89dcb9a5241a237a07102f932638f">D</a></td></tr> |
---|
[608] | 167 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Positive vector <img class="formulaInl" alt="$D$" src="form_58.png"/>. <br/></td></tr> |
---|
[591] | 168 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2488cf5a8f056b2566e2565d1ce9ec57"></a><!-- doxytag: member="bdm::ldmat::L" ref="a2488cf5a8f056b2566e2565d1ce9ec57" args="" --> |
---|
| 169 | mat </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#a2488cf5a8f056b2566e2565d1ce9ec57">L</a></td></tr> |
---|
[608] | 170 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Lower-triangular matrix <img class="formulaInl" alt="$L$" src="form_57.png"/>. <br/></td></tr> |
---|
[591] | 171 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05111b5744a494880e62cb0f3d42293f"></a><!-- doxytag: member="bdm::ldmat::dim" ref="a05111b5744a494880e62cb0f3d42293f" args="" --> |
---|
| 172 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a05111b5744a494880e62cb0f3d42293f">dim</a></td></tr> |
---|
| 173 | <tr><td class="mdescLeft"> </td><td class="mdescRight">dimension of the square matrix <br/></td></tr> |
---|
| 174 | <tr><td colspan="2"><h2>Friends</h2></td></tr> |
---|
| 175 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeaaa0baa6026b84cfcbced41c84599d1"></a><!-- doxytag: member="bdm::ldmat::operator<<" ref="aeaaa0baa6026b84cfcbced41c84599d1" args="(std::ostream &os, const ldmat &sq)" --> |
---|
| 176 | std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1ldmat.html#aeaaa0baa6026b84cfcbced41c84599d1">operator<<</a> (std::ostream &os, const <a class="el" href="classbdm_1_1ldmat.html">ldmat</a> &sq)</td></tr> |
---|
| 177 | <tr><td class="mdescLeft"> </td><td class="mdescRight">print both <code>L</code> and <code>D</code> <br/></td></tr> |
---|
[538] | 178 | </table> |
---|
[591] | 179 | <hr/><a name="_details"></a><h2>Detailed Description</h2> |
---|
| 180 | <p>Matrix stored in LD form, (commonly known as UD). </p> |
---|
| 181 | <p>Matrix is decomposed as follows: </p> |
---|
| 182 | <p class="formulaDsp"> |
---|
[608] | 183 | <img class="formulaDsp" alt="\[M = L'DL\]" src="form_56.png"/> |
---|
[591] | 184 | </p> |
---|
[608] | 185 | <p> where only <img class="formulaInl" alt="$L$" src="form_57.png"/> and <img class="formulaInl" alt="$D$" src="form_58.png"/> matrices are stored. All inplace operations modifies only these and the need to compose and decompose the matrix is avoided. </p> |
---|
[591] | 186 | <hr/><h2>Member Function Documentation</h2> |
---|
| 187 | <a class="anchor" id="ae5940e396d822b9e93a43ac0924d3823"></a><!-- doxytag: member="bdm::ldmat::inv" ref="ae5940e396d822b9e93a43ac0924d3823" args="(ldmat &Inv) const " --> |
---|
[538] | 188 | <div class="memitem"> |
---|
| 189 | <div class="memproto"> |
---|
| 190 | <table class="memname"> |
---|
| 191 | <tr> |
---|
[591] | 192 | <td class="memname">void bdm::ldmat::inv </td> |
---|
[538] | 193 | <td>(</td> |
---|
| 194 | <td class="paramtype"><a class="el" href="classbdm_1_1ldmat.html">ldmat</a> & </td> |
---|
[591] | 195 | <td class="paramname"> <em>Inv</em></td> |
---|
[538] | 196 | <td> ) </td> |
---|
| 197 | <td> const</td> |
---|
| 198 | </tr> |
---|
| 199 | </table> |
---|
| 200 | </div> |
---|
| 201 | <div class="memdoc"> |
---|
| 202 | |
---|
[591] | 203 | <p>Matrix inversion preserving the chosen form. </p> |
---|
| 204 | <dl><dt><b>Parameters:</b></dt><dd> |
---|
[538] | 205 | <table border="0" cellspacing="2" cellpadding="0"> |
---|
| 206 | <tr><td valign="top"></td><td valign="top"><em>Inv</em> </td><td>a space where the inverse is stored. </td></tr> |
---|
| 207 | </table> |
---|
[591] | 208 | </dd> |
---|
[538] | 209 | </dl> |
---|
| 210 | |
---|
[591] | 211 | <p>References <a class="el" href="square__mat_8cpp_source.html#l00134">clear()</a>, <a class="el" href="square__mat_8h_source.html#l00327">D</a>, <a class="el" href="square__mat_8h_source.html#l00329">L</a>, and <a class="el" href="square__mat_8cpp_source.html#l00228">ldform()</a>.</p> |
---|
[538] | 212 | |
---|
[591] | 213 | <p>Referenced by <a class="el" href="exp__family_8cpp_source.html#l00126">bdm::egiw::variance()</a>.</p> |
---|
[538] | 214 | |
---|
| 215 | </div> |
---|
[591] | 216 | </div> |
---|
| 217 | <a class="anchor" id="af95718893e86bff149080116736ab566"></a><!-- doxytag: member="bdm::ldmat::ldform" ref="af95718893e86bff149080116736ab566" args="(const mat &A, const vec &D0)" --> |
---|
[538] | 218 | <div class="memitem"> |
---|
| 219 | <div class="memproto"> |
---|
| 220 | <table class="memname"> |
---|
| 221 | <tr> |
---|
[591] | 222 | <td class="memname">void bdm::ldmat::ldform </td> |
---|
[538] | 223 | <td>(</td> |
---|
| 224 | <td class="paramtype">const mat & </td> |
---|
| 225 | <td class="paramname"> <em>A</em>, </td> |
---|
| 226 | </tr> |
---|
| 227 | <tr> |
---|
| 228 | <td class="paramkey"></td> |
---|
| 229 | <td></td> |
---|
| 230 | <td class="paramtype">const vec & </td> |
---|
| 231 | <td class="paramname"> <em>D0</em></td><td> </td> |
---|
| 232 | </tr> |
---|
| 233 | <tr> |
---|
| 234 | <td></td> |
---|
| 235 | <td>)</td> |
---|
| 236 | <td></td><td></td><td></td> |
---|
| 237 | </tr> |
---|
| 238 | </table> |
---|
| 239 | </div> |
---|
| 240 | <div class="memdoc"> |
---|
| 241 | |
---|
[608] | 242 | <p>Transforms general <img class="formulaInl" alt="$A'D0 A$" src="form_67.png"/> into pure <img class="formulaInl" alt="$L'DL$" src="form_68.png"/>. </p> |
---|
| 243 | <p>The new decomposition fullfills: <img class="formulaInl" alt="$A'*diag(D)*A = self.L'*diag(self.D)*self.L$" src="form_69.png"/> </p> |
---|
[591] | 244 | <dl><dt><b>Parameters:</b></dt><dd> |
---|
[538] | 245 | <table border="0" cellspacing="2" cellpadding="0"> |
---|
| 246 | <tr><td valign="top"></td><td valign="top"><em>A</em> </td><td>general matrix </td></tr> |
---|
| 247 | <tr><td valign="top"></td><td valign="top"><em>D0</em> </td><td>general vector </td></tr> |
---|
| 248 | </table> |
---|
[591] | 249 | </dd> |
---|
[538] | 250 | </dl> |
---|
| 251 | |
---|
[591] | 252 | <p>References <a class="el" href="bdmerror_8h_source.html#l00047">bdm_assert_debug</a>, <a class="el" href="square__mat_8h_source.html#l00327">D</a>, <a class="el" href="square__mat_8h_source.html#l00109">bdm::sqmat::dim</a>, and <a class="el" href="square__mat_8h_source.html#l00329">L</a>.</p> |
---|
[538] | 253 | |
---|
[591] | 254 | <p>Referenced by <a class="el" href="square__mat_8cpp_source.html#l00142">inv()</a>, <a class="el" href="square__mat_8cpp_source.html#l00065">ldmat()</a>, <a class="el" href="square__mat_8cpp_source.html#l00149">mult_sym()</a>, and <a class="el" href="square__mat_8cpp_source.html#l00154">mult_sym_t()</a>.</p> |
---|
[538] | 255 | |
---|
| 256 | </div> |
---|
[591] | 257 | </div> |
---|
| 258 | <a class="anchor" id="a138e64000ce94d8bc35105094d213e67"></a><!-- doxytag: member="bdm::ldmat::mult_sym" ref="a138e64000ce94d8bc35105094d213e67" args="(const mat &C, ldmat &U) const " --> |
---|
[538] | 259 | <div class="memitem"> |
---|
| 260 | <div class="memproto"> |
---|
| 261 | <table class="memname"> |
---|
| 262 | <tr> |
---|
[591] | 263 | <td class="memname">void bdm::ldmat::mult_sym </td> |
---|
[538] | 264 | <td>(</td> |
---|
| 265 | <td class="paramtype">const mat & </td> |
---|
| 266 | <td class="paramname"> <em>C</em>, </td> |
---|
| 267 | </tr> |
---|
| 268 | <tr> |
---|
| 269 | <td class="paramkey"></td> |
---|
| 270 | <td></td> |
---|
| 271 | <td class="paramtype"><a class="el" href="classbdm_1_1ldmat.html">ldmat</a> & </td> |
---|
| 272 | <td class="paramname"> <em>U</em></td><td> </td> |
---|
| 273 | </tr> |
---|
| 274 | <tr> |
---|
| 275 | <td></td> |
---|
| 276 | <td>)</td> |
---|
| 277 | <td></td><td></td><td> const</td> |
---|
| 278 | </tr> |
---|
| 279 | </table> |
---|
| 280 | </div> |
---|
| 281 | <div class="memdoc"> |
---|
| 282 | |
---|
[608] | 283 | <p>Symmetric multiplication of <img class="formulaInl" alt="$U$" src="form_66.png"/> by a general matrix <img class="formulaInl" alt="$C$" src="form_60.png"/>, result of which is stored in the current class. </p> |
---|
[591] | 284 | <dl><dt><b>Parameters:</b></dt><dd> |
---|
[538] | 285 | <table border="0" cellspacing="2" cellpadding="0"> |
---|
| 286 | <tr><td valign="top"></td><td valign="top"><em>C</em> </td><td>matrix to multiply with </td></tr> |
---|
| 287 | <tr><td valign="top"></td><td valign="top"><em>U</em> </td><td>a space where the inverse is stored. </td></tr> |
---|
| 288 | </table> |
---|
[591] | 289 | </dd> |
---|
[538] | 290 | </dl> |
---|
| 291 | |
---|
[591] | 292 | <p>References <a class="el" href="square__mat_8h_source.html#l00327">D</a>, <a class="el" href="square__mat_8h_source.html#l00329">L</a>, and <a class="el" href="square__mat_8cpp_source.html#l00228">ldform()</a>.</p> |
---|
[538] | 293 | |
---|
| 294 | </div> |
---|
[591] | 295 | </div> |
---|
| 296 | <a class="anchor" id="a7a813158c36347deccf50a08feee24a8"></a><!-- doxytag: member="bdm::ldmat::mult_sym" ref="a7a813158c36347deccf50a08feee24a8" args="(const mat &C)" --> |
---|
[538] | 297 | <div class="memitem"> |
---|
| 298 | <div class="memproto"> |
---|
| 299 | <table class="memname"> |
---|
| 300 | <tr> |
---|
[591] | 301 | <td class="memname">void bdm::ldmat::mult_sym </td> |
---|
[538] | 302 | <td>(</td> |
---|
| 303 | <td class="paramtype">const mat & </td> |
---|
[591] | 304 | <td class="paramname"> <em>C</em></td> |
---|
[538] | 305 | <td> ) </td> |
---|
| 306 | <td><code> [virtual]</code></td> |
---|
| 307 | </tr> |
---|
| 308 | </table> |
---|
| 309 | </div> |
---|
| 310 | <div class="memdoc"> |
---|
| 311 | |
---|
[608] | 312 | <p>Inplace symmetric multiplication by a SQUARE matrix <img class="formulaInl" alt="$C$" src="form_60.png"/>, i.e. <img class="formulaInl" alt="$V = C*V*C'$" src="form_61.png"/>. </p> |
---|
[591] | 313 | <dl><dt><b>Parameters:</b></dt><dd> |
---|
[538] | 314 | <table border="0" cellspacing="2" cellpadding="0"> |
---|
| 315 | <tr><td valign="top"></td><td valign="top"><em>C</em> </td><td>multiplying matrix, </td></tr> |
---|
| 316 | </table> |
---|
[591] | 317 | </dd> |
---|
[538] | 318 | </dl> |
---|
| 319 | |
---|
[591] | 320 | <p>Implements <a class="el" href="classbdm_1_1sqmat.html#a742581db1f8ce9602ec1c3e6373e499c">bdm::sqmat</a>.</p> |
---|
[538] | 321 | |
---|
[591] | 322 | <p>References <a class="el" href="square__mat_8h_source.html#l00327">D</a>, <a class="el" href="square__mat_8h_source.html#l00329">L</a>, and <a class="el" href="square__mat_8cpp_source.html#l00228">ldform()</a>.</p> |
---|
[538] | 323 | |
---|
| 324 | </div> |
---|
[591] | 325 | </div> |
---|
| 326 | <a class="anchor" id="a9f812a24ad5e29348de2cb23c6c6dd96"></a><!-- doxytag: member="bdm::ldmat::mult_sym_t" ref="a9f812a24ad5e29348de2cb23c6c6dd96" args="(const mat &C, ldmat &U) const " --> |
---|
[538] | 327 | <div class="memitem"> |
---|
| 328 | <div class="memproto"> |
---|
| 329 | <table class="memname"> |
---|
| 330 | <tr> |
---|
[591] | 331 | <td class="memname">void bdm::ldmat::mult_sym_t </td> |
---|
[538] | 332 | <td>(</td> |
---|
| 333 | <td class="paramtype">const mat & </td> |
---|
| 334 | <td class="paramname"> <em>C</em>, </td> |
---|
| 335 | </tr> |
---|
| 336 | <tr> |
---|
| 337 | <td class="paramkey"></td> |
---|
| 338 | <td></td> |
---|
| 339 | <td class="paramtype"><a class="el" href="classbdm_1_1ldmat.html">ldmat</a> & </td> |
---|
| 340 | <td class="paramname"> <em>U</em></td><td> </td> |
---|
| 341 | </tr> |
---|
| 342 | <tr> |
---|
| 343 | <td></td> |
---|
| 344 | <td>)</td> |
---|
| 345 | <td></td><td></td><td> const</td> |
---|
| 346 | </tr> |
---|
| 347 | </table> |
---|
| 348 | </div> |
---|
| 349 | <div class="memdoc"> |
---|
| 350 | |
---|
[608] | 351 | <p>Symmetric multiplication of <img class="formulaInl" alt="$U$" src="form_66.png"/> by a transpose of a general matrix <img class="formulaInl" alt="$C$" src="form_60.png"/>, result of which is stored in the current class. </p> |
---|
[591] | 352 | <dl><dt><b>Parameters:</b></dt><dd> |
---|
[538] | 353 | <table border="0" cellspacing="2" cellpadding="0"> |
---|
| 354 | <tr><td valign="top"></td><td valign="top"><em>C</em> </td><td>matrix to multiply with </td></tr> |
---|
| 355 | <tr><td valign="top"></td><td valign="top"><em>U</em> </td><td>a space where the inverse is stored. </td></tr> |
---|
| 356 | </table> |
---|
[591] | 357 | </dd> |
---|
[538] | 358 | </dl> |
---|
| 359 | |
---|
[591] | 360 | <p>References <a class="el" href="square__mat_8h_source.html#l00327">D</a>, <a class="el" href="square__mat_8h_source.html#l00329">L</a>, and <a class="el" href="square__mat_8cpp_source.html#l00228">ldform()</a>.</p> |
---|
[538] | 361 | |
---|
| 362 | </div> |
---|
[591] | 363 | </div> |
---|
| 364 | <a class="anchor" id="a591ae54f5fce50e7160025eeab44888f"></a><!-- doxytag: member="bdm::ldmat::mult_sym_t" ref="a591ae54f5fce50e7160025eeab44888f" args="(const mat &C)" --> |
---|
[538] | 365 | <div class="memitem"> |
---|
| 366 | <div class="memproto"> |
---|
| 367 | <table class="memname"> |
---|
| 368 | <tr> |
---|
[591] | 369 | <td class="memname">void bdm::ldmat::mult_sym_t </td> |
---|
[538] | 370 | <td>(</td> |
---|
| 371 | <td class="paramtype">const mat & </td> |
---|
[591] | 372 | <td class="paramname"> <em>C</em></td> |
---|
[538] | 373 | <td> ) </td> |
---|
| 374 | <td><code> [virtual]</code></td> |
---|
| 375 | </tr> |
---|
| 376 | </table> |
---|
| 377 | </div> |
---|
| 378 | <div class="memdoc"> |
---|
| 379 | |
---|
[608] | 380 | <p>Inplace symmetric multiplication by a SQUARE transpose of matrix <img class="formulaInl" alt="$C$" src="form_60.png"/>, i.e. <img class="formulaInl" alt="$V = C'*V*C$" src="form_62.png"/>. </p> |
---|
[591] | 381 | <dl><dt><b>Parameters:</b></dt><dd> |
---|
[538] | 382 | <table border="0" cellspacing="2" cellpadding="0"> |
---|
| 383 | <tr><td valign="top"></td><td valign="top"><em>C</em> </td><td>multiplying matrix, </td></tr> |
---|
| 384 | </table> |
---|
[591] | 385 | </dd> |
---|
[538] | 386 | </dl> |
---|
| 387 | |
---|
[591] | 388 | <p>Implements <a class="el" href="classbdm_1_1sqmat.html#a2db6f35ac14e6d1d905b4100e4c13743">bdm::sqmat</a>.</p> |
---|
[538] | 389 | |
---|
[591] | 390 | <p>References <a class="el" href="square__mat_8h_source.html#l00327">D</a>, <a class="el" href="square__mat_8h_source.html#l00329">L</a>, and <a class="el" href="square__mat_8cpp_source.html#l00228">ldform()</a>.</p> |
---|
[538] | 391 | |
---|
| 392 | </div> |
---|
[591] | 393 | </div> |
---|
| 394 | <a class="anchor" id="a6e1d28681e7e7e6b570a14a9a370821a"></a><!-- doxytag: member="bdm::ldmat::operator+=" ref="a6e1d28681e7e7e6b570a14a9a370821a" args="(const ldmat &ldA)" --> |
---|
[538] | 395 | <div class="memitem"> |
---|
| 396 | <div class="memproto"> |
---|
| 397 | <table class="memname"> |
---|
| 398 | <tr> |
---|
[591] | 399 | <td class="memname"><a class="el" href="classbdm_1_1ldmat.html">ldmat</a> & bdm::ldmat::operator+= </td> |
---|
[538] | 400 | <td>(</td> |
---|
| 401 | <td class="paramtype">const <a class="el" href="classbdm_1_1ldmat.html">ldmat</a> & </td> |
---|
[591] | 402 | <td class="paramname"> <em>ldA</em></td> |
---|
[538] | 403 | <td> ) </td> |
---|
| 404 | <td><code> [inline]</code></td> |
---|
| 405 | </tr> |
---|
| 406 | </table> |
---|
| 407 | </div> |
---|
| 408 | <div class="memdoc"> |
---|
| 409 | |
---|
[591] | 410 | <p>add another <a class="el" href="classbdm_1_1ldmat.html" title="Matrix stored in LD form, (commonly known as UD).">ldmat</a> matrix </p> |
---|
| 411 | <p>Operations: mapping of add operation to operators </p> |
---|
| 412 | |
---|
| 413 | <p>References <a class="el" href="square__mat_8cpp_source.html#l00122">add()</a>.</p> |
---|
| 414 | |
---|
[538] | 415 | </div> |
---|
[591] | 416 | </div> |
---|
| 417 | <a class="anchor" id="adb2f7a02b4686ea1bf7013284b40d954"></a><!-- doxytag: member="bdm::ldmat::operator-=" ref="adb2f7a02b4686ea1bf7013284b40d954" args="(const ldmat &ldA)" --> |
---|
[538] | 418 | <div class="memitem"> |
---|
| 419 | <div class="memproto"> |
---|
| 420 | <table class="memname"> |
---|
| 421 | <tr> |
---|
[591] | 422 | <td class="memname"><a class="el" href="classbdm_1_1ldmat.html">ldmat</a> & bdm::ldmat::operator-= </td> |
---|
[538] | 423 | <td>(</td> |
---|
| 424 | <td class="paramtype">const <a class="el" href="classbdm_1_1ldmat.html">ldmat</a> & </td> |
---|
[591] | 425 | <td class="paramname"> <em>ldA</em></td> |
---|
[538] | 426 | <td> ) </td> |
---|
| 427 | <td><code> [inline]</code></td> |
---|
| 428 | </tr> |
---|
| 429 | </table> |
---|
| 430 | </div> |
---|
| 431 | <div class="memdoc"> |
---|
| 432 | |
---|
[591] | 433 | <p>subtract another <a class="el" href="classbdm_1_1ldmat.html" title="Matrix stored in LD form, (commonly known as UD).">ldmat</a> matrix </p> |
---|
| 434 | <p>mapping of negative add operation to operators </p> |
---|
| 435 | |
---|
| 436 | <p>References <a class="el" href="square__mat_8cpp_source.html#l00122">add()</a>.</p> |
---|
| 437 | |
---|
[538] | 438 | </div> |
---|
[591] | 439 | </div> |
---|
| 440 | <a class="anchor" id="ac9dc3f1f86d36ec7eedb8746eb2c3b5c"></a><!-- doxytag: member="bdm::ldmat::opupdt" ref="ac9dc3f1f86d36ec7eedb8746eb2c3b5c" args="(const vec &v, double w)" --> |
---|
[538] | 441 | <div class="memitem"> |
---|
| 442 | <div class="memproto"> |
---|
| 443 | <table class="memname"> |
---|
| 444 | <tr> |
---|
[591] | 445 | <td class="memname">void bdm::ldmat::opupdt </td> |
---|
[538] | 446 | <td>(</td> |
---|
| 447 | <td class="paramtype">const vec & </td> |
---|
| 448 | <td class="paramname"> <em>v</em>, </td> |
---|
| 449 | </tr> |
---|
| 450 | <tr> |
---|
| 451 | <td class="paramkey"></td> |
---|
| 452 | <td></td> |
---|
| 453 | <td class="paramtype">double </td> |
---|
| 454 | <td class="paramname"> <em>w</em></td><td> </td> |
---|
| 455 | </tr> |
---|
| 456 | <tr> |
---|
| 457 | <td></td> |
---|
| 458 | <td>)</td> |
---|
| 459 | <td></td><td></td><td><code> [virtual]</code></td> |
---|
| 460 | </tr> |
---|
| 461 | </table> |
---|
| 462 | </div> |
---|
| 463 | <div class="memdoc"> |
---|
[608] | 464 | <p>Perfroms a rank-1 update by outer product of vectors: <img class="formulaInl" alt="$V = V + w v v'$" src="form_59.png"/>. </p> |
---|
[591] | 465 | <dl><dt><b>Parameters:</b></dt><dd> |
---|
[538] | 466 | <table border="0" cellspacing="2" cellpadding="0"> |
---|
| 467 | <tr><td valign="top"></td><td valign="top"><em>v</em> </td><td>Vector forming the outer product to be added </td></tr> |
---|
| 468 | <tr><td valign="top"></td><td valign="top"><em>w</em> </td><td>weight of updating; can be negative</td></tr> |
---|
| 469 | </table> |
---|
[591] | 470 | </dd> |
---|
[538] | 471 | </dl> |
---|
[591] | 472 | <p>BLAS-2b operation. </p> |
---|
[538] | 473 | |
---|
[591] | 474 | <p>Implements <a class="el" href="classbdm_1_1sqmat.html#acb3b3eef10b0c1f41ead717d3ad40ec5">bdm::sqmat</a>.</p> |
---|
[538] | 475 | |
---|
[591] | 476 | <p>References <a class="el" href="bdmerror_8h_source.html#l00047">bdm_assert_debug</a>, <a class="el" href="square__mat_8h_source.html#l00327">D</a>, <a class="el" href="square__mat_8h_source.html#l00109">bdm::sqmat::dim</a>, and <a class="el" href="square__mat_8h_source.html#l00329">L</a>.</p> |
---|
[538] | 477 | |
---|
[591] | 478 | <p>Referenced by <a class="el" href="square__mat_8cpp_source.html#l00122">add()</a>, <a class="el" href="arx_8cpp_source.html#l00004">bdm::ARX::bayes()</a>, and <a class="el" href="arx_8cpp_source.html#l00024">bdm::ARX::logpred()</a>.</p> |
---|
| 479 | |
---|
[538] | 480 | </div> |
---|
[591] | 481 | </div> |
---|
| 482 | <a class="anchor" id="a2c670269c0ee397eb49ba7b0712e16a5"></a><!-- doxytag: member="bdm::ldmat::sqrt_mult" ref="a2c670269c0ee397eb49ba7b0712e16a5" args="(const vec &v) const " --> |
---|
[538] | 483 | <div class="memitem"> |
---|
| 484 | <div class="memproto"> |
---|
| 485 | <table class="memname"> |
---|
| 486 | <tr> |
---|
[591] | 487 | <td class="memname">vec bdm::ldmat::sqrt_mult </td> |
---|
[538] | 488 | <td>(</td> |
---|
| 489 | <td class="paramtype">const vec & </td> |
---|
[591] | 490 | <td class="paramname"> <em>v</em></td> |
---|
[538] | 491 | <td> ) </td> |
---|
| 492 | <td> const<code> [virtual]</code></td> |
---|
| 493 | </tr> |
---|
| 494 | </table> |
---|
| 495 | </div> |
---|
| 496 | <div class="memdoc"> |
---|
| 497 | |
---|
[608] | 498 | <p>Multiplies square <a class="el" href="classbdm_1_1root.html" title="Root class of BDM objects.">root</a> of <img class="formulaInl" alt="$V$" src="form_63.png"/> by vector <img class="formulaInl" alt="$x$" src="form_1.png"/>. </p> |
---|
[591] | 499 | <p>Used e.g. in generating normal samples. </p> |
---|
[538] | 500 | |
---|
[591] | 501 | <p>Implements <a class="el" href="classbdm_1_1sqmat.html#a608bfff59854833f1acfccdbd346832a">bdm::sqmat</a>.</p> |
---|
[538] | 502 | |
---|
[591] | 503 | <p>References <a class="el" href="square__mat_8h_source.html#l00327">D</a>, <a class="el" href="square__mat_8h_source.html#l00109">bdm::sqmat::dim</a>, and <a class="el" href="square__mat_8h_source.html#l00329">L</a>.</p> |
---|
| 504 | |
---|
[538] | 505 | </div> |
---|
| 506 | </div> |
---|
[591] | 507 | <hr/>The documentation for this class was generated from the following files:<ul> |
---|
| 508 | <li><a class="el" href="square__mat_8h_source.html">square_mat.h</a></li> |
---|
| 509 | <li>square_mat.cpp</li> |
---|
| 510 | </ul> |
---|
| 511 | </div> |
---|
[614] | 512 | <hr size="1"/><address style="text-align: right;"><small>Generated on Sun Sep 13 22:40:44 2009 for mixpp by |
---|
[538] | 513 | <a href="http://www.doxygen.org/index.html"> |
---|
[591] | 514 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> |
---|
[538] | 515 | </body> |
---|
| 516 | </html> |
---|