73 | | <h1>bdm::sqmat Class Reference</h1><!-- doxytag: class="bdm::sqmat" --> |
74 | | <p>Abstract class for representation of double symmetric matrices in square-root form. |
75 | | <a href="#_details">More...</a></p> |
76 | | <hr/><a name="_details"></a><h2>Detailed Description</h2> |
77 | | <p>Abstract class for representation of double symmetric matrices in square-root form. </p> |
78 | | <p>All operations defined on this class should be optimized for the chosen decomposition. </p> |
79 | | |
80 | | <p><code>#include <<a class="el" href="square__mat_8h_source.html">square_mat.h</a>></code></p> |
81 | | |
82 | | <p><a href="classbdm_1_1sqmat-members.html">List of all members.</a></p> |
83 | | <table border="0" cellpadding="0" cellspacing="0"> |
84 | | <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> |
85 | | <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a12298b1cc5a6f35876291e876b0e2993">opupdt</a> (const vec &v, double w)</td></tr> |
86 | | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a68888112cf70681c1c7a0231a631dc76"></a><!-- doxytag: member="bdm::sqmat::to_mat" ref="a68888112cf70681c1c7a0231a631dc76" args="() const " --> |
87 | | virtual mat </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a68888112cf70681c1c7a0231a631dc76">to_mat</a> () const </td></tr> |
88 | | <tr><td class="mdescLeft"> </td><td class="mdescRight">Conversion to full matrix. <br/></td></tr> |
89 | | <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#af8b513b6ac0e54d6fe47afda8b254b29">mult_sym</a> (const mat &C)</td></tr> |
90 | | <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="#af8b513b6ac0e54d6fe47afda8b254b29"></a><br/></td></tr> |
91 | | <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#aba45b96855264178ab67648bbc7cead5">mult_sym_t</a> (const mat &C)</td></tr> |
92 | | <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="#aba45b96855264178ab67648bbc7cead5"></a><br/></td></tr> |
93 | | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae770665dd7362ffd0f2043642f9958d3"></a><!-- doxytag: member="bdm::sqmat::logdet" ref="ae770665dd7362ffd0f2043642f9958d3" args="() const " --> |
94 | | virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#ae770665dd7362ffd0f2043642f9958d3">logdet</a> () const </td></tr> |
95 | | <tr><td class="mdescLeft"> </td><td class="mdescRight">Logarithm of a determinant. <br/></td></tr> |
96 | | <tr><td class="memItemLeft" align="right" valign="top">virtual vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#abcacd85ec5d128ebbb663ae4433c75b3">sqrt_mult</a> (const vec &v) const </td></tr> |
97 | | <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="#abcacd85ec5d128ebbb663ae4433c75b3"></a><br/></td></tr> |
98 | | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0fad0f3844a0bbbf5b5b68c43fea0d12"></a><!-- doxytag: member="bdm::sqmat::qform" ref="a0fad0f3844a0bbbf5b5b68c43fea0d12" args="(const vec &v) const " --> |
99 | | virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a0fad0f3844a0bbbf5b5b68c43fea0d12">qform</a> (const vec &v) const </td></tr> |
100 | | <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> |
101 | | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a022d2e2c128f3024b6f8c4bcf28dcfdd"></a><!-- doxytag: member="bdm::sqmat::invqform" ref="a022d2e2c128f3024b6f8c4bcf28dcfdd" args="(const vec &v) const " --> |
102 | | virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a022d2e2c128f3024b6f8c4bcf28dcfdd">invqform</a> (const vec &v) const </td></tr> |
103 | | <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> |
104 | | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d2ab703ff24a6ece1c10b8e24015e72"></a><!-- doxytag: member="bdm::sqmat::clear" ref="a9d2ab703ff24a6ece1c10b8e24015e72" args="()" --> |
105 | | virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a9d2ab703ff24a6ece1c10b8e24015e72">clear</a> ()</td></tr> |
106 | | <tr><td class="mdescLeft"> </td><td class="mdescRight">Clearing matrix so that it corresponds to zeros. <br/></td></tr> |
107 | | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a445ef762cf5d2d6cfdf53c72942363cf"></a><!-- doxytag: member="bdm::sqmat::cols" ref="a445ef762cf5d2d6cfdf53c72942363cf" args="() const " --> |
108 | | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a445ef762cf5d2d6cfdf53c72942363cf">cols</a> () const </td></tr> |
109 | | <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> |
110 | | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73e639221343dcce76c3305524d67590"></a><!-- doxytag: member="bdm::sqmat::rows" ref="a73e639221343dcce76c3305524d67590" args="() const " --> |
111 | | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a73e639221343dcce76c3305524d67590">rows</a> () const </td></tr> |
112 | | <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> |
113 | | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a33a9a1ec2f66b6c1e3081e5e65c36d0e"></a><!-- doxytag: member="bdm::sqmat::~sqmat" ref="a33a9a1ec2f66b6c1e3081e5e65c36d0e" args="()" --> |
114 | | virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a33a9a1ec2f66b6c1e3081e5e65c36d0e">~sqmat</a> ()</td></tr> |
115 | | <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor for future use;. <br/></td></tr> |
116 | | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d304dccc155638c6d435cd1c0611dfc"></a><!-- doxytag: member="bdm::sqmat::sqmat" ref="a3d304dccc155638c6d435cd1c0611dfc" args="(const int dim0)" --> |
117 | | </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a3d304dccc155638c6d435cd1c0611dfc">sqmat</a> (const int dim0)</td></tr> |
118 | | <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br/></td></tr> |
119 | | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3051f1734d36cce6c58c799fdd4451bb"></a><!-- doxytag: member="bdm::sqmat::sqmat" ref="a3051f1734d36cce6c58c799fdd4451bb" args="()" --> |
120 | | </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a3051f1734d36cce6c58c799fdd4451bb">sqmat</a> ()</td></tr> |
121 | | <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br/></td></tr> |
122 | | <tr><td colspan="2"><h2>Protected Attributes</h2></td></tr> |
123 | | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05111b5744a494880e62cb0f3d42293f"></a><!-- doxytag: member="bdm::sqmat::dim" ref="a05111b5744a494880e62cb0f3d42293f" args="" --> |
124 | | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a05111b5744a494880e62cb0f3d42293f">dim</a></td></tr> |
125 | | <tr><td class="mdescLeft"> </td><td class="mdescRight">dimension of the square matrix <br/></td></tr> |
| 70 | <h1>bdm::sqmat Class Reference</h1><!-- doxytag: class="bdm::sqmat" -->Abstract class for representation of double symmetric matrices in square-root form. |
| 71 | <a href="#_details">More...</a> |
| 72 | <p> |
| 73 | <code>#include <<a class="el" href="square__mat_8h_source.html">square_mat.h</a>></code> |
| 74 | <p> |
| 75 | |
| 76 | <p> |
| 77 | <a href="classbdm_1_1sqmat-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> |
| 78 | <tr><td></td></tr> |
| 79 | <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> |
| 80 | <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#12298b1cc5a6f35876291e876b0e2993">opupdt</a> (const vec &v, double w)</td></tr> |
| 81 | |
| 82 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68888112cf70681c1c7a0231a631dc76"></a><!-- doxytag: member="bdm::sqmat::to_mat" ref="68888112cf70681c1c7a0231a631dc76" args="() const " --> |
| 83 | virtual mat </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#68888112cf70681c1c7a0231a631dc76">to_mat</a> () const </td></tr> |
| 84 | |
| 85 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Conversion to full matrix. <br></td></tr> |
| 86 | <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#f8b513b6ac0e54d6fe47afda8b254b29">mult_sym</a> (const mat &C)</td></tr> |
| 87 | |
| 88 | <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="#f8b513b6ac0e54d6fe47afda8b254b29"></a><br></td></tr> |
| 89 | <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#ba45b96855264178ab67648bbc7cead5">mult_sym_t</a> (const mat &C)</td></tr> |
| 90 | |
| 91 | <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="#ba45b96855264178ab67648bbc7cead5"></a><br></td></tr> |
| 92 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e770665dd7362ffd0f2043642f9958d3"></a><!-- doxytag: member="bdm::sqmat::logdet" ref="e770665dd7362ffd0f2043642f9958d3" args="() const " --> |
| 93 | virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#e770665dd7362ffd0f2043642f9958d3">logdet</a> () const </td></tr> |
| 94 | |
| 95 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Logarithm of a determinant. <br></td></tr> |
| 96 | <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#bcacd85ec5d128ebbb663ae4433c75b3">sqrt_mult</a> (const vec &v) const </td></tr> |
| 97 | |
| 98 | <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="#bcacd85ec5d128ebbb663ae4433c75b3"></a><br></td></tr> |
| 99 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0fad0f3844a0bbbf5b5b68c43fea0d12"></a><!-- doxytag: member="bdm::sqmat::qform" ref="0fad0f3844a0bbbf5b5b68c43fea0d12" args="(const vec &v) const " --> |
| 100 | virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#0fad0f3844a0bbbf5b5b68c43fea0d12">qform</a> (const vec &v) const </td></tr> |
| 101 | |
| 102 | <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> |
| 103 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="022d2e2c128f3024b6f8c4bcf28dcfdd"></a><!-- doxytag: member="bdm::sqmat::invqform" ref="022d2e2c128f3024b6f8c4bcf28dcfdd" args="(const vec &v) const " --> |
| 104 | virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#022d2e2c128f3024b6f8c4bcf28dcfdd">invqform</a> (const vec &v) const </td></tr> |
| 105 | |
| 106 | <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> |
| 107 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9d2ab703ff24a6ece1c10b8e24015e72"></a><!-- doxytag: member="bdm::sqmat::clear" ref="9d2ab703ff24a6ece1c10b8e24015e72" args="()" --> |
| 108 | virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#9d2ab703ff24a6ece1c10b8e24015e72">clear</a> ()</td></tr> |
| 109 | |
| 110 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Clearing matrix so that it corresponds to zeros. <br></td></tr> |
| 111 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="445ef762cf5d2d6cfdf53c72942363cf"></a><!-- doxytag: member="bdm::sqmat::cols" ref="445ef762cf5d2d6cfdf53c72942363cf" args="() const " --> |
| 112 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#445ef762cf5d2d6cfdf53c72942363cf">cols</a> () const </td></tr> |
| 113 | |
| 114 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Reimplementing common functions of mat: <a class="el" href="classbdm_1_1sqmat.html#445ef762cf5d2d6cfdf53c72942363cf" title="Reimplementing common functions of mat: cols().">cols()</a>. <br></td></tr> |
| 115 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="73e639221343dcce76c3305524d67590"></a><!-- doxytag: member="bdm::sqmat::rows" ref="73e639221343dcce76c3305524d67590" args="() const " --> |
| 116 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#73e639221343dcce76c3305524d67590">rows</a> () const </td></tr> |
| 117 | |
| 118 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Reimplementing common functions of mat: <a class="el" href="classbdm_1_1sqmat.html#73e639221343dcce76c3305524d67590" title="Reimplementing common functions of mat: rows().">rows()</a>. <br></td></tr> |
| 119 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="33a9a1ec2f66b6c1e3081e5e65c36d0e"></a><!-- doxytag: member="bdm::sqmat::~sqmat" ref="33a9a1ec2f66b6c1e3081e5e65c36d0e" args="()" --> |
| 120 | virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#33a9a1ec2f66b6c1e3081e5e65c36d0e">~sqmat</a> ()</td></tr> |
| 121 | |
| 122 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor for future use;. <br></td></tr> |
| 123 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3d304dccc155638c6d435cd1c0611dfc"></a><!-- doxytag: member="bdm::sqmat::sqmat" ref="3d304dccc155638c6d435cd1c0611dfc" args="(const int dim0)" --> |
| 124 | </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#3d304dccc155638c6d435cd1c0611dfc">sqmat</a> (const int dim0)</td></tr> |
| 125 | |
| 126 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br></td></tr> |
| 127 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3051f1734d36cce6c58c799fdd4451bb"></a><!-- doxytag: member="bdm::sqmat::sqmat" ref="3051f1734d36cce6c58c799fdd4451bb" args="()" --> |
| 128 | </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#3051f1734d36cce6c58c799fdd4451bb">sqmat</a> ()</td></tr> |
| 129 | |
| 130 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br></td></tr> |
| 131 | <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> |
| 132 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05111b5744a494880e62cb0f3d42293f"></a><!-- doxytag: member="bdm::sqmat::dim" ref="05111b5744a494880e62cb0f3d42293f" args="" --> |
| 133 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#05111b5744a494880e62cb0f3d42293f">dim</a></td></tr> |
| 134 | |
| 135 | <tr><td class="mdescLeft"> </td><td class="mdescRight">dimension of the square matrix <br></td></tr> |