<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>The MRPT project: SelfAdjointView< MatrixType, UpLo > Class Template Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> > <b>C++ reference</b> </div> <div align="right"> <a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a> </div> <!-- Generated by Doxygen 1.7.2 --> <script type="text/javascript"><!-- var searchBox = new SearchBox("searchBox", "search",false,'Search'); --></script> <div class="navigation" id="top"> <div class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li id="searchli"> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <form id="FSearchBox" action="search.php" method="get"> <img id="MSearchSelect" src="search/mag.png" alt=""/> <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"/> </form> </span><span class="right"></span> </div> </li> </ul> </div> <div class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> | <a href="#friends">Friends</a> </div> <div class="headertitle"> <h1>SelfAdjointView< MatrixType, UpLo > Class Template Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="SelfAdjointView" --><!-- doxytag: inherits="TriangularBase< SelfAdjointView< MatrixType, UpLo > >" --><hr/><a name="_details"></a><h2>Detailed Description</h2> <h3>template<typename MatrixType, unsigned int UpLo><br/> class SelfAdjointView< MatrixType, UpLo ></h3> <p>Expression of a selfadjoint matrix from a triangular part of a dense matrix. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">MatrixType</td><td>the type of the dense matrix storing the coefficients </td></tr> <tr><td class="paramname">TriangularPart</td><td>can be either <code>Lower</code> or <code>Upper</code> </td></tr> </table> </dd> </dl> <p>This class is an expression of a sefladjoint matrix from a triangular part of a matrix with given dense storage of the coefficients. It is the return type of <a class="el" href="class_matrix_base.html#a585f5b16813e81919f95ca45428bec03">MatrixBase::selfadjointView()</a> and most of the time this is the only way that it is used.</p> <dl class="see"><dt><b>See also:</b></dt><dd>class <a class="el" href="class_triangular_base.html">TriangularBase</a>, MatrixBase::selfAdjointView() </dd></dl> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00065">65</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> <p><code>#include <<a class="el" href="_self_adjoint_view_8h_source.html">src/Core/SelfAdjointView.h</a>></code></p> <!-- startSectionHeader --><div class="dynheader"> Inheritance diagram for SelfAdjointView< MatrixType, UpLo >:<!-- endSectionHeader --></div> <!-- startSectionSummary --><!-- endSectionSummary --><!-- startSectionContent --><div class="dyncontent"> <div class="center"><img src="class_self_adjoint_view__inherit__graph.png" border="0" usemap="#_self_adjoint_view_3_01_matrix_type_00_01_up_lo_01_4_inherit__map" alt="Inheritance graph"/></div> <map name="_self_adjoint_view_3_01_matrix_type_00_01_up_lo_01_4_inherit__map" id="_self_adjoint_view_3_01_matrix_type_00_01_up_lo_01_4_inherit__map"> </map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center><!-- endSectionContent --></div> <p><a href="class_self_adjoint_view-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-types"></a> Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <a class="el" href="class_self_adjoint_view.html#ab1a4e566ffa1e72417bb4f2bd57c9a47a74d674e7699f94a9a67df3851dbc6c8e">Mode</a> = internal::traits<SelfAdjointView>::Mode }</td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_triangular_base.html">TriangularBase</a><br class="typebreak"/> < <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a2c524d5864091e443dadc3d5bfaf3b55">Base</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef internal::traits<br class="typebreak"/> < <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a> >::<a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The type of coefficients in this matrix. <a href="#a8bf97f589d73ade57501ca2fa5e03267"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef MatrixType::Index </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef MatrixType::PlainObject </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a8e5baa90348f250379a76c93b3e671b4">PlainObject</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="struct_num_traits.html">NumTraits</a>< <a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a> >::Real </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a835a9f986a54c821b8f677f98cddff33">RealScalar</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Real part of <a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267" title="The type of coefficients in this matrix.">Scalar</a>. <a href="#a835a9f986a54c821b8f677f98cddff33"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_matrix.html">Matrix</a>< <a class="el" href="class_self_adjoint_view.html#a835a9f986a54c821b8f677f98cddff33">RealScalar</a>, <br class="typebreak"/> internal::traits< MatrixType ><br class="typebreak"/> ::ColsAtCompileTime, 1 > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#aad6906ba20a40634c7972d2d1e4d5071">EigenvaluesReturnType</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return type of <a class="el" href="class_self_adjoint_view.html#ae7c4ca75c7c0095170759bbf18108760" title="Computes the eigenvalues of a matrix.">eigenvalues()</a> <a href="#aad6906ba20a40634c7972d2d1e4d5071"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a81c0d97c83c7d382a66f6f0b645f8628">SelfAdjointView</a> (const MatrixType &matrix)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a6eb1fc498cf8a72b5d8ad2f9966dfbaa">rows</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a84cb4fcb78ebc02277d509e5956512ae">cols</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#ae5e99c34906a5636c42d3ef2ec9753bf">outerStride</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#ac68922b882ca7d9e721542c85ff9a2f2">innerStride</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a3308967c5c1b7e1220017abd74243b9d">coeff</a> (<a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a> row, <a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a> col) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a206537a31e328530c1d0b77ab9eeedea">coeffRef</a> (<a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a> row, <a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a> col)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">const MatrixType & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a8e656736dc1345d8b14575cdeeccd73a">_expression</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">const MatrixType & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#afc8def4d2e586000c2d313fd4300ffd2">nestedExpression</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">MatrixType & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a0984a0363bd71a9b82eb71cf0c1b1251">nestedExpression</a> ()</td></tr> <tr><td class="memTemplParams" colspan="2">template<typename OtherDerived > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">SelfadjointProductMatrix<br class="typebreak"/> < MatrixType, Mode, false, <br class="typebreak"/> OtherDerived, <br class="typebreak"/> 0, OtherDerived::IsVectorAtCompileTime > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a48c8996f879453f7a99d02410fe9d7b6">operator*</a> (const <a class="el" href="class_matrix_base.html">MatrixBase</a>< OtherDerived > &rhs) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Efficient self-adjoint matrix times vector/matrix product. <a href="#a48c8996f879453f7a99d02410fe9d7b6"></a><br/></td></tr> <tr><td class="memTemplParams" colspan="2">template<typename DerivedU , typename DerivedV > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a3db834d8c5dcb775abb93df9e815e49b">rankUpdate</a> (const <a class="el" href="class_matrix_base.html">MatrixBase</a>< DerivedU > &u, const <a class="el" href="class_matrix_base.html">MatrixBase</a>< DerivedV > &v, <a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a> alpha=<a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a>(1))</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Perform a symmetric rank 2 update of the selfadjoint matrix <code>*this</code>: <img class="formulaInl" alt="$ this = this + \alpha u v^* + conj(\alpha) v u^* $" src="form_144.png"/>. <a href="#a3db834d8c5dcb775abb93df9e815e49b"></a><br/></td></tr> <tr><td class="memTemplParams" colspan="2">template<typename DerivedU > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a82fc0f0400884f5663e0d835db1e7772">rankUpdate</a> (const <a class="el" href="class_matrix_base.html">MatrixBase</a>< DerivedU > &u, <a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a> alpha=<a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a>(1))</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Perform a symmetric rank K update of the selfadjoint matrix <code>*this</code>: <img class="formulaInl" alt="$ this = this + \alpha ( u u^* ) $" src="form_145.png"/> where <em>u</em> is a vector or matrix. <a href="#a82fc0f0400884f5663e0d835db1e7772"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_l_l_t.html">LLT</a>< <a class="el" href="class_self_adjoint_view.html#a8e5baa90348f250379a76c93b3e671b4">PlainObject</a>, UpLo > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a936984c60b511c81d72e253a8f6e308b">llt</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"> <a href="#a936984c60b511c81d72e253a8f6e308b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_l_d_l_t.html">LDLT</a>< <a class="el" href="class_self_adjoint_view.html#a8e5baa90348f250379a76c93b3e671b4">PlainObject</a>, UpLo > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a8eb1e6d655b228950f7bbd5107f10e4d">ldlt</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"> <a href="#a8eb1e6d655b228950f7bbd5107f10e4d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_matrix.html">EigenvaluesReturnType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#ae7c4ca75c7c0095170759bbf18108760">eigenvalues</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Computes the eigenvalues of a matrix. <a href="#ae7c4ca75c7c0095170759bbf18108760"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_self_adjoint_view.html#a835a9f986a54c821b8f677f98cddff33">RealScalar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a05cab207ce6853115f593f04501fbe9d">operatorNorm</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Computes the L2 operator norm. <a href="#a05cab207ce6853115f593f04501fbe9d"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const MatrixType::Nested </td><td class="memItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a1880e5c1d7e163f72de63fd44ce55fc5">m_matrix</a></td></tr> <tr><td colspan="2"><h2><a name="friends"></a> Friends</h2></td></tr> <tr><td class="memTemplParams" colspan="2">template<typename OtherDerived > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">SelfadjointProductMatrix<br class="typebreak"/> < OtherDerived, <br class="typebreak"/> 0, OtherDerived::IsVectorAtCompileTime, <br class="typebreak"/> MatrixType, Mode, false > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_self_adjoint_view.html#a34e99e5ddf24abc0818278b54579bcba">operator*</a> (const <a class="el" href="class_matrix_base.html">MatrixBase</a>< OtherDerived > &lhs, const <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a> &rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Efficient vector/matrix times self-adjoint matrix product. <a href="#a34e99e5ddf24abc0818278b54579bcba"></a><br/></td></tr> </table> <hr/><h2>Member Typedef Documentation</h2> <a class="anchor" id="a2c524d5864091e443dadc3d5bfaf3b55"></a><!-- doxytag: member="SelfAdjointView::Base" ref="a2c524d5864091e443dadc3d5bfaf3b55" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="class_triangular_base.html">TriangularBase</a><<a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>> <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::<a class="el" href="class_triangular_base.html">Base</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00070">70</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <a class="anchor" id="aad6906ba20a40634c7972d2d1e4d5071"></a><!-- doxytag: member="SelfAdjointView::EigenvaluesReturnType" ref="aad6906ba20a40634c7972d2d1e4d5071" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="class_matrix.html">Matrix</a><<a class="el" href="class_self_adjoint_view.html#a835a9f986a54c821b8f677f98cddff33">RealScalar</a>, internal::traits<MatrixType>::ColsAtCompileTime, 1> <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::<a class="el" href="class_matrix.html">EigenvaluesReturnType</a></td> </tr> </table> </div> <div class="memdoc"> <p>Return type of <a class="el" href="class_self_adjoint_view.html#ae7c4ca75c7c0095170759bbf18108760" title="Computes the eigenvalues of a matrix.">eigenvalues()</a> </p> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00170">170</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <a class="anchor" id="a1f53fa904809e2cdea65c94666c02e85"></a><!-- doxytag: member="SelfAdjointView::Index" ref="a1f53fa904809e2cdea65c94666c02e85" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname">typedef MatrixType::Index <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::<a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a></td> </tr> </table> </div> <div class="memdoc"> <p>Reimplemented from <a class="el" href="class_triangular_base.html#a92e9a2d65c34c0fc0270665f5d4b2523">TriangularBase< SelfAdjointView< MatrixType, UpLo > ></a>.</p> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00075">75</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <a class="anchor" id="a8e5baa90348f250379a76c93b3e671b4"></a><!-- doxytag: member="SelfAdjointView::PlainObject" ref="a8e5baa90348f250379a76c93b3e671b4" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname">typedef MatrixType::PlainObject <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::<a class="el" href="class_self_adjoint_view.html#a8e5baa90348f250379a76c93b3e671b4">PlainObject</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00080">80</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <a class="anchor" id="a835a9f986a54c821b8f677f98cddff33"></a><!-- doxytag: member="SelfAdjointView::RealScalar" ref="a835a9f986a54c821b8f677f98cddff33" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="struct_num_traits.html">NumTraits</a><<a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a>>::Real <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::<a class="el" href="class_self_adjoint_view.html#a835a9f986a54c821b8f677f98cddff33">RealScalar</a></td> </tr> </table> </div> <div class="memdoc"> <p>Real part of <a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267" title="The type of coefficients in this matrix.">Scalar</a>. </p> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00168">168</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <a class="anchor" id="a8bf97f589d73ade57501ca2fa5e03267"></a><!-- doxytag: member="SelfAdjointView::Scalar" ref="a8bf97f589d73ade57501ca2fa5e03267" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname">typedef internal::traits<<a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>>::<a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a> <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::<a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a></td> </tr> </table> </div> <div class="memdoc"> <p>The type of coefficients in this matrix. </p> <p>Reimplemented from <a class="el" href="class_triangular_base.html#a640601ceaf34ca71b6a0f6860f8c0cf6">TriangularBase< SelfAdjointView< MatrixType, UpLo > ></a>.</p> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00073">73</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <hr/><h2>Member Enumeration Documentation</h2> <a class="anchor" id="ab1a4e566ffa1e72417bb4f2bd57c9a47"></a><!-- doxytag: member="SelfAdjointView::@265" ref="ab1a4e566ffa1e72417bb4f2bd57c9a47" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname">anonymous enum</td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="ab1a4e566ffa1e72417bb4f2bd57c9a47a74d674e7699f94a9a67df3851dbc6c8e"></a><!-- doxytag: member="Mode" ref="ab1a4e566ffa1e72417bb4f2bd57c9a47a74d674e7699f94a9a67df3851dbc6c8e" args="" -->Mode</em> </td><td> </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00077">77</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a81c0d97c83c7d382a66f6f0b645f8628"></a><!-- doxytag: member="SelfAdjointView::SelfAdjointView" ref="a81c0d97c83c7d382a66f6f0b645f8628" args="(const MatrixType &matrix)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::<a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a> </td> <td>(</td> <td class="paramtype">const MatrixType & </td> <td class="paramname"> <em>matrix</em> )</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00082">82</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a8e656736dc1345d8b14575cdeeccd73a"></a><!-- doxytag: member="SelfAdjointView::_expression" ref="a8e656736dc1345d8b14575cdeeccd73a" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname">const MatrixType& <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::_expression </td> <td>(</td> <td class="paramname"> )</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00109">109</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <a class="anchor" id="a3308967c5c1b7e1220017abd74243b9d"></a><!-- doxytag: member="SelfAdjointView::coeff" ref="a3308967c5c1b7e1220017abd74243b9d" args="(Index row, Index col) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a> <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::coeff </td> <td>(</td> <td class="paramtype"><a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a> </td> <td class="paramname"> <em>row</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a> </td> <td class="paramname"> <em>col</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="see"><dt><b>See also:</b></dt><dd>MatrixBase::coeff() </dd></dl> <dl class="warning"><dt><b>Warning:</b></dt><dd>the coordinates must fit into the referenced triangular part </dd></dl> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00093">93</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <a class="anchor" id="a206537a31e328530c1d0b77ab9eeedea"></a><!-- doxytag: member="SelfAdjointView::coeffRef" ref="a206537a31e328530c1d0b77ab9eeedea" args="(Index row, Index col)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a>& <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::coeffRef </td> <td>(</td> <td class="paramtype"><a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a> </td> <td class="paramname"> <em>row</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a> </td> <td class="paramname"> <em>col</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="see"><dt><b>See also:</b></dt><dd>MatrixBase::coeffRef() </dd></dl> <dl class="warning"><dt><b>Warning:</b></dt><dd>the coordinates must fit into the referenced triangular part </dd></dl> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00102">102</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <a class="anchor" id="a84cb4fcb78ebc02277d509e5956512ae"></a><!-- doxytag: member="SelfAdjointView::cols" ref="a84cb4fcb78ebc02277d509e5956512ae" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a> <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::cols </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> )</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>the number of columns. </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_self_adjoint_view.html#a6eb1fc498cf8a72b5d8ad2f9966dfbaa">rows()</a>, <a class="el" href="class_triangular_base.html#a87cf484e07bcc51487a32c80fff5ca5aafbd90cdfafc1b348e139dd18f9cca773">ColsAtCompileTime</a> </dd></dl> <p>Reimplemented from <a class="el" href="class_triangular_base.html#a2215d17c98dc09976c1da835a42655df">TriangularBase< SelfAdjointView< MatrixType, UpLo > ></a>.</p> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00086">86</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <a class="anchor" id="ae7c4ca75c7c0095170759bbf18108760"></a><!-- doxytag: member="SelfAdjointView::eigenvalues" ref="ae7c4ca75c7c0095170759bbf18108760" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType , unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::<a class="el" href="class_matrix.html">EigenvaluesReturnType</a> <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::eigenvalues </td> <td>(</td> <td class="paramname"> )</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Computes the eigenvalues of a matrix. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>Column vector containing the eigenvalues.</dd></dl> <p>This function computes the eigenvalues with the help of the <a class="el" href="class_self_adjoint_eigen_solver.html">SelfAdjointEigenSolver</a> class. The eigenvalues are repeated according to their algebraic multiplicity, so there are as many eigenvalues as rows in the matrix.</p> <p>Example: </p> <div class="fragment"><pre class="fragment"></pre></div><p> Output: </p> <div class="fragment"><pre class="fragment"></pre></div><dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_self_adjoint_eigen_solver.html#a692ddd9cbf01682d4d87b8b5b8f2e746" title="Returns the eigenvalues of given matrix (pencil).">SelfAdjointEigenSolver::eigenvalues()</a>, <a class="el" href="class_matrix_base.html#a1701109ba7723f6c637b3621e19b3033" title="Computes the eigenvalues of a matrix.">MatrixBase::eigenvalues()</a> </dd></dl> <p>Definition at line <a class="el" href="_matrix_base_eigenvalues_8h_source.html#l00102">102</a> of file <a class="el" href="_matrix_base_eigenvalues_8h_source.html">MatrixBaseEigenvalues.h</a>.</p> </div> </div> <a class="anchor" id="ac68922b882ca7d9e721542c85ff9a2f2"></a><!-- doxytag: member="SelfAdjointView::innerStride" ref="ac68922b882ca7d9e721542c85ff9a2f2" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a> <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::innerStride </td> <td>(</td> <td class="paramname"> )</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Reimplemented from <a class="el" href="class_triangular_base.html#afb1cf414ae87a5f0e3fe8d5361118222">TriangularBase< SelfAdjointView< MatrixType, UpLo > ></a>.</p> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00088">88</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <a class="anchor" id="a8eb1e6d655b228950f7bbd5107f10e4d"></a><!-- doxytag: member="SelfAdjointView::ldlt" ref="a8eb1e6d655b228950f7bbd5107f10e4d" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType , unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname">const <a class="el" href="class_l_d_l_t.html">LDLT</a>< typename <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::<a class="el" href="class_self_adjoint_view.html#a8e5baa90348f250379a76c93b3e671b4">PlainObject</a>, UpLo > <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::ldlt </td> <td>(</td> <td class="paramname"> )</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p></p> <dl class="return"><dt><b>Returns:</b></dt><dd>the Cholesky decomposition with full pivoting without square root of <code>*this</code> </dd></dl> <p>Definition at line <a class="el" href="_l_d_l_t_8h_source.html#l00430">430</a> of file <a class="el" href="_l_d_l_t_8h_source.html">LDLT.h</a>.</p> </div> </div> <a class="anchor" id="a936984c60b511c81d72e253a8f6e308b"></a><!-- doxytag: member="SelfAdjointView::llt" ref="a936984c60b511c81d72e253a8f6e308b" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType , unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname">const <a class="el" href="class_l_l_t.html">LLT</a>< typename <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::<a class="el" href="class_self_adjoint_view.html#a8e5baa90348f250379a76c93b3e671b4">PlainObject</a>, UpLo > <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::llt </td> <td>(</td> <td class="paramname"> )</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p></p> <dl class="return"><dt><b>Returns:</b></dt><dd>the <a class="el" href="class_l_l_t.html" title="Standard Cholesky decomposition (LL^T) of a matrix and associated features.">LLT</a> decomposition of <code>*this</code> </dd></dl> <p>Definition at line <a class="el" href="_l_l_t_8h_source.html#l00368">368</a> of file <a class="el" href="_l_l_t_8h_source.html">LLT.h</a>.</p> </div> </div> <a class="anchor" id="afc8def4d2e586000c2d313fd4300ffd2"></a><!-- doxytag: member="SelfAdjointView::nestedExpression" ref="afc8def4d2e586000c2d313fd4300ffd2" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname">const MatrixType& <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::nestedExpression </td> <td>(</td> <td class="paramname"> )</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00111">111</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <a class="anchor" id="a0984a0363bd71a9b82eb71cf0c1b1251"></a><!-- doxytag: member="SelfAdjointView::nestedExpression" ref="a0984a0363bd71a9b82eb71cf0c1b1251" args="()" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname">MatrixType& <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::nestedExpression </td> <td>(</td> <td class="paramname"> )</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00112">112</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <a class="anchor" id="a48c8996f879453f7a99d02410fe9d7b6"></a><!-- doxytag: member="SelfAdjointView::operator*" ref="a48c8996f879453f7a99d02410fe9d7b6" args="(const MatrixBase< OtherDerived > &rhs) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <div class="memtemplate"> template<typename OtherDerived > </div> <table class="memname"> <tr> <td class="memname">SelfadjointProductMatrix<MatrixType,Mode,false,OtherDerived,0,OtherDerived::IsVectorAtCompileTime> <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::operator* </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_matrix_base.html">MatrixBase</a>< OtherDerived > & </td> <td class="paramname"> <em>rhs</em> )</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Efficient self-adjoint matrix times vector/matrix product. </p> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00117">117</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <a class="anchor" id="a05cab207ce6853115f593f04501fbe9d"></a><!-- doxytag: member="SelfAdjointView::operatorNorm" ref="a05cab207ce6853115f593f04501fbe9d" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType , unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::<a class="el" href="class_self_adjoint_view.html#a835a9f986a54c821b8f677f98cddff33">RealScalar</a> <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::operatorNorm </td> <td>(</td> <td class="paramname"> )</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Computes the L2 operator norm. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>Operator norm of the matrix.</dd></dl> <p>This function computes the L2 operator norm of a self-adjoint matrix. For a self-adjoint matrix, the operator norm is the largest eigenvalue.</p> <p>The current implementation uses the eigenvalues of the matrix, as computed by <a class="el" href="class_self_adjoint_view.html#ae7c4ca75c7c0095170759bbf18108760" title="Computes the eigenvalues of a matrix.">eigenvalues()</a>, to compute the operator norm of the matrix.</p> <p>Example: </p> <div class="fragment"><pre class="fragment"></pre></div><p> Output: </p> <div class="fragment"><pre class="fragment"></pre></div><dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_self_adjoint_view.html#ae7c4ca75c7c0095170759bbf18108760" title="Computes the eigenvalues of a matrix.">eigenvalues()</a>, <a class="el" href="class_matrix_base.html#a73ad8154eb23a9fc4984f9456e18d932" title="Computes the L2 operator norm.">MatrixBase::operatorNorm()</a> </dd></dl> <p>Definition at line <a class="el" href="_matrix_base_eigenvalues_8h_source.html#l00165">165</a> of file <a class="el" href="_matrix_base_eigenvalues_8h_source.html">MatrixBaseEigenvalues.h</a>.</p> </div> </div> <a class="anchor" id="ae5e99c34906a5636c42d3ef2ec9753bf"></a><!-- doxytag: member="SelfAdjointView::outerStride" ref="ae5e99c34906a5636c42d3ef2ec9753bf" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a> <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::outerStride </td> <td>(</td> <td class="paramname"> )</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Reimplemented from <a class="el" href="class_triangular_base.html#a042c7fd3fe30776cef6eb62b9efdae1e">TriangularBase< SelfAdjointView< MatrixType, UpLo > ></a>.</p> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00087">87</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <a class="anchor" id="a3db834d8c5dcb775abb93df9e815e49b"></a><!-- doxytag: member="SelfAdjointView::rankUpdate" ref="a3db834d8c5dcb775abb93df9e815e49b" args="(const MatrixBase< DerivedU > &u, const MatrixBase< DerivedV > &v, Scalar alpha=Scalar(1))" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType , unsigned int UpLo> </div> <div class="memtemplate"> template<typename DerivedU , typename DerivedV > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo > & <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::rankUpdate </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_matrix_base.html">MatrixBase</a>< DerivedU > & </td> <td class="paramname"> <em>u</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="class_matrix_base.html">MatrixBase</a>< DerivedV > & </td> <td class="paramname"> <em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a> </td> <td class="paramname"> <em>alpha</em> = <code><a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a>(1)</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Perform a symmetric rank 2 update of the selfadjoint matrix <code>*this</code>: <img class="formulaInl" alt="$ this = this + \alpha u v^* + conj(\alpha) v u^* $" src="form_144.png"/>. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>a reference to <code>*this</code> </dd></dl> <p>The vectors <em>u</em> and <code>v</code> <b>must</b> be column vectors, however they can be a adjoint expression without any overhead. Only the meaningful triangular part of the matrix is updated, the rest is left unchanged.</p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_self_adjoint_view.html#a82fc0f0400884f5663e0d835db1e7772" title="Perform a symmetric rank K update of the selfadjoint matrix *this: where u is a vector or matrix...">rankUpdate(const MatrixBase<DerivedU>&, Scalar)</a> </dd></dl> <p>Definition at line <a class="el" href="_selfadjoint_rank2_update_8h_source.html#l00074">74</a> of file <a class="el" href="_selfadjoint_rank2_update_8h_source.html">SelfadjointRank2Update.h</a>.</p> <p>References <a class="el" href="_constants_8h_source.html#l00165">Lower</a>, <a class="el" href="_constants_8h_source.html#l00060">RowMajorBit</a>, and <a class="el" href="_constants_8h_source.html#l00165">Upper</a>.</p> </div> </div> <a class="anchor" id="a82fc0f0400884f5663e0d835db1e7772"></a><!-- doxytag: member="SelfAdjointView::rankUpdate" ref="a82fc0f0400884f5663e0d835db1e7772" args="(const MatrixBase< DerivedU > &u, Scalar alpha=Scalar(1))" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType , unsigned int UpLo> </div> <div class="memtemplate"> template<typename DerivedU > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo > & <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::rankUpdate </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_matrix_base.html">MatrixBase</a>< DerivedU > & </td> <td class="paramname"> <em>u</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a> </td> <td class="paramname"> <em>alpha</em> = <code><a class="el" href="class_self_adjoint_view.html#a8bf97f589d73ade57501ca2fa5e03267">Scalar</a>(1)</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Perform a symmetric rank K update of the selfadjoint matrix <code>*this</code>: <img class="formulaInl" alt="$ this = this + \alpha ( u u^* ) $" src="form_145.png"/> where <em>u</em> is a vector or matrix. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>a reference to <code>*this</code> </dd></dl> <p>Note that to perform <img class="formulaInl" alt="$ this = this + \alpha ( u^* u ) $" src="form_146.png"/> you can simply call this function with u.adjoint().</p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_self_adjoint_view.html#a3db834d8c5dcb775abb93df9e815e49b" title="Perform a symmetric rank 2 update of the selfadjoint matrix *this: .">rankUpdate(const MatrixBase<DerivedU>&, const MatrixBase<DerivedV>&, Scalar)</a> </dd></dl> <p>Definition at line <a class="el" href="_selfadjoint_product_8h_source.html#l00039">39</a> of file <a class="el" href="_selfadjoint_product_8h_source.html">SelfadjointProduct.h</a>.</p> <p>References <a class="el" href="_constants_8h_source.html#l00205">ColMajor</a>, <a class="el" href="_constants_8h_source.html#l00206">RowMajor</a>, and <a class="el" href="_constants_8h_source.html#l00060">RowMajorBit</a>.</p> </div> </div> <a class="anchor" id="a6eb1fc498cf8a72b5d8ad2f9966dfbaa"></a><!-- doxytag: member="SelfAdjointView::rows" ref="a6eb1fc498cf8a72b5d8ad2f9966dfbaa" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_self_adjoint_view.html#a1f53fa904809e2cdea65c94666c02e85">Index</a> <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::rows </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> )</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>the number of rows. </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_self_adjoint_view.html#a84cb4fcb78ebc02277d509e5956512ae">cols()</a>, <a class="el" href="class_triangular_base.html#a87cf484e07bcc51487a32c80fff5ca5aa3a778580470e3f3888720636edc54f5c">RowsAtCompileTime</a> </dd></dl> <p>Reimplemented from <a class="el" href="class_triangular_base.html#a3ee8e0e10c80c0e3e84557499a99258e">TriangularBase< SelfAdjointView< MatrixType, UpLo > ></a>.</p> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00085">85</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <hr/><h2>Friends And Related Function Documentation</h2> <a class="anchor" id="a34e99e5ddf24abc0818278b54579bcba"></a><!-- doxytag: member="SelfAdjointView::operator*" ref="a34e99e5ddf24abc0818278b54579bcba" args="(const MatrixBase< OtherDerived > &lhs, const SelfAdjointView &rhs)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <div class="memtemplate"> template<typename OtherDerived > </div> <table class="memname"> <tr> <td class="memname">SelfadjointProductMatrix<OtherDerived,0,OtherDerived::IsVectorAtCompileTime,MatrixType,Mode,false> operator* </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_matrix_base.html">MatrixBase</a>< OtherDerived > & </td> <td class="paramname"> <em>lhs</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo > & </td> <td class="paramname"> <em>rhs</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [friend]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Efficient vector/matrix times self-adjoint matrix product. </p> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00127">127</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a1880e5c1d7e163f72de63fd44ce55fc5"></a><!-- doxytag: member="SelfAdjointView::m_matrix" ref="a1880e5c1d7e163f72de63fd44ce55fc5" args="" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename MatrixType, unsigned int UpLo> </div> <table class="memname"> <tr> <td class="memname">const MatrixType::Nested <a class="el" href="class_self_adjoint_view.html">SelfAdjointView</a>< MatrixType, UpLo >::<a class="el" href="class_self_adjoint_view.html#a1880e5c1d7e163f72de63fd44ce55fc5">m_matrix</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_self_adjoint_view_8h_source.html#l00176">176</a> of file <a class="el" href="_self_adjoint_view_8h_source.html">SelfAdjointView.h</a>.</p> </div> </div> </div> <br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.2</a> for MRPT 0.9.4 SVN: at Mon Jan 10 22:30:30 UTC 2011</td><td></td> <td width="100"> </td> <td width="150"> </td></tr> </table> </body></html>