Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 3166

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.i686.rpm

<!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> &gt; <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&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;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> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<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 &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<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/>
&#160;&#160;<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&#160;</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&#160;</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>&lt; typename <br class="typebreak"/>
MatrixType::Scalar &gt;::Real&#160;</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&#160;</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>&lt; <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 &gt;&#160;</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>&lt; <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 &gt;&#160;</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"/>
&lt; <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> &gt;<br class="typebreak"/>
::type&#160;</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"/>
&lt; <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a> &gt;::type&#160;</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"/>
&lt; <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a> &gt;::type&#160;</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>&lt; <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 &gt;&#160;</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">&#160;</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">&#160;</td><td class="mdescRight">Default Constructor.  <a href="#a580e7d880aec007fd56338ea1e180ea0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</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">&#160;</td><td class="mdescRight">Default Constructor with memory preallocation.  <a href="#af7467bffc4e90fa732372653401c4011"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</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> &amp;matrix, unsigned int computationOptions=0)</td></tr>
<tr><td class="mdescLeft">&#160;</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> &amp;&#160;</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> &amp;matrix, unsigned int computationOptions)</td></tr>
<tr><td class="mdescLeft">&#160;</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> &amp;&#160;</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> &amp;matrix)</td></tr>
<tr><td class="mdescLeft">&#160;</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> &amp;&#160;</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> &amp;&#160;</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> &amp;&#160;</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&#160;</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&#160;</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&lt;typename Rhs &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">const internal::solve_retval<br class="typebreak"/>
&lt; <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html">JacobiSVD</a>, Rhs &gt;&#160;</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>&lt; Rhs &gt; &amp;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>&#160;</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>&#160;</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>&#160;</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>&#160;</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>&#160;</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>&#160;</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>&#160;</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&#160;</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&#160;</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&#160;</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&#160;</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&#160;</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&#160;</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&#160;</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>&#160;</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>&#160;</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>&#160;</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>&#160;</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&#160;</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&#160;</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&#160;</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>&lt;<a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a>&gt;::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>&lt;<a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afa433bfd5d5caa6a35ceabe2139005c8">Scalar</a>, RowsAtCompileTime, RowsAtCompileTime, MatrixOptions, MaxRowsAtCompileTime, MaxRowsAtCompileTime&gt; <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>&lt;<a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afa433bfd5d5caa6a35ceabe2139005c8">Scalar</a>, ColsAtCompileTime, ColsAtCompileTime, MatrixOptions, MaxColsAtCompileTime, MaxColsAtCompileTime&gt; <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>&lt;typename MatrixType::Scalar&gt;::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>&lt;<a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a>&gt;::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>&lt;<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>&gt;::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>&lt;<a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#afa433bfd5d5caa6a35ceabe2139005c8">Scalar</a>, DiagSizeAtCompileTime, DiagSizeAtCompileTime, MatrixOptions, MaxDiagSizeAtCompileTime, MaxDiagSizeAtCompileTime&gt; <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>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac0360d9420a207884588f680550b89a3a4580d4588c8a01eab7b141b89fffc347"></a><!-- doxytag: member="ColsAtCompileTime" ref="ac0360d9420a207884588f680550b89a3a4580d4588c8a01eab7b141b89fffc347" args="" -->ColsAtCompileTime</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac0360d9420a207884588f680550b89a3ab9b4f339a27114cbeb2e0f391e3a525e"></a><!-- doxytag: member="DiagSizeAtCompileTime" ref="ac0360d9420a207884588f680550b89a3ab9b4f339a27114cbeb2e0f391e3a525e" args="" -->DiagSizeAtCompileTime</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac0360d9420a207884588f680550b89a3abf2f38ce2dfe011686b7a29216065c27"></a><!-- doxytag: member="MaxRowsAtCompileTime" ref="ac0360d9420a207884588f680550b89a3abf2f38ce2dfe011686b7a29216065c27" args="" -->MaxRowsAtCompileTime</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac0360d9420a207884588f680550b89a3a23a889c516512808bf4ccb9299d967aa"></a><!-- doxytag: member="MaxColsAtCompileTime" ref="ac0360d9420a207884588f680550b89a3a23a889c516512808bf4ccb9299d967aa" args="" -->MaxColsAtCompileTime</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac0360d9420a207884588f680550b89a3a0cff9776d1e29b85c7d4257f3bcde56f"></a><!-- doxytag: member="MaxDiagSizeAtCompileTime" ref="ac0360d9420a207884588f680550b89a3a0cff9776d1e29b85c7d4257f3bcde56f" args="" -->MaxDiagSizeAtCompileTime</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac0360d9420a207884588f680550b89a3a24e8bb236079587d499718437342b7ff"></a><!-- doxytag: member="MatrixOptions" ref="ac0360d9420a207884588f680550b89a3a24e8bb236079587d499718437342b7ff" args="" -->MatrixOptions</em>&nbsp;</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 &amp; 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&amp;)</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>&#160;</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>&#160;</td>
          <td class="paramname"><em>cols</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>computationOptions</em> = <code>0</code>&#160;</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 &amp;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> &amp;&#160;</td>
          <td class="paramname"><em>matrix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>computationOptions</em> = <code>0</code>&#160;</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>&#160;</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>&#160;</td>
          <td class="paramname"><em>cols</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>computationOptions</em>&#160;</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&#160;</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 &amp;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>&lt; <a class="el" href="class_eigen_1_1_jacobi_s_v_d.html#af54a483e94b1b0d7c1f2159232c5f658">MatrixType</a>, QRPreconditioner &gt; &amp; 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> &amp;&#160;</td>
          <td class="paramname"><em>matrix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>computationOptions</em>&#160;</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 &amp;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>&amp; 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> &amp;&#160;</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&amp;, 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>&amp; 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>&amp; 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&#160;</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>&amp; 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&lt; Rhs &gt; &amp;b) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Rhs &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const internal::solve_retval&lt;<a class="el" href="class_eigen_1_1_jacobi_s_v_d.html">JacobiSVD</a>, Rhs&gt; Eigen::JacobiSVD::solve </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_eigen_1_1_matrix_base.html">MatrixBase</a>&lt; Rhs &gt; &amp;&#160;</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>