| 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#cb3b3eef10b0c1f41ead717d3ad40ec5">opupdt</a> (const vec &v, double w)=0</td></tr>  | 
                      
                        | 81 |   |   | 
                      
                        | 82 |   | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ee9c751c4b506c29dc65c2b61487e1ad"></a><!-- doxytag: member="bdm::sqmat::to_mat" ref="ee9c751c4b506c29dc65c2b61487e1ad" args="() const =0" -->  | 
                      
                        | 83 |   | virtual mat </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#ee9c751c4b506c29dc65c2b61487e1ad">to_mat</a> () const =0</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#742581db1f8ce9602ec1c3e6373e499c">mult_sym</a> (const mat &C)=0</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_52.png">, i.e. <img class="formulaInl" alt="$V = C*V*C'$" src="form_53.png">.  <a href="#742581db1f8ce9602ec1c3e6373e499c"></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#2db6f35ac14e6d1d905b4100e4c13743">mult_sym_t</a> (const mat &C)=0</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_52.png">, i.e. <img class="formulaInl" alt="$V = C'*V*C$" src="form_54.png">.  <a href="#2db6f35ac14e6d1d905b4100e4c13743"></a><br></td></tr>  | 
                      
                        | 92 |   | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="121b108a818c0388a46866ad34ae9242"></a><!-- doxytag: member="bdm::sqmat::logdet" ref="121b108a818c0388a46866ad34ae9242" args="() const =0" -->  | 
                      
                        | 93 |   | virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#121b108a818c0388a46866ad34ae9242">logdet</a> () const =0</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#608bfff59854833f1acfccdbd346832a">sqrt_mult</a> (const vec &v) const =0</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_55.png"> by vector <img class="formulaInl" alt="$x$" src="form_1.png">.  <a href="#608bfff59854833f1acfccdbd346832a"></a><br></td></tr>  | 
                      
                        | 99 |   | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c2b7450ba7cf9068ab332f8abdf065f7"></a><!-- doxytag: member="bdm::sqmat::qform" ref="c2b7450ba7cf9068ab332f8abdf065f7" args="(const vec &v) const =0" -->  | 
                      
                        | 100 |   | virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#c2b7450ba7cf9068ab332f8abdf065f7">qform</a> (const vec &v) const =0</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_56.png">;. <br></td></tr>  | 
                      
                        | 103 |   | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e5e62419aa9ab15556dd49e5a9ad6ed"></a><!-- doxytag: member="bdm::sqmat::invqform" ref="5e5e62419aa9ab15556dd49e5a9ad6ed" args="(const vec &v) const =0" -->  | 
                      
                        | 104 |   | virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#5e5e62419aa9ab15556dd49e5a9ad6ed">invqform</a> (const vec &v) const =0</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_57.png">;. <br></td></tr>  | 
                      
                        | 107 |   | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b24649cb221296e633d658c8aba2c9d8"></a><!-- doxytag: member="bdm::sqmat::clear" ref="b24649cb221296e633d658c8aba2c9d8" args="()=0" -->  | 
                      
                        | 108 |   | virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#b24649cb221296e633d658c8aba2c9d8">clear</a> ()=0</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>  | 
                      
                      
                        |   | 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 |   | 
                      
                        |   | 77 | <p><code>#include <<a class="el" href="square__mat_8h_source.html">square_mat.h</a>></code></p>  | 
                      
                        |   | 78 |   | 
                      
                        |   | 79 | <p><a href="classbdm_1_1sqmat-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">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#acb3b3eef10b0c1f41ead717d3ad40ec5">opupdt</a> (const vec &v, double w)=0</td></tr>  | 
                      
                        |   | 83 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee9c751c4b506c29dc65c2b61487e1ad"></a><!-- doxytag: member="bdm::sqmat::to_mat" ref="aee9c751c4b506c29dc65c2b61487e1ad" args="() const =0" -->  | 
                      
                        |   | 84 | virtual mat </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#aee9c751c4b506c29dc65c2b61487e1ad">to_mat</a> () const =0</td></tr>  | 
                      
                        |   | 85 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Conversion to full matrix. <br/></td></tr>  | 
                      
                        |   | 86 | <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a742581db1f8ce9602ec1c3e6373e499c">mult_sym</a> (const mat &C)=0</td></tr>  | 
                      
                        |   | 87 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Inplace symmetric multiplication by a SQUARE matrix <img class="formulaInl" alt="$C$" src="form_52.png"/>, i.e. <img class="formulaInl" alt="$V = C*V*C'$" src="form_53.png"/>.  <a href="#a742581db1f8ce9602ec1c3e6373e499c"></a><br/></td></tr>  | 
                      
                        |   | 88 | <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a2db6f35ac14e6d1d905b4100e4c13743">mult_sym_t</a> (const mat &C)=0</td></tr>  | 
                      
                        |   | 89 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Inplace symmetric multiplication by a SQUARE transpose of matrix <img class="formulaInl" alt="$C$" src="form_52.png"/>, i.e. <img class="formulaInl" alt="$V = C'*V*C$" src="form_54.png"/>.  <a href="#a2db6f35ac14e6d1d905b4100e4c13743"></a><br/></td></tr>  | 
                      
                        |   | 90 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a121b108a818c0388a46866ad34ae9242"></a><!-- doxytag: member="bdm::sqmat::logdet" ref="a121b108a818c0388a46866ad34ae9242" args="() const =0" -->  | 
                      
                        |   | 91 | virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a121b108a818c0388a46866ad34ae9242">logdet</a> () const =0</td></tr>  | 
                      
                        |   | 92 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Logarithm of a determinant. <br/></td></tr>  | 
                      
                        |   | 93 | <tr><td class="memItemLeft" align="right" valign="top">virtual vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a608bfff59854833f1acfccdbd346832a">sqrt_mult</a> (const vec &v) const =0</td></tr>  | 
                      
                        |   | 94 | <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_55.png"/> by vector <img class="formulaInl" alt="$x$" src="form_1.png"/>.  <a href="#a608bfff59854833f1acfccdbd346832a"></a><br/></td></tr>  | 
                      
                        |   | 95 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2b7450ba7cf9068ab332f8abdf065f7"></a><!-- doxytag: member="bdm::sqmat::qform" ref="ac2b7450ba7cf9068ab332f8abdf065f7" args="(const vec &v) const =0" -->  | 
                      
                        |   | 96 | virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#ac2b7450ba7cf9068ab332f8abdf065f7">qform</a> (const vec &v) const =0</td></tr>  | 
                      
                        |   | 97 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Evaluates quadratic form <img class="formulaInl" alt="$x= v'*V*v$" src="form_56.png"/>;. <br/></td></tr>  | 
                      
                        |   | 98 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e5e62419aa9ab15556dd49e5a9ad6ed"></a><!-- doxytag: member="bdm::sqmat::invqform" ref="a5e5e62419aa9ab15556dd49e5a9ad6ed" args="(const vec &v) const =0" -->  | 
                      
                        |   | 99 | virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a5e5e62419aa9ab15556dd49e5a9ad6ed">invqform</a> (const vec &v) const =0</td></tr>  | 
                      
                        |   | 100 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Evaluates quadratic form <img class="formulaInl" alt="$x= v'*inv(V)*v$" src="form_57.png"/>;. <br/></td></tr>  | 
                      
                        |   | 101 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab24649cb221296e633d658c8aba2c9d8"></a><!-- doxytag: member="bdm::sqmat::clear" ref="ab24649cb221296e633d658c8aba2c9d8" args="()=0" -->  | 
                      
                        |   | 102 | virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#ab24649cb221296e633d658c8aba2c9d8">clear</a> ()=0</td></tr>  | 
                      
                        |   | 103 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Clearing matrix so that it corresponds to zeros. <br/></td></tr>  | 
                      
                        |   | 104 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a445ef762cf5d2d6cfdf53c72942363cf"></a><!-- doxytag: member="bdm::sqmat::cols" ref="a445ef762cf5d2d6cfdf53c72942363cf" args="() const " -->  | 
                      
                        |   | 105 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a445ef762cf5d2d6cfdf53c72942363cf">cols</a> () const </td></tr>  | 
                      
                        |   | 106 | <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>  | 
                      
                        |   | 107 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73e639221343dcce76c3305524d67590"></a><!-- doxytag: member="bdm::sqmat::rows" ref="a73e639221343dcce76c3305524d67590" args="() const " -->  | 
                      
                        |   | 108 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a73e639221343dcce76c3305524d67590">rows</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#a73e639221343dcce76c3305524d67590" title="Reimplementing common functions of mat: rows().">rows()</a>. <br/></td></tr>  | 
                      
                        |   | 110 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a33a9a1ec2f66b6c1e3081e5e65c36d0e"></a><!-- doxytag: member="bdm::sqmat::~sqmat" ref="a33a9a1ec2f66b6c1e3081e5e65c36d0e" args="()" -->  | 
                      
                        |   | 111 | virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a33a9a1ec2f66b6c1e3081e5e65c36d0e">~sqmat</a> ()</td></tr>  | 
                      
                        |   | 112 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor for future use;. <br/></td></tr>  | 
                      
                        |   | 113 | <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)" -->  | 
                      
                        |   | 114 |  </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a3d304dccc155638c6d435cd1c0611dfc">sqmat</a> (const int dim0)</td></tr>  | 
                      
                        |   | 115 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br/></td></tr>  | 
                      
                        |   | 116 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3051f1734d36cce6c58c799fdd4451bb"></a><!-- doxytag: member="bdm::sqmat::sqmat" ref="a3051f1734d36cce6c58c799fdd4451bb" args="()" -->  | 
                      
                        |   | 117 |  </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a3051f1734d36cce6c58c799fdd4451bb">sqmat</a> ()</td></tr>  | 
                      
                        |   | 118 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br/></td></tr>  | 
                      
                        |   | 119 | <tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>  | 
                      
                        |   | 120 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05111b5744a494880e62cb0f3d42293f"></a><!-- doxytag: member="bdm::sqmat::dim" ref="a05111b5744a494880e62cb0f3d42293f" args="" -->  | 
                      
                        |   | 121 | int </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a05111b5744a494880e62cb0f3d42293f">dim</a></td></tr>  | 
                      
                        |   | 122 | <tr><td class="mdescLeft"> </td><td class="mdescRight">dimension of the square matrix <br/></td></tr>  |