<!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>Eigen::JacobiSVD Class 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.5 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" 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> <div id="MSearchBox" class="MSearchBoxInactive"> <div 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> </div><div class="right"></div> </div> </li> </ul> </div> <div id="navrow2" 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="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespace_eigen.html">Eigen</a> </li> <li class="navelem"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html">JacobiSVD</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="#pri-methods">Private Member Functions</a> | <a href="#friends">Friends</a> </div> <div class="headertitle"> <div class="title">Eigen::JacobiSVD Class Reference<div class="ingroups"><a class="el" href="group___s_v_d___module.html">SVD module</a></div></div> </div> </div> <div class="contents"> <!-- doxytag: class="Eigen::JacobiSVD" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Two-sided Jacobi SVD decomposition of a rectangular matrix. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">MatrixType</td><td>the type of the matrix of which we are computing the SVD decomposition </td></tr> <tr><td class="paramname">QRPreconditioner</td><td>this optional parameter allows to specify the type of QR decomposition that will be used internally for the R-SVD step for non-square matrices. See discussion of possible values below.</td></tr> </table> </dd> </dl> <p>SVD decomposition consists in decomposing any n-by-p matrix <em>A</em> as a product </p> <p class="formulaDsp"> <img class="formulaDsp" alt="\[ A = U S V^* \]" src="form_266.png"/> </p> <p> where <em>U</em> is a n-by-n unitary, <em>V</em> is a p-by-p unitary, and <em>S</em> is a n-by-p real positive matrix which is zero outside of its main diagonal; the diagonal entries of S are known as the <em>singular</em> <em>values</em> of <em>A</em> and the columns of <em>U</em> and <em>V</em> are known as the left and right <em>singular</em> <em>vectors</em> of <em>A</em> respectively.</p> <p>Singular values are always sorted in decreasing order.</p> <p>This <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html" title="Two-sided Jacobi SVD decomposition of a rectangular matrix.">JacobiSVD</a> decomposition computes only the singular values by default. If you want <em>U</em> or <em>V</em>, you need to ask for them explicitly.</p> <p>You can ask for only <em>thin</em> <em>U</em> or <em>V</em> to be computed, meaning the following. In case of a rectangular n-by-p matrix, letting <em>m</em> be the smaller value among <em>n</em> and <em>p</em>, there are only <em>m</em> singular vectors; the remaining columns of <em>U</em> and <em>V</em> do not correspond to actual singular vectors. Asking for <em>thin</em> <em>U</em> or <em>V</em> means asking for only their <em>m</em> first columns to be formed. So <em>U</em> is then a n-by-m matrix, and <em>V</em> is then a p-by-m matrix. Notice that thin <em>U</em> and <em>V</em> are all you need for (least squares) solving.</p> <p>Here's an example demonstrating basic usage: </p> <div class="fragment"><pre class="fragment"></pre></div><p> Output: </p> <div class="fragment"><pre class="fragment"></pre></div><p>This <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html" title="Two-sided Jacobi SVD decomposition of a rectangular matrix.">JacobiSVD</a> class is a two-sided Jacobi R-SVD decomposition, ensuring optimal reliability and accuracy. The downside is that it's slower than bidiagonalizing SVD algorithms for large square matrices; however its complexity is still <img class="formulaInl" alt="$ O(n^2p) $" src="form_267.png"/> where <em>n</em> is the smaller dimension and <em>p</em> is the greater dimension, meaning that it is still of the same order of complexity as the faster bidiagonalizing R-SVD algorithms. In particular, like any R-SVD, it takes advantage of non-squareness in that its complexity is only linear in the greater dimension.</p> <p>If the input matrix has inf or nan coefficients, the result of the computation is undefined, but the computation is guaranteed to terminate in finite (and reasonable) time.</p> <p>The possible values for QRPreconditioner are: </p> <ul> <li>ColPivHouseholderQRPreconditioner is the default. In practice it's very safe. It uses column-pivoting QR. </li> <li>FullPivHouseholderQRPreconditioner, is the safest and slowest. It uses full-pivoting QR. Contrary to other QRs, it doesn't allow computing thin unitaries. </li> <li>HouseholderQRPreconditioner is the fastest, and less safe and accurate than the pivoting variants. It uses non-pivoting QR. This is very similar in safety and accuracy to the bidiagonalization process used by bidiagonalizing SVD algorithms (since bidiagonalization is inherently non-pivoting). However the resulting SVD is still more reliable than bidiagonalizing SVDs because the Jacobi-based iterarive process is more reliable than the optimized bidiagonal SVD iterations. </li> <li>NoQRPreconditioner allows not to use a QR preconditioner at all. This is useful if you know that you will only be computing <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html" title="Two-sided Jacobi SVD decomposition of a rectangular matrix.">JacobiSVD</a> decompositions of square matrices. Non-square matrices require a QR preconditioner. Using this option will result in faster compilation and smaller executable code. It won't significantly speed up computation, since <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html" title="Two-sided Jacobi SVD decomposition of a rectangular matrix.">JacobiSVD</a> is always checking if QR preconditioning is needed before applying it anyway.</li> </ul> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_eigen_1_1_matrix_base.html#a10cb24c876b7425409530813eb1ea54b">MatrixBase::jacobiSvd()</a> </dd></dl> </div> <p><a href="class_eigen_1_1_jacobi_s_v_d-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">{ <br/>   <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ac0360d9420a207884588f680550b89a3ad3a4edd9c098704ae6c3cec17180fbb5">RowsAtCompileTime</a> = MatrixType::RowsAtCompileTime, <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ac0360d9420a207884588f680550b89a3a4580d4588c8a01eab7b141b89fffc347">ColsAtCompileTime</a> = MatrixType::ColsAtCompileTime, <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ac0360d9420a207884588f680550b89a3ab9b4f339a27114cbeb2e0f391e3a525e">DiagSizeAtCompileTime</a> = EIGEN_SIZE_MIN_PREFER_DYNAMIC(RowsAtCompileTime,ColsAtCompileTime), <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ac0360d9420a207884588f680550b89a3abf2f38ce2dfe011686b7a29216065c27">MaxRowsAtCompileTime</a> = MatrixType::MaxRowsAtCompileTime, <br/>   <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ac0360d9420a207884588f680550b89a3a23a889c516512808bf4ccb9299d967aa">MaxColsAtCompileTime</a> = MatrixType::MaxColsAtCompileTime, <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ac0360d9420a207884588f680550b89a3a0cff9776d1e29b85c7d4257f3bcde56f">MaxDiagSizeAtCompileTime</a> = EIGEN_SIZE_MIN_PREFER_FIXED(MaxRowsAtCompileTime,MaxColsAtCompileTime), <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ac0360d9420a207884588f680550b89a3a24e8bb236079587d499718437342b7ff">MatrixOptions</a> = MatrixType::Options <br/> }</td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef _MatrixType </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef MatrixType::Scalar </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afa433bfd5d5caa6a35ceabe2139005c8">Scalar</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="struct_eigen_1_1_num_traits.html">NumTraits</a>< typename <br class="typebreak"/> MatrixType::Scalar >::Real </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a2824d45ce2e16d16a9ac1deea354ac04">RealScalar</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef MatrixType::Index </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_eigen_1_1_matrix.html">Matrix</a>< <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afa433bfd5d5caa6a35ceabe2139005c8">Scalar</a>, <br class="typebreak"/> RowsAtCompileTime, <br class="typebreak"/> RowsAtCompileTime, <br class="typebreak"/> MatrixOptions, <br class="typebreak"/> MaxRowsAtCompileTime, <br class="typebreak"/> MaxRowsAtCompileTime > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ab44ed64c57101648fe150a63c57a9e17">MatrixUType</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_eigen_1_1_matrix.html">Matrix</a>< <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afa433bfd5d5caa6a35ceabe2139005c8">Scalar</a>, <br class="typebreak"/> ColsAtCompileTime, <br class="typebreak"/> ColsAtCompileTime, <br class="typebreak"/> MatrixOptions, <br class="typebreak"/> MaxColsAtCompileTime, <br class="typebreak"/> MaxColsAtCompileTime > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a5231a5050dfb3a9cb0e4d29990cf42a9">MatrixVType</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/> <a class="el" href="struct_eigen_1_1internal_1_1plain__diag__type.html">internal::plain_diag_type</a><br class="typebreak"/> < <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a>, <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a2824d45ce2e16d16a9ac1deea354ac04">RealScalar</a> ><br class="typebreak"/> ::type </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a7cde27b915ad479e02adc6f95451315d">SingularValuesType</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/> <a class="el" href="struct_eigen_1_1internal_1_1plain__row__type.html">internal::plain_row_type</a><br class="typebreak"/> < <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a> >::type </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a92ea9ca4e0289c2806ded11bdef8a0a8">RowType</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/> <a class="el" href="struct_eigen_1_1internal_1_1plain__col__type.html">internal::plain_col_type</a><br class="typebreak"/> < <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a> >::type </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a589e3ecd5ff17c5a536788182f7f4ce4">ColType</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_eigen_1_1_matrix.html">Matrix</a>< <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afa433bfd5d5caa6a35ceabe2139005c8">Scalar</a>, <br class="typebreak"/> DiagSizeAtCompileTime, <br class="typebreak"/> DiagSizeAtCompileTime, <br class="typebreak"/> MatrixOptions, <br class="typebreak"/> MaxDiagSizeAtCompileTime, <br class="typebreak"/> MaxDiagSizeAtCompileTime > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a6f66908418a403ca2f6d9c419178c6ce">WorkMatrixType</a></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_eigen_1_1_jacobi_s_v_d.html#a580e7d880aec007fd56338ea1e180ea0">JacobiSVD</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default Constructor. <a href="#a580e7d880aec007fd56338ea1e180ea0"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af7467bffc4e90fa732372653401c4011">JacobiSVD</a> (<a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> rows, <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> cols, unsigned int computationOptions=0)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default Constructor with memory preallocation. <a href="#af7467bffc4e90fa732372653401c4011"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#aaf3ef2feca7e431c378eba97b4ebbcc6">JacobiSVD</a> (const <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a> &matrix, unsigned int computationOptions=0)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor performing the decomposition of given matrix. <a href="#aaf3ef2feca7e431c378eba97b4ebbcc6"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html">JacobiSVD</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a0ba0a7e1c22fd4ea7067befc60956f4b">compute</a> (const <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a> &matrix, unsigned int computationOptions)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Method performing the decomposition of given matrix using custom options. <a href="#a0ba0a7e1c22fd4ea7067befc60956f4b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html">JacobiSVD</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#aff0004d97d0c038141d47308a08ecd47">compute</a> (const <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a> &matrix)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Method performing the decomposition of given matrix using current options. <a href="#aff0004d97d0c038141d47308a08ecd47"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ab44ed64c57101648fe150a63c57a9e17">MatrixUType</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a36d760aa77cc919d381c65272f4be99d">matrixU</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a5231a5050dfb3a9cb0e4d29990cf42a9">MatrixVType</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af5d73a74fe9ca74df9b06f67ec09b4f3">matrixV</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a7cde27b915ad479e02adc6f95451315d">SingularValuesType</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a6d61a6d9c7abcdd7bd4a1e9562758afa">singularValues</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#acfbdc319d23a2bc23853e450f41e8d7a">computeU</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#aacec70011ac5186b423a063615643b37">computeV</a> () const </td></tr> <tr><td class="memTemplParams" colspan="2">template<typename Rhs > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">const internal::solve_retval<br class="typebreak"/> < <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html">JacobiSVD</a>, Rhs > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#abd6b96100bbbc208f288528191e52d2f">solve</a> (const <a class="el" href="class_eigen_1_1_matrix_base.html">MatrixBase</a>< Rhs > &b) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a649c54af08035ffc935338a4e346ef4f">nonzeroSingularValues</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a25655745586d6068df19cd6fe3d7a969">rows</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a1eeafb574386b2e86cc07bad46777c15">cols</a> () const </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"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ab44ed64c57101648fe150a63c57a9e17">MatrixUType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a8cabb1c467f5a720635a6017b2393707">m_matrixU</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a5231a5050dfb3a9cb0e4d29990cf42a9">MatrixVType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#aa4a79307761db7f8f8170c0213f44697">m_matrixV</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a7cde27b915ad479e02adc6f95451315d">SingularValuesType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#aa9f9cd8a97514095451b2d3e8590c932">m_singularValues</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a6f66908418a403ca2f6d9c419178c6ce">WorkMatrixType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ac75b85f585f2861f1f2ea2197f9d403b">m_workMatrix</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a88384fb642f960e8c26aac89390a2e1b">m_isInitialized</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a7c5834cc48ac3b5e443b505f1bfa27d5">m_isAllocated</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a664944f1ea7121d09f814cb91b23a524">m_computeFullU</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a671dabe26f5ff00dce80e96af1b04d9f">m_computeThinU</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ad421a569a47e009e42f2620e7a0de5fa">m_computeFullV</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a3b573aeeb1561a5a1cfd15b8237cd14b">m_computeThinV</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a401377fbbd0c82bb3598e42be17343de">m_computationOptions</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a718aaabb4696d796c28f10f76e910b9e">m_nonzeroSingularValues</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a8f599ecf7d587152ffdf1729d071981a">m_rows</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a7d843a6e83020ca08c771b5648e52ba3">m_cols</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a51267c3024c89e36a5da0b74e25d1250">m_diagSize</a></td></tr> <tr><td colspan="2"><h2><a name="pri-methods"></a> Private Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ac44d23d315705da8d57ea5a610fdc98b">allocate</a> (<a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> rows, <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> cols, unsigned int computationOptions)</td></tr> <tr><td colspan="2"><h2><a name="friends"></a> Friends</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#aa2345db51c47756d1e8ccece21e9a4e8">internal::svd_precondition_2x2_block_to_be_real</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a21d594ca5e55bd0ad053ab7c5b67f7b8">internal::qr_preconditioner_impl</a></td></tr> </table> <hr/><h2>Member Typedef Documentation</h2> <a class="anchor" id="a589e3ecd5ff17c5a536788182f7f4ce4"></a><!-- doxytag: member="Eigen::JacobiSVD::ColType" ref="a589e3ecd5ff17c5a536788182f7f4ce4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="struct_eigen_1_1internal_1_1plain__col__type.html">internal::plain_col_type</a><<a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a>>::type <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a589e3ecd5ff17c5a536788182f7f4ce4">Eigen::JacobiSVD::ColType</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00370">370</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="afb26d4482cc7dd2b377eb94fede04a4b"></a><!-- doxytag: member="Eigen::JacobiSVD::Index" ref="afb26d4482cc7dd2b377eb94fede04a4b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef MatrixType::Index <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Eigen::JacobiSVD::Index</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00351">351</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="af54a483e94b1b0d7c1f2159232c5f658"></a><!-- doxytag: member="Eigen::JacobiSVD::MatrixType" ref="af54a483e94b1b0d7c1f2159232c5f658" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef _MatrixType <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">Eigen::JacobiSVD::MatrixType</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00348">348</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="ab44ed64c57101648fe150a63c57a9e17"></a><!-- doxytag: member="Eigen::JacobiSVD::MatrixUType" ref="ab44ed64c57101648fe150a63c57a9e17" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="class_eigen_1_1_matrix.html">Matrix</a><<a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afa433bfd5d5caa6a35ceabe2139005c8">Scalar</a>, RowsAtCompileTime, RowsAtCompileTime, MatrixOptions, MaxRowsAtCompileTime, MaxRowsAtCompileTime> <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ab44ed64c57101648fe150a63c57a9e17">Eigen::JacobiSVD::MatrixUType</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00364">364</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a5231a5050dfb3a9cb0e4d29990cf42a9"></a><!-- doxytag: member="Eigen::JacobiSVD::MatrixVType" ref="a5231a5050dfb3a9cb0e4d29990cf42a9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="class_eigen_1_1_matrix.html">Matrix</a><<a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afa433bfd5d5caa6a35ceabe2139005c8">Scalar</a>, ColsAtCompileTime, ColsAtCompileTime, MatrixOptions, MaxColsAtCompileTime, MaxColsAtCompileTime> <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a5231a5050dfb3a9cb0e4d29990cf42a9">Eigen::JacobiSVD::MatrixVType</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00367">367</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a2824d45ce2e16d16a9ac1deea354ac04"></a><!-- doxytag: member="Eigen::JacobiSVD::RealScalar" ref="a2824d45ce2e16d16a9ac1deea354ac04" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="struct_eigen_1_1_num_traits.html">NumTraits</a><typename MatrixType::Scalar>::Real <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a2824d45ce2e16d16a9ac1deea354ac04">Eigen::JacobiSVD::RealScalar</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00350">350</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a92ea9ca4e0289c2806ded11bdef8a0a8"></a><!-- doxytag: member="Eigen::JacobiSVD::RowType" ref="a92ea9ca4e0289c2806ded11bdef8a0a8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="struct_eigen_1_1internal_1_1plain__row__type.html">internal::plain_row_type</a><<a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a>>::type <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a92ea9ca4e0289c2806ded11bdef8a0a8">Eigen::JacobiSVD::RowType</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00369">369</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="afa433bfd5d5caa6a35ceabe2139005c8"></a><!-- doxytag: member="Eigen::JacobiSVD::Scalar" ref="afa433bfd5d5caa6a35ceabe2139005c8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef MatrixType::Scalar <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afa433bfd5d5caa6a35ceabe2139005c8">Eigen::JacobiSVD::Scalar</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00349">349</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a7cde27b915ad479e02adc6f95451315d"></a><!-- doxytag: member="Eigen::JacobiSVD::SingularValuesType" ref="a7cde27b915ad479e02adc6f95451315d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="struct_eigen_1_1internal_1_1plain__diag__type.html">internal::plain_diag_type</a><<a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a>, <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a2824d45ce2e16d16a9ac1deea354ac04">RealScalar</a>>::type <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a7cde27b915ad479e02adc6f95451315d">Eigen::JacobiSVD::SingularValuesType</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00368">368</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a6f66908418a403ca2f6d9c419178c6ce"></a><!-- doxytag: member="Eigen::JacobiSVD::WorkMatrixType" ref="a6f66908418a403ca2f6d9c419178c6ce" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="class_eigen_1_1_matrix.html">Matrix</a><<a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afa433bfd5d5caa6a35ceabe2139005c8">Scalar</a>, DiagSizeAtCompileTime, DiagSizeAtCompileTime, MatrixOptions, MaxDiagSizeAtCompileTime, MaxDiagSizeAtCompileTime> <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a6f66908418a403ca2f6d9c419178c6ce">Eigen::JacobiSVD::WorkMatrixType</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00373">373</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <hr/><h2>Member Enumeration Documentation</h2> <a class="anchor" id="ac0360d9420a207884588f680550b89a3"></a><!-- doxytag: member="Eigen::JacobiSVD::@407" ref="ac0360d9420a207884588f680550b89a3" args="" --> <div class="memitem"> <div class="memproto"> <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="ac0360d9420a207884588f680550b89a3ad3a4edd9c098704ae6c3cec17180fbb5"></a><!-- doxytag: member="RowsAtCompileTime" ref="ac0360d9420a207884588f680550b89a3ad3a4edd9c098704ae6c3cec17180fbb5" args="" -->RowsAtCompileTime</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ac0360d9420a207884588f680550b89a3a4580d4588c8a01eab7b141b89fffc347"></a><!-- doxytag: member="ColsAtCompileTime" ref="ac0360d9420a207884588f680550b89a3a4580d4588c8a01eab7b141b89fffc347" args="" -->ColsAtCompileTime</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ac0360d9420a207884588f680550b89a3ab9b4f339a27114cbeb2e0f391e3a525e"></a><!-- doxytag: member="DiagSizeAtCompileTime" ref="ac0360d9420a207884588f680550b89a3ab9b4f339a27114cbeb2e0f391e3a525e" args="" -->DiagSizeAtCompileTime</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ac0360d9420a207884588f680550b89a3abf2f38ce2dfe011686b7a29216065c27"></a><!-- doxytag: member="MaxRowsAtCompileTime" ref="ac0360d9420a207884588f680550b89a3abf2f38ce2dfe011686b7a29216065c27" args="" -->MaxRowsAtCompileTime</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ac0360d9420a207884588f680550b89a3a23a889c516512808bf4ccb9299d967aa"></a><!-- doxytag: member="MaxColsAtCompileTime" ref="ac0360d9420a207884588f680550b89a3a23a889c516512808bf4ccb9299d967aa" args="" -->MaxColsAtCompileTime</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ac0360d9420a207884588f680550b89a3a0cff9776d1e29b85c7d4257f3bcde56f"></a><!-- doxytag: member="MaxDiagSizeAtCompileTime" ref="ac0360d9420a207884588f680550b89a3a0cff9776d1e29b85c7d4257f3bcde56f" args="" -->MaxDiagSizeAtCompileTime</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ac0360d9420a207884588f680550b89a3a24e8bb236079587d499718437342b7ff"></a><!-- doxytag: member="MatrixOptions" ref="ac0360d9420a207884588f680550b89a3a24e8bb236079587d499718437342b7ff" args="" -->MatrixOptions</em> </td><td> </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00352">352</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a580e7d880aec007fd56338ea1e180ea0"></a><!-- doxytag: member="Eigen::JacobiSVD::JacobiSVD" ref="a580e7d880aec007fd56338ea1e180ea0" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Eigen::JacobiSVD::JacobiSVD </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Default Constructor. </p> <p>The default constructor is useful in cases in which the user intends to perform decompositions via <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#aff0004d97d0c038141d47308a08ecd47" title="Method performing the decomposition of given matrix using current options.">JacobiSVD::compute(const MatrixType&)</a>. </p> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00380">380</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="af7467bffc4e90fa732372653401c4011"></a><!-- doxytag: member="Eigen::JacobiSVD::JacobiSVD" ref="af7467bffc4e90fa732372653401c4011" args="(Index rows, Index cols, unsigned int computationOptions=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Eigen::JacobiSVD::JacobiSVD </td> <td>(</td> <td class="paramtype"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> </td> <td class="paramname"><em>rows</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> </td> <td class="paramname"><em>cols</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>computationOptions</em> = <code>0</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Default Constructor with memory preallocation. </p> <p>Like the default constructor but with preallocation of the internal data according to the specified problem size. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a580e7d880aec007fd56338ea1e180ea0" title="Default Constructor.">JacobiSVD()</a> </dd></dl> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00394">394</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="aaf3ef2feca7e431c378eba97b4ebbcc6"></a><!-- doxytag: member="Eigen::JacobiSVD::JacobiSVD" ref="aaf3ef2feca7e431c378eba97b4ebbcc6" args="(const MatrixType &matrix, unsigned int computationOptions=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Eigen::JacobiSVD::JacobiSVD </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a> & </td> <td class="paramname"><em>matrix</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>computationOptions</em> = <code>0</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor performing the decomposition of given matrix. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">matrix</td><td>the matrix to decompose </td></tr> <tr><td class="paramname">computationOptions</td><td>optional parameter allowing to specify if you want full or thin U or V unitaries to be computed. By default, none is computed. This is a bit-field, the possible bits are <a class="el" href="group__enums.html#ggae3e239fb70022eb8747994cf5d68b4a9a9fa9302d510cee20c26311154937e23f" title="Used in JacobiSVD to indicate that the square matrix U is to be computed.">ComputeFullU</a>, <a class="el" href="group__enums.html#ggae3e239fb70022eb8747994cf5d68b4a9aa7fb4e98834788d0b1b0f2b8467d2527" title="Used in JacobiSVD to indicate that the thin matrix U is to be computed.">ComputeThinU</a>, <a class="el" href="group__enums.html#ggae3e239fb70022eb8747994cf5d68b4a9a36581f7c662f7def31efd500c284f930" title="Used in JacobiSVD to indicate that the square matrix V is to be computed.">ComputeFullV</a>, <a class="el" href="group__enums.html#ggae3e239fb70022eb8747994cf5d68b4a9a540036417bfecf2e791a70948c227f47" title="Used in JacobiSVD to indicate that the thin matrix V is to be computed.">ComputeThinV</a>.</td></tr> </table> </dd> </dl> <p>Thin unitaries are only available if your matrix type has a Dynamic number of columns (for example MatrixXf). They also are not available with the (non-default) <a class="el" href="class_eigen_1_1_full_piv_householder_q_r.html" title="Householder rank-revealing QR decomposition of a matrix with full pivoting.">FullPivHouseholderQR</a> preconditioner. </p> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00413">413</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="ac44d23d315705da8d57ea5a610fdc98b"></a><!-- doxytag: member="Eigen::JacobiSVD::allocate" ref="ac44d23d315705da8d57ea5a610fdc98b" args="(Index rows, Index cols, unsigned int computationOptions)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Eigen::JacobiSVD::allocate </td> <td>(</td> <td class="paramtype"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> </td> <td class="paramname"><em>rows</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> </td> <td class="paramname"><em>cols</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>computationOptions</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00542">542</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a1eeafb574386b2e86cc07bad46777c15"></a><!-- doxytag: member="Eigen::JacobiSVD::cols" ref="a1eeafb574386b2e86cc07bad46777c15" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> Eigen::JacobiSVD::cols </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00519">519</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a0ba0a7e1c22fd4ea7067befc60956f4b"></a><!-- doxytag: member="Eigen::JacobiSVD::compute" ref="a0ba0a7e1c22fd4ea7067befc60956f4b" args="(const MatrixType &matrix, unsigned int computationOptions)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html">JacobiSVD</a>< <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a>, QRPreconditioner > & Eigen::JacobiSVD::compute </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a> & </td> <td class="paramname"><em>matrix</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>computationOptions</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Method performing the decomposition of given matrix using custom options. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">matrix</td><td>the matrix to decompose </td></tr> <tr><td class="paramname">computationOptions</td><td>optional parameter allowing to specify if you want full or thin U or V unitaries to be computed. By default, none is computed. This is a bit-field, the possible bits are <a class="el" href="group__enums.html#ggae3e239fb70022eb8747994cf5d68b4a9a9fa9302d510cee20c26311154937e23f" title="Used in JacobiSVD to indicate that the square matrix U is to be computed.">ComputeFullU</a>, <a class="el" href="group__enums.html#ggae3e239fb70022eb8747994cf5d68b4a9aa7fb4e98834788d0b1b0f2b8467d2527" title="Used in JacobiSVD to indicate that the thin matrix U is to be computed.">ComputeThinU</a>, <a class="el" href="group__enums.html#ggae3e239fb70022eb8747994cf5d68b4a9a36581f7c662f7def31efd500c284f930" title="Used in JacobiSVD to indicate that the square matrix V is to be computed.">ComputeFullV</a>, <a class="el" href="group__enums.html#ggae3e239fb70022eb8747994cf5d68b4a9a540036417bfecf2e791a70948c227f47" title="Used in JacobiSVD to indicate that the thin matrix V is to be computed.">ComputeThinV</a>.</td></tr> </table> </dd> </dl> <p>Thin unitaries are only available if your matrix type has a Dynamic number of columns (for example MatrixXf). They also are not available with the (non-default) <a class="el" href="class_eigen_1_1_full_piv_householder_q_r.html" title="Householder rank-revealing QR decomposition of a matrix with full pivoting.">FullPivHouseholderQR</a> preconditioner. </p> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00586">586</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="aff0004d97d0c038141d47308a08ecd47"></a><!-- doxytag: member="Eigen::JacobiSVD::compute" ref="aff0004d97d0c038141d47308a08ecd47" args="(const MatrixType &matrix)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html">JacobiSVD</a>& Eigen::JacobiSVD::compute </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a> & </td> <td class="paramname"><em>matrix</em></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Method performing the decomposition of given matrix using current options. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">matrix</td><td>the matrix to decompose</td></tr> </table> </dd> </dl> <p>This method uses the current <em>computationOptions</em>, as already passed to the constructor or to <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a0ba0a7e1c22fd4ea7067befc60956f4b" title="Method performing the decomposition of given matrix using custom options.">compute(const MatrixType&, unsigned int)</a>. </p> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00440">440</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="acfbdc319d23a2bc23853e450f41e8d7a"></a><!-- doxytag: member="Eigen::JacobiSVD::computeU" ref="acfbdc319d23a2bc23853e450f41e8d7a" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Eigen::JacobiSVD::computeU </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>true if <em>U</em> (full or thin) is asked for in this SVD decomposition </dd></dl> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00489">489</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="aacec70011ac5186b423a063615643b37"></a><!-- doxytag: member="Eigen::JacobiSVD::computeV" ref="aacec70011ac5186b423a063615643b37" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Eigen::JacobiSVD::computeV </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>true if <em>V</em> (full or thin) is asked for in this SVD decomposition </dd></dl> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00491">491</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a36d760aa77cc919d381c65272f4be99d"></a><!-- doxytag: member="Eigen::JacobiSVD::matrixU" ref="a36d760aa77cc919d381c65272f4be99d" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ab44ed64c57101648fe150a63c57a9e17">MatrixUType</a>& Eigen::JacobiSVD::matrixU </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>the <em>U</em> matrix.</dd></dl> <p>For the SVD decomposition of a n-by-p matrix, letting <em>m</em> be the minimum of <em>n</em> and <em>p</em>, the U matrix is n-by-n if you asked for <a class="el" href="group__enums.html#ggae3e239fb70022eb8747994cf5d68b4a9a9fa9302d510cee20c26311154937e23f" title="Used in JacobiSVD to indicate that the square matrix U is to be computed.">ComputeFullU</a>, and is n-by-m if you asked for <a class="el" href="group__enums.html#ggae3e239fb70022eb8747994cf5d68b4a9aa7fb4e98834788d0b1b0f2b8467d2527" title="Used in JacobiSVD to indicate that the thin matrix U is to be computed.">ComputeThinU</a>.</p> <p>The <em>m</em> first columns of <em>U</em> are the left singular vectors of the matrix being decomposed.</p> <p>This method asserts that you asked for <em>U</em> to be computed. </p> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00454">454</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="af5d73a74fe9ca74df9b06f67ec09b4f3"></a><!-- doxytag: member="Eigen::JacobiSVD::matrixV" ref="af5d73a74fe9ca74df9b06f67ec09b4f3" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a5231a5050dfb3a9cb0e4d29990cf42a9">MatrixVType</a>& Eigen::JacobiSVD::matrixV </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>the <em>V</em> matrix.</dd></dl> <p>For the SVD decomposition of a n-by-p matrix, letting <em>m</em> be the minimum of <em>n</em> and <em>p</em>, the V matrix is p-by-p if you asked for <a class="el" href="group__enums.html#ggae3e239fb70022eb8747994cf5d68b4a9a36581f7c662f7def31efd500c284f930" title="Used in JacobiSVD to indicate that the square matrix V is to be computed.">ComputeFullV</a>, and is p-by-m if you asked for ComputeThinV.</p> <p>The <em>m</em> first columns of <em>V</em> are the right singular vectors of the matrix being decomposed.</p> <p>This method asserts that you asked for <em>V</em> to be computed. </p> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00470">470</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a649c54af08035ffc935338a4e346ef4f"></a><!-- doxytag: member="Eigen::JacobiSVD::nonzeroSingularValues" ref="a649c54af08035ffc935338a4e346ef4f" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> Eigen::JacobiSVD::nonzeroSingularValues </td> <td>(</td> <td class="paramname"></td><td>)</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 singular values that are not exactly 0 </dd></dl> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00512">512</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a25655745586d6068df19cd6fe3d7a969"></a><!-- doxytag: member="Eigen::JacobiSVD::rows" ref="a25655745586d6068df19cd6fe3d7a969" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> Eigen::JacobiSVD::rows </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00518">518</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a6d61a6d9c7abcdd7bd4a1e9562758afa"></a><!-- doxytag: member="Eigen::JacobiSVD::singularValues" ref="a6d61a6d9c7abcdd7bd4a1e9562758afa" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a7cde27b915ad479e02adc6f95451315d">SingularValuesType</a>& Eigen::JacobiSVD::singularValues </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>the vector of singular values.</dd></dl> <p>For the SVD decomposition of a n-by-p matrix, letting <em>m</em> be the minimum of <em>n</em> and <em>p</em>, the returned vector has size <em>m</em>. Singular values are always sorted in decreasing order. </p> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00482">482</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="abd6b96100bbbc208f288528191e52d2f"></a><!-- doxytag: member="Eigen::JacobiSVD::solve" ref="abd6b96100bbbc208f288528191e52d2f" args="(const MatrixBase< Rhs > &b) const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename Rhs > </div> <table class="memname"> <tr> <td class="memname">const internal::solve_retval<<a class="el" href="class_eigen_1_1_jacobi_s_v_d.html">JacobiSVD</a>, Rhs> Eigen::JacobiSVD::solve </td> <td>(</td> <td class="paramtype">const <a class="el" href="class_eigen_1_1_matrix_base.html">MatrixBase</a>< Rhs > & </td> <td class="paramname"><em>b</em></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>a (least squares) solution of <img class="formulaInl" alt="$ A x = b $" src="form_130.png"/> using the current SVD decomposition of A.</dd></dl> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">b</td><td>the right-hand-side of the equation to solve.</td></tr> </table> </dd> </dl> <dl class="note"><dt><b>Note:</b></dt><dd>Solving requires both U and V to be computed. Thin U and V are enough, there is no need for full U or V.</dd> <dd> SVD solving is implicitly least-squares. Thus, this method serves both purposes of exact solving and least-squares solving. In other words, the returned solution is guaranteed to minimize the Euclidean norm <img class="formulaInl" alt="$ \Vert A x - b \Vert $" src="form_268.png"/>. </dd></dl> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00504">504</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <hr/><h2>Friends And Related Function Documentation</h2> <a class="anchor" id="a21d594ca5e55bd0ad053ab7c5b67f7b8"></a><!-- doxytag: member="Eigen::JacobiSVD::internal::qr_preconditioner_impl" ref="a21d594ca5e55bd0ad053ab7c5b67f7b8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">friend struct <a class="el" href="struct_eigen_1_1internal_1_1qr__preconditioner__impl.html">internal::qr_preconditioner_impl</a><code> [friend]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00538">538</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="aa2345db51c47756d1e8ccece21e9a4e8"></a><!-- doxytag: member="Eigen::JacobiSVD::internal::svd_precondition_2x2_block_to_be_real" ref="aa2345db51c47756d1e8ccece21e9a4e8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">friend struct <a class="el" href="struct_eigen_1_1internal_1_1svd__precondition__2x2__block__to__be__real.html">internal::svd_precondition_2x2_block_to_be_real</a><code> [friend]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00536">536</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a7d843a6e83020ca08c771b5648e52ba3"></a><!-- doxytag: member="Eigen::JacobiSVD::m_cols" ref="a7d843a6e83020ca08c771b5648e52ba3" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a7d843a6e83020ca08c771b5648e52ba3">Eigen::JacobiSVD::m_cols</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00533">533</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a401377fbbd0c82bb3598e42be17343de"></a><!-- doxytag: member="Eigen::JacobiSVD::m_computationOptions" ref="a401377fbbd0c82bb3598e42be17343de" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a401377fbbd0c82bb3598e42be17343de">Eigen::JacobiSVD::m_computationOptions</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00532">532</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a664944f1ea7121d09f814cb91b23a524"></a><!-- doxytag: member="Eigen::JacobiSVD::m_computeFullU" ref="a664944f1ea7121d09f814cb91b23a524" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a664944f1ea7121d09f814cb91b23a524">Eigen::JacobiSVD::m_computeFullU</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00530">530</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="ad421a569a47e009e42f2620e7a0de5fa"></a><!-- doxytag: member="Eigen::JacobiSVD::m_computeFullV" ref="ad421a569a47e009e42f2620e7a0de5fa" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ad421a569a47e009e42f2620e7a0de5fa">Eigen::JacobiSVD::m_computeFullV</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00531">531</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a671dabe26f5ff00dce80e96af1b04d9f"></a><!-- doxytag: member="Eigen::JacobiSVD::m_computeThinU" ref="a671dabe26f5ff00dce80e96af1b04d9f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a671dabe26f5ff00dce80e96af1b04d9f">Eigen::JacobiSVD::m_computeThinU</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00530">530</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a3b573aeeb1561a5a1cfd15b8237cd14b"></a><!-- doxytag: member="Eigen::JacobiSVD::m_computeThinV" ref="a3b573aeeb1561a5a1cfd15b8237cd14b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a3b573aeeb1561a5a1cfd15b8237cd14b">Eigen::JacobiSVD::m_computeThinV</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00531">531</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a51267c3024c89e36a5da0b74e25d1250"></a><!-- doxytag: member="Eigen::JacobiSVD::m_diagSize" ref="a51267c3024c89e36a5da0b74e25d1250" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a51267c3024c89e36a5da0b74e25d1250">Eigen::JacobiSVD::m_diagSize</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00533">533</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a7c5834cc48ac3b5e443b505f1bfa27d5"></a><!-- doxytag: member="Eigen::JacobiSVD::m_isAllocated" ref="a7c5834cc48ac3b5e443b505f1bfa27d5" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a7c5834cc48ac3b5e443b505f1bfa27d5">Eigen::JacobiSVD::m_isAllocated</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00529">529</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a88384fb642f960e8c26aac89390a2e1b"></a><!-- doxytag: member="Eigen::JacobiSVD::m_isInitialized" ref="a88384fb642f960e8c26aac89390a2e1b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a88384fb642f960e8c26aac89390a2e1b">Eigen::JacobiSVD::m_isInitialized</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00529">529</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a8cabb1c467f5a720635a6017b2393707"></a><!-- doxytag: member="Eigen::JacobiSVD::m_matrixU" ref="a8cabb1c467f5a720635a6017b2393707" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ab44ed64c57101648fe150a63c57a9e17">MatrixUType</a> <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a8cabb1c467f5a720635a6017b2393707">Eigen::JacobiSVD::m_matrixU</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00525">525</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="aa4a79307761db7f8f8170c0213f44697"></a><!-- doxytag: member="Eigen::JacobiSVD::m_matrixV" ref="aa4a79307761db7f8f8170c0213f44697" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a5231a5050dfb3a9cb0e4d29990cf42a9">MatrixVType</a> <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#aa4a79307761db7f8f8170c0213f44697">Eigen::JacobiSVD::m_matrixV</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00526">526</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a718aaabb4696d796c28f10f76e910b9e"></a><!-- doxytag: member="Eigen::JacobiSVD::m_nonzeroSingularValues" ref="a718aaabb4696d796c28f10f76e910b9e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a718aaabb4696d796c28f10f76e910b9e">Eigen::JacobiSVD::m_nonzeroSingularValues</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00533">533</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="a8f599ecf7d587152ffdf1729d071981a"></a><!-- doxytag: member="Eigen::JacobiSVD::m_rows" ref="a8f599ecf7d587152ffdf1729d071981a" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afb26d4482cc7dd2b377eb94fede04a4b">Index</a> <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a8f599ecf7d587152ffdf1729d071981a">Eigen::JacobiSVD::m_rows</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00533">533</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="aa9f9cd8a97514095451b2d3e8590c932"></a><!-- doxytag: member="Eigen::JacobiSVD::m_singularValues" ref="aa9f9cd8a97514095451b2d3e8590c932" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a7cde27b915ad479e02adc6f95451315d">SingularValuesType</a> <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#aa9f9cd8a97514095451b2d3e8590c932">Eigen::JacobiSVD::m_singularValues</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00527">527</a> of file <a class="el" href="_s_v_d_source.html">SVD</a>.</p> </div> </div> <a class="anchor" id="ac75b85f585f2861f1f2ea2197f9d403b"></a><!-- doxytag: member="Eigen::JacobiSVD::m_workMatrix" ref="ac75b85f585f2861f1f2ea2197f9d403b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#a6f66908418a403ca2f6d9c419178c6ce">WorkMatrixType</a> <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#ac75b85f585f2861f1f2ea2197f9d403b">Eigen::JacobiSVD::m_workMatrix</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_s_v_d_source.html#l00528">528</a> of file <a class="el" href="_s_v_d_source.html">SVD</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.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150"> </td></tr> </table> </body></html>