Sophie

Sophie

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

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::FullPivLU 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_full_piv_l_u.html">FullPivLU</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>  </div>
  <div class="headertitle">
<div class="title">Eigen::FullPivLU Class Reference<div class="ingroups"><a class="el" href="group___l_u___module.html">LU module</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="Eigen::FullPivLU" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>LU decomposition of a matrix with complete pivoting, and related features. </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 LU decomposition</td></tr>
  </table>
  </dd>
</dl>
<p>This class represents a LU decomposition of any matrix, with complete pivoting: the matrix A is decomposed as A = PLUQ where L is unit-lower-triangular, U is upper-triangular, and P and Q are permutation matrices. This is a rank-revealing LU decomposition. The eigenvalues (diagonal coefficients) of U are sorted in such a way that any zeros are at the end.</p>
<p>This decomposition provides the generic approach to solving systems of linear equations, computing the rank, invertibility, inverse, kernel, and determinant.</p>
<p>This LU decomposition is very stable and well tested with large matrices. However there are use cases where the SVD decomposition is inherently more stable and/or flexible. For example, when computing the kernel of a matrix, working with the SVD allows to select the smallest singular values of the matrix, something that the LU decomposition doesn't see.</p>
<p>The data of the LU decomposition can be directly accessed through the methods <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7e0e7efdebe9685039860c18154e1ec2">matrixLU()</a>, <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a363fa7cf2d46512b4a076ac14612767f">permutationP()</a>, <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a6e7e3ca392a5bdb572b283c9a2309bc1">permutationQ()</a>.</p>
<p>As an exemple, here is how the original matrix can be retrieved: </p>
<div class="fragment"><pre class="fragment"></pre></div><p> Output: </p>
<div class="fragment"><pre class="fragment"></pre></div><dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_eigen_1_1_matrix_base.html#a3366825c1604f2850bdf67a9596bab5d">MatrixBase::fullPivLu()</a>, <a class="el" href="class_eigen_1_1_matrix_base.html#aeaa1e616a5c11b439fcf23282f582c89">MatrixBase::determinant()</a>, <a class="el" href="class_eigen_1_1_matrix_base.html#a008dc30f0dfd362c4c8d27008eff6920">MatrixBase::inverse()</a> </dd></dl>
</div>
<p><a href="class_eigen_1_1_full_piv_l_u-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_full_piv_l_u.html#ae1eaedb8cacdbfa9491c47da9c72700da94cd6c3968702eac465be722bb497e54">RowsAtCompileTime</a> =  MatrixType::RowsAtCompileTime, 
<a class="el" href="class_eigen_1_1_full_piv_l_u.html#ae1eaedb8cacdbfa9491c47da9c72700daacee18b6f86a6d9a5623aa44db42a604">ColsAtCompileTime</a> =  MatrixType::ColsAtCompileTime, 
<a class="el" href="class_eigen_1_1_full_piv_l_u.html#ae1eaedb8cacdbfa9491c47da9c72700dae2d1f0e733e74e8c484ccb2c52892212">Options</a> =  MatrixType::Options, 
<a class="el" href="class_eigen_1_1_full_piv_l_u.html#ae1eaedb8cacdbfa9491c47da9c72700dad778208c9f348bf6c663562b542bbd4c">MaxRowsAtCompileTime</a> =  MatrixType::MaxRowsAtCompileTime, 
<br/>
&#160;&#160;<a class="el" href="class_eigen_1_1_full_piv_l_u.html#ae1eaedb8cacdbfa9491c47da9c72700daa98ca24932fd7154a45b1503f9897828">MaxColsAtCompileTime</a> =  MatrixType::MaxColsAtCompileTime
<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_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">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_full_piv_l_u.html#acf6aa3c0fe5a2caf0e599dcff6c15b71">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_full_piv_l_u.html#a1e05a45e3fee32f0d004b3cd7fe67f88">RealScalar</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef internal::traits<br class="typebreak"/>
&lt; <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a> &gt;::<a class="el" href="class_eigen_1_1_full_piv_l_u.html#a115af9c840341aab8386dc3523fa1ffb">StorageKind</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a115af9c840341aab8386dc3523fa1ffb">StorageKind</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_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</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_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a>, <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a> &gt;::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#aaa811d628eb505f3a23ee9e2df0ca6b8">IntRowVectorType</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_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a>, <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a> &gt;::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#ac8351bf42b558502b86a1a24b7dbeb9a">IntColVectorType</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_eigen_1_1_permutation_matrix.html">PermutationMatrix</a><br class="typebreak"/>
&lt; ColsAtCompileTime, <br class="typebreak"/>
MaxColsAtCompileTime &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9a22f4ef72050674a5993b2c75bbbe11">PermutationQType</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="class_eigen_1_1_permutation_matrix.html">PermutationMatrix</a><br class="typebreak"/>
&lt; RowsAtCompileTime, <br class="typebreak"/>
MaxRowsAtCompileTime &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a16ff695086585359ce75a490612d5c17">PermutationPType</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_full_piv_l_u.html#a03ad44dda3c1be7b97f50f413c8582ef">FullPivLU</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor.  <a href="#a03ad44dda3c1be7b97f50f413c8582ef"></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_full_piv_l_u.html#ad9fc69ddc8a390122b7d16552267d76b">FullPivLU</a> (<a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a> rows, <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a> cols)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor with memory preallocation.  <a href="#ad9fc69ddc8a390122b7d16552267d76b"></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_full_piv_l_u.html#a7657e4025066fe73469b176cccc7132a">FullPivLU</a> (const <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a> &amp;matrix)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a7657e4025066fe73469b176cccc7132a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html">FullPivLU</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a0b92bd300981d416db8d7abec39d57ae">compute</a> (const <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a> &amp;matrix)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the LU decomposition of the given matrix.  <a href="#a0b92bd300981d416db8d7abec39d57ae"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7e0e7efdebe9685039860c18154e1ec2">matrixLU</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a56365fdb9b2be1d8f5e1726d2556257a">nonzeroPivots</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a1e05a45e3fee32f0d004b3cd7fe67f88">RealScalar</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a64f2d00c794348e8cac220cb3e7f9fa6">maxPivot</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a16ff695086585359ce75a490612d5c17">PermutationPType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a363fa7cf2d46512b4a076ac14612767f">permutationP</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9a22f4ef72050674a5993b2c75bbbe11">PermutationQType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a6e7e3ca392a5bdb572b283c9a2309bc1">permutationQ</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const internal::kernel_retval<br class="typebreak"/>
&lt; <a class="el" href="class_eigen_1_1_full_piv_l_u.html">FullPivLU</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a51e3ded0fdabe52c829bd45271c08b58">kernel</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const internal::image_retval<br class="typebreak"/>
&lt; <a class="el" href="class_eigen_1_1_full_piv_l_u.html">FullPivLU</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a225f55b910722f7118624863d7698e9f">image</a> (const <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a> &amp;originalMatrix) 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_full_piv_l_u.html">FullPivLU</a>, Rhs &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#acea4c04e9acc9568bbab6c06e23e3464">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">internal::traits&lt; <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a> &gt;<br class="typebreak"/>
::<a class="el" href="class_eigen_1_1_full_piv_l_u.html#acf6aa3c0fe5a2caf0e599dcff6c15b71">Scalar</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a193e4db17d31a9cbeca7fd7256d47b40">determinant</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html">FullPivLU</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a3212fe6f3996c18b1512c0c577621dc7">setThreshold</a> (const <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a1e05a45e3fee32f0d004b3cd7fe67f88">RealScalar</a> &amp;threshold)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Allows to prescribe a threshold to be used by certain methods, such as <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7a99817c51576f425346133c7363617b">rank()</a>, who need to determine when pivots are to be considered nonzero.  <a href="#a3212fe6f3996c18b1512c0c577621dc7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html">FullPivLU</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a5ab0d23fe4ce0886e1dd3c34027d9eff">setThreshold</a> (<a class="el" href="struct_eigen_1_1_default__t.html">Default_t</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Allows to come back to the default behavior, letting <a class="el" href="namespace_eigen.html" title="Namespace containing all symbols from the Eigen library.">Eigen</a> use its default formula for determining the threshold.  <a href="#a5ab0d23fe4ce0886e1dd3c34027d9eff"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a1e05a45e3fee32f0d004b3cd7fe67f88">RealScalar</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a1daf2c83482388d24512758d0e51d283">threshold</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the threshold that will be used by certain methods such as <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7a99817c51576f425346133c7363617b">rank()</a>.  <a href="#a1daf2c83482388d24512758d0e51d283"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7a99817c51576f425346133c7363617b">rank</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#ae56860032aff45ef1db1b6d0d6cf0c1e">dimensionOfKernel</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_full_piv_l_u.html#ac537ea1b7871d766f05e9d81ddcfa9a8">isInjective</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_full_piv_l_u.html#a4c3a5c38874ef38135786ffb61be34b9">isSurjective</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_full_piv_l_u.html#a2813aa7be87d7a706413f74ef3f642f0">isInvertible</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const internal::solve_retval<br class="typebreak"/>
&lt; <a class="el" href="class_eigen_1_1_full_piv_l_u.html">FullPivLU</a>, typename <br class="typebreak"/>
MatrixType::IdentityReturnType &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a08ff35f1f273659510ac2849288d623c">inverse</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a196a8d00f0ac27a72bfe33afc5dce1bd">reconstructedMatrix</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a964e668676aa4af06fefe20131f15fb5">rows</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a6a6e6ebca2e530654d38212af610a237">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_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a6b230b2bfe2975159eaa3072b4b378ea">m_lu</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a16ff695086585359ce75a490612d5c17">PermutationPType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#ac0306ea4dfb18509da383fdd1b38b75a">m_p</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9a22f4ef72050674a5993b2c75bbbe11">PermutationQType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#ad2c5b2d7f024cfa5c2cfebbad66d48d8">m_q</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#ac8351bf42b558502b86a1a24b7dbeb9a">IntColVectorType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#af4980648859edac8b69fc5e893a0cafe">m_rowsTranspositions</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#aaa811d628eb505f3a23ee9e2df0ca6b8">IntRowVectorType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#aa06932fe3dd535e6dac40833e79763ec">m_colsTranspositions</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a60dd753ed69ce2615cede4a377bc42a8">m_det_pq</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#afc3228ea34d1374a49f37a75b95851ad">m_nonzero_pivots</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a1e05a45e3fee32f0d004b3cd7fe67f88">RealScalar</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#aa448be35ac6bd06e6773b26c97c33a7f">m_maxpivot</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a1e05a45e3fee32f0d004b3cd7fe67f88">RealScalar</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a021b0e96fd805af31479e5228a3faf7d">m_prescribedThreshold</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_full_piv_l_u.html#aea21df7281ce70bbb3d6f5e75d5098fd">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_full_piv_l_u.html#a1a59b0c6ed012e1ebf7959a103c42b22">m_usePrescribedThreshold</a></td></tr>
</table>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a7dfd7555bde6b816b7abcecc4d89232f"></a><!-- doxytag: member="Eigen::FullPivLU::Index" ref="a7dfd7555bde6b816b7abcecc4d89232f" 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_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Eigen::FullPivLU::Index</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00073">73</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="ac8351bf42b558502b86a1a24b7dbeb9a"></a><!-- doxytag: member="Eigen::FullPivLU::IntColVectorType" ref="ac8351bf42b558502b86a1a24b7dbeb9a" 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_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a>, <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a>&gt;::type <a class="el" href="class_eigen_1_1_full_piv_l_u.html#ac8351bf42b558502b86a1a24b7dbeb9a">Eigen::FullPivLU::IntColVectorType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00075">75</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="aaa811d628eb505f3a23ee9e2df0ca6b8"></a><!-- doxytag: member="Eigen::FullPivLU::IntRowVectorType" ref="aaa811d628eb505f3a23ee9e2df0ca6b8" 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_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a>, <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a>&gt;::type <a class="el" href="class_eigen_1_1_full_piv_l_u.html#aaa811d628eb505f3a23ee9e2df0ca6b8">Eigen::FullPivLU::IntRowVectorType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00074">74</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a9d32f275359ca96e34d71d7d331588fb"></a><!-- doxytag: member="Eigen::FullPivLU::MatrixType" ref="a9d32f275359ca96e34d71d7d331588fb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef _MatrixType <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">Eigen::FullPivLU::MatrixType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00062">62</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a16ff695086585359ce75a490612d5c17"></a><!-- doxytag: member="Eigen::FullPivLU::PermutationPType" ref="a16ff695086585359ce75a490612d5c17" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="class_eigen_1_1_permutation_matrix.html">PermutationMatrix</a>&lt;RowsAtCompileTime, MaxRowsAtCompileTime&gt; <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a16ff695086585359ce75a490612d5c17">Eigen::FullPivLU::PermutationPType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00077">77</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a9a22f4ef72050674a5993b2c75bbbe11"></a><!-- doxytag: member="Eigen::FullPivLU::PermutationQType" ref="a9a22f4ef72050674a5993b2c75bbbe11" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="class_eigen_1_1_permutation_matrix.html">PermutationMatrix</a>&lt;ColsAtCompileTime, MaxColsAtCompileTime&gt; <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9a22f4ef72050674a5993b2c75bbbe11">Eigen::FullPivLU::PermutationQType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00076">76</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a1e05a45e3fee32f0d004b3cd7fe67f88"></a><!-- doxytag: member="Eigen::FullPivLU::RealScalar" ref="a1e05a45e3fee32f0d004b3cd7fe67f88" 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_full_piv_l_u.html#a1e05a45e3fee32f0d004b3cd7fe67f88">Eigen::FullPivLU::RealScalar</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00071">71</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="acf6aa3c0fe5a2caf0e599dcff6c15b71"></a><!-- doxytag: member="Eigen::FullPivLU::Scalar" ref="acf6aa3c0fe5a2caf0e599dcff6c15b71" 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_full_piv_l_u.html#acf6aa3c0fe5a2caf0e599dcff6c15b71">Eigen::FullPivLU::Scalar</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00070">70</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a115af9c840341aab8386dc3523fa1ffb"></a><!-- doxytag: member="Eigen::FullPivLU::StorageKind" ref="a115af9c840341aab8386dc3523fa1ffb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef internal::traits&lt;<a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a>&gt;::<a class="el" href="class_eigen_1_1_full_piv_l_u.html#a115af9c840341aab8386dc3523fa1ffb">StorageKind</a> <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a115af9c840341aab8386dc3523fa1ffb">Eigen::FullPivLU::StorageKind</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00072">72</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="ae1eaedb8cacdbfa9491c47da9c72700d"></a><!-- doxytag: member="Eigen::FullPivLU::@372" ref="ae1eaedb8cacdbfa9491c47da9c72700d" 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="ae1eaedb8cacdbfa9491c47da9c72700da94cd6c3968702eac465be722bb497e54"></a><!-- doxytag: member="RowsAtCompileTime" ref="ae1eaedb8cacdbfa9491c47da9c72700da94cd6c3968702eac465be722bb497e54" args="" -->RowsAtCompileTime</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae1eaedb8cacdbfa9491c47da9c72700daacee18b6f86a6d9a5623aa44db42a604"></a><!-- doxytag: member="ColsAtCompileTime" ref="ae1eaedb8cacdbfa9491c47da9c72700daacee18b6f86a6d9a5623aa44db42a604" args="" -->ColsAtCompileTime</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae1eaedb8cacdbfa9491c47da9c72700dae2d1f0e733e74e8c484ccb2c52892212"></a><!-- doxytag: member="Options" ref="ae1eaedb8cacdbfa9491c47da9c72700dae2d1f0e733e74e8c484ccb2c52892212" args="" -->Options</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae1eaedb8cacdbfa9491c47da9c72700dad778208c9f348bf6c663562b542bbd4c"></a><!-- doxytag: member="MaxRowsAtCompileTime" ref="ae1eaedb8cacdbfa9491c47da9c72700dad778208c9f348bf6c663562b542bbd4c" args="" -->MaxRowsAtCompileTime</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ae1eaedb8cacdbfa9491c47da9c72700daa98ca24932fd7154a45b1503f9897828"></a><!-- doxytag: member="MaxColsAtCompileTime" ref="ae1eaedb8cacdbfa9491c47da9c72700daa98ca24932fd7154a45b1503f9897828" args="" -->MaxColsAtCompileTime</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00063">63</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a03ad44dda3c1be7b97f50f413c8582ef"></a><!-- doxytag: member="Eigen::FullPivLU::FullPivLU" ref="a03ad44dda3c1be7b97f50f413c8582ef" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Eigen::FullPivLU::FullPivLU </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></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 LU::compute(const MatrixType&amp;). </p>

<p>Definition at line <a class="el" href="_l_u_source.html#l00399">399</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="ad9fc69ddc8a390122b7d16552267d76b"></a><!-- doxytag: member="Eigen::FullPivLU::FullPivLU" ref="ad9fc69ddc8a390122b7d16552267d76b" args="(Index rows, Index cols)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Eigen::FullPivLU::FullPivLU </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">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_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a>&#160;</td>
          <td class="paramname"><em>cols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></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 <em>size</em>. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a03ad44dda3c1be7b97f50f413c8582ef" title="Default Constructor.">FullPivLU()</a> </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00405">405</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a7657e4025066fe73469b176cccc7132a"></a><!-- doxytag: member="Eigen::FullPivLU::FullPivLU" ref="a7657e4025066fe73469b176cccc7132a" args="(const MatrixType &amp;matrix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Eigen::FullPivLU::FullPivLU </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a> &amp;&#160;</td>
          <td class="paramname"><em>matrix</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">matrix</td><td>the matrix of which to compute the LU decomposition. It is required to be nonzero. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00417">417</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a6a6e6ebca2e530654d38212af610a237"></a><!-- doxytag: member="Eigen::FullPivLU::cols" ref="a6a6e6ebca2e530654d38212af610a237" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a> Eigen::FullPivLU::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="_l_u_source.html#l00385">385</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a0b92bd300981d416db8d7abec39d57ae"></a><!-- doxytag: member="Eigen::FullPivLU::compute" ref="a0b92bd300981d416db8d7abec39d57ae" 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_full_piv_l_u.html">FullPivLU</a>&lt; <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a> &gt; &amp; Eigen::FullPivLU::compute </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a> &amp;&#160;</td>
          <td class="paramname"><em>matrix</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the LU decomposition of the given matrix. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">matrix</td><td>the matrix of which to compute the LU decomposition. It is required to be nonzero.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a reference to *this </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00430">430</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a193e4db17d31a9cbeca7fd7256d47b40"></a><!-- doxytag: member="Eigen::FullPivLU::determinant" ref="a193e4db17d31a9cbeca7fd7256d47b40" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">internal::traits&lt; <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a> &gt;::<a class="el" href="class_eigen_1_1_full_piv_l_u.html#acf6aa3c0fe5a2caf0e599dcff6c15b71">Scalar</a> Eigen::FullPivLU::determinant </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>the determinant of the matrix of which *this is the LU decomposition. It has only linear complexity (that is, O(n) where n is the dimension of the square matrix) as the LU decomposition has already been computed.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This is only for square matrices.</dd>
<dd>
For fixed-size matrices of size up to 4, <a class="el" href="class_eigen_1_1_matrix_base.html#aeaa1e616a5c11b439fcf23282f582c89">MatrixBase::determinant()</a> offers optimized paths.</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>a determinant can be very big or small, so for matrices of large enough dimension, there is a risk of overflow/underflow.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_eigen_1_1_matrix_base.html#aeaa1e616a5c11b439fcf23282f582c89">MatrixBase::determinant()</a> </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00523">523</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="ae56860032aff45ef1db1b6d0d6cf0c1e"></a><!-- doxytag: member="Eigen::FullPivLU::dimensionOfKernel" ref="ae56860032aff45ef1db1b6d0d6cf0c1e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a> Eigen::FullPivLU::dimensionOfKernel </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 dimension of the kernel of the matrix of which *this is the LU decomposition.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This method has to determine which pivots should be considered nonzero. For that, it uses the threshold value that you can control by calling <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a3212fe6f3996c18b1512c0c577621dc7" title="Allows to prescribe a threshold to be used by certain methods, such as rank(), who need to determine ...">setThreshold(const RealScalar&amp;)</a>. </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00323">323</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a225f55b910722f7118624863d7698e9f"></a><!-- doxytag: member="Eigen::FullPivLU::image" ref="a225f55b910722f7118624863d7698e9f" args="(const MatrixType &amp;originalMatrix) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const internal::image_retval&lt;<a class="el" href="class_eigen_1_1_full_piv_l_u.html">FullPivLU</a>&gt; Eigen::FullPivLU::image </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a> &amp;&#160;</td>
          <td class="paramname"><em>originalMatrix</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>the image of the matrix, also called its column-space. The columns of the returned matrix will form a basis of the kernel.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">originalMatrix</td><td>the original matrix, of which *this is the LU decomposition. The reason why it is needed to pass it here, is that this allows a large optimization, as otherwise this method would need to reconstruct it from the LU decomposition.</td></tr>
  </table>
  </dd>
</dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If the image has dimension zero, then the returned matrix is a column-vector filled with zeros.</dd>
<dd>
This method has to determine which pivots should be considered nonzero. For that, it uses the threshold value that you can control by calling <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a3212fe6f3996c18b1512c0c577621dc7" title="Allows to prescribe a threshold to be used by certain methods, such as rank(), who need to determine ...">setThreshold(const RealScalar&amp;)</a>.</dd></dl>
<p>Example: </p>
<div class="fragment"><pre class="fragment"></pre></div><p> Output: </p>
<div class="fragment"><pre class="fragment"></pre></div><dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a51e3ded0fdabe52c829bd45271c08b58">kernel()</a> </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00201">201</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a08ff35f1f273659510ac2849288d623c"></a><!-- doxytag: member="Eigen::FullPivLU::inverse" ref="a08ff35f1f273659510ac2849288d623c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const internal::solve_retval&lt;<a class="el" href="class_eigen_1_1_full_piv_l_u.html">FullPivLU</a>,typename MatrixType::IdentityReturnType&gt; Eigen::FullPivLU::inverse </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 inverse of the matrix of which *this is the LU decomposition.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If this matrix is not invertible, the returned matrix has undefined coefficients. Use <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a2813aa7be87d7a706413f74ef3f642f0">isInvertible()</a> to first determine whether this matrix is invertible.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_eigen_1_1_matrix_base.html#a008dc30f0dfd362c4c8d27008eff6920">MatrixBase::inverse()</a> </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00374">374</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="ac537ea1b7871d766f05e9d81ddcfa9a8"></a><!-- doxytag: member="Eigen::FullPivLU::isInjective" ref="ac537ea1b7871d766f05e9d81ddcfa9a8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Eigen::FullPivLU::isInjective </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 the matrix of which *this is the LU decomposition represents an injective linear map, i.e. has trivial kernel; false otherwise.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This method has to determine which pivots should be considered nonzero. For that, it uses the threshold value that you can control by calling <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a3212fe6f3996c18b1512c0c577621dc7" title="Allows to prescribe a threshold to be used by certain methods, such as rank(), who need to determine ...">setThreshold(const RealScalar&amp;)</a>. </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00336">336</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a2813aa7be87d7a706413f74ef3f642f0"></a><!-- doxytag: member="Eigen::FullPivLU::isInvertible" ref="a2813aa7be87d7a706413f74ef3f642f0" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Eigen::FullPivLU::isInvertible </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 the matrix of which *this is the LU decomposition is invertible.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This method has to determine which pivots should be considered nonzero. For that, it uses the threshold value that you can control by calling <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a3212fe6f3996c18b1512c0c577621dc7" title="Allows to prescribe a threshold to be used by certain methods, such as rank(), who need to determine ...">setThreshold(const RealScalar&amp;)</a>. </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00361">361</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a4c3a5c38874ef38135786ffb61be34b9"></a><!-- doxytag: member="Eigen::FullPivLU::isSurjective" ref="a4c3a5c38874ef38135786ffb61be34b9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Eigen::FullPivLU::isSurjective </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 the matrix of which *this is the LU decomposition represents a surjective linear map; false otherwise.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This method has to determine which pivots should be considered nonzero. For that, it uses the threshold value that you can control by calling <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a3212fe6f3996c18b1512c0c577621dc7" title="Allows to prescribe a threshold to be used by certain methods, such as rank(), who need to determine ...">setThreshold(const RealScalar&amp;)</a>. </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00349">349</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a51e3ded0fdabe52c829bd45271c08b58"></a><!-- doxytag: member="Eigen::FullPivLU::kernel" ref="a51e3ded0fdabe52c829bd45271c08b58" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const internal::kernel_retval&lt;<a class="el" href="class_eigen_1_1_full_piv_l_u.html">FullPivLU</a>&gt; Eigen::FullPivLU::kernel </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 kernel of the matrix, also called its null-space. The columns of the returned matrix will form a basis of the kernel.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If the kernel has dimension zero, then the returned matrix is a column-vector filled with zeros.</dd>
<dd>
This method has to determine which pivots should be considered nonzero. For that, it uses the threshold value that you can control by calling <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a3212fe6f3996c18b1512c0c577621dc7" title="Allows to prescribe a threshold to be used by certain methods, such as rank(), who need to determine ...">setThreshold(const RealScalar&amp;)</a>.</dd></dl>
<p>Example: </p>
<div class="fragment"><pre class="fragment"></pre></div><p> Output: </p>
<div class="fragment"><pre class="fragment"></pre></div><dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a225f55b910722f7118624863d7698e9f">image()</a> </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00175">175</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a7e0e7efdebe9685039860c18154e1ec2"></a><!-- doxytag: member="Eigen::FullPivLU::matrixLU" ref="a7e0e7efdebe9685039860c18154e1ec2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a>&amp; Eigen::FullPivLU::matrixLU </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 LU decomposition matrix: the upper-triangular part is U, the unit-lower-triangular part is L (at least for square matrices; in the non-square case, special care is needed, see the documentation of class <a class="el" href="class_eigen_1_1_full_piv_l_u.html" title="LU decomposition of a matrix with complete pivoting, and related features.">FullPivLU</a>).</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd>matrixL(), matrixU() </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00117">117</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a64f2d00c794348e8cac220cb3e7f9fa6"></a><!-- doxytag: member="Eigen::FullPivLU::maxPivot" ref="a64f2d00c794348e8cac220cb3e7f9fa6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a1e05a45e3fee32f0d004b3cd7fe67f88">RealScalar</a> Eigen::FullPivLU::maxPivot </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 absolute value of the biggest pivot, i.e. the biggest diagonal coefficient of U. </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00139">139</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a56365fdb9b2be1d8f5e1726d2556257a"></a><!-- doxytag: member="Eigen::FullPivLU::nonzeroPivots" ref="a56365fdb9b2be1d8f5e1726d2556257a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a> Eigen::FullPivLU::nonzeroPivots </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 nonzero pivots in the LU decomposition. Here nonzero is meant in the exact sense, not in a fuzzy sense. So that notion isn't really intrinsically interesting, but it is still useful when implementing algorithms.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7a99817c51576f425346133c7363617b">rank()</a> </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00130">130</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a363fa7cf2d46512b4a076ac14612767f"></a><!-- doxytag: member="Eigen::FullPivLU::permutationP" ref="a363fa7cf2d46512b4a076ac14612767f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a16ff695086585359ce75a490612d5c17">PermutationPType</a>&amp; Eigen::FullPivLU::permutationP </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 permutation matrix P</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a6e7e3ca392a5bdb572b283c9a2309bc1">permutationQ()</a> </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00145">145</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a6e7e3ca392a5bdb572b283c9a2309bc1"></a><!-- doxytag: member="Eigen::FullPivLU::permutationQ" ref="a6e7e3ca392a5bdb572b283c9a2309bc1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9a22f4ef72050674a5993b2c75bbbe11">PermutationQType</a>&amp; Eigen::FullPivLU::permutationQ </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 permutation matrix Q</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a363fa7cf2d46512b4a076ac14612767f">permutationP()</a> </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00155">155</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a7a99817c51576f425346133c7363617b"></a><!-- doxytag: member="Eigen::FullPivLU::rank" ref="a7a99817c51576f425346133c7363617b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a> Eigen::FullPivLU::rank </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 rank of the matrix of which *this is the LU decomposition.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This method has to determine which pivots should be considered nonzero. For that, it uses the threshold value that you can control by calling <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a3212fe6f3996c18b1512c0c577621dc7" title="Allows to prescribe a threshold to be used by certain methods, such as rank(), who need to determine ...">setThreshold(const RealScalar&amp;)</a>. </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00307">307</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a196a8d00f0ac27a72bfe33afc5dce1bd"></a><!-- doxytag: member="Eigen::FullPivLU::reconstructedMatrix" ref="a196a8d00f0ac27a72bfe33afc5dce1bd" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a> Eigen::FullPivLU::reconstructedMatrix </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>the matrix represented by the decomposition, i.e., it returns the product: P^{-1} L U Q^{-1}. This function is provided for debug purpose. </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00534">534</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a964e668676aa4af06fefe20131f15fb5"></a><!-- doxytag: member="Eigen::FullPivLU::rows" ref="a964e668676aa4af06fefe20131f15fb5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a> Eigen::FullPivLU::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="_l_u_source.html#l00384">384</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a3212fe6f3996c18b1512c0c577621dc7"></a><!-- doxytag: member="Eigen::FullPivLU::setThreshold" ref="a3212fe6f3996c18b1512c0c577621dc7" args="(const RealScalar &amp;threshold)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html">FullPivLU</a>&amp; Eigen::FullPivLU::setThreshold </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a1e05a45e3fee32f0d004b3cd7fe67f88">RealScalar</a> &amp;&#160;</td>
          <td class="paramname"><em>threshold</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allows to prescribe a threshold to be used by certain methods, such as <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7a99817c51576f425346133c7363617b">rank()</a>, who need to determine when pivots are to be considered nonzero. </p>
<p>This is not used for the LU decomposition itself.</p>
<p>When it needs to get the threshold value, <a class="el" href="namespace_eigen.html" title="Namespace containing all symbols from the Eigen library.">Eigen</a> calls <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a1daf2c83482388d24512758d0e51d283" title="Returns the threshold that will be used by certain methods such as rank().">threshold()</a>. By default, this uses a formula to automatically determine a reasonable threshold. Once you have called the present method <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a3212fe6f3996c18b1512c0c577621dc7" title="Allows to prescribe a threshold to be used by certain methods, such as rank(), who need to determine ...">setThreshold(const RealScalar&amp;)</a>, your value is used instead.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">threshold</td><td>The new value to use as the threshold.</td></tr>
  </table>
  </dd>
</dl>
<p>A pivot will be considered nonzero if its absolute value is strictly greater than <img class="formulaInl" alt="$ \vert pivot \vert \leqslant threshold \times \vert maxpivot \vert $" src="form_263.png"/> where maxpivot is the biggest pivot.</p>
<p>If you want to come back to the default behavior, call <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a5ab0d23fe4ce0886e1dd3c34027d9eff" title="Allows to come back to the default behavior, letting Eigen use its default formula for determining th...">setThreshold(Default_t)</a> </p>

<p>Definition at line <a class="el" href="_l_u_source.html#l00268">268</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a5ab0d23fe4ce0886e1dd3c34027d9eff"></a><!-- doxytag: member="Eigen::FullPivLU::setThreshold" ref="a5ab0d23fe4ce0886e1dd3c34027d9eff" args="(Default_t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html">FullPivLU</a>&amp; Eigen::FullPivLU::setThreshold </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_eigen_1_1_default__t.html">Default_t</a>&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allows to come back to the default behavior, letting <a class="el" href="namespace_eigen.html" title="Namespace containing all symbols from the Eigen library.">Eigen</a> use its default formula for determining the threshold. </p>
<p>You should pass the special object Eigen::Default as parameter here. </p>
<div class="fragment"><pre class="fragment"> lu.setThreshold(Eigen::Default); 
</pre></div><p>See the documentation of <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a3212fe6f3996c18b1512c0c577621dc7" title="Allows to prescribe a threshold to be used by certain methods, such as rank(), who need to determine ...">setThreshold(const RealScalar&amp;)</a>. </p>

<p>Definition at line <a class="el" href="_l_u_source.html#l00283">283</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="acea4c04e9acc9568bbab6c06e23e3464"></a><!-- doxytag: member="Eigen::FullPivLU::solve" ref="acea4c04e9acc9568bbab6c06e23e3464" 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_full_piv_l_u.html">FullPivLU</a>, Rhs&gt; Eigen::FullPivLU::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 solution x to the equation Ax=b, where A is the matrix of which *this is the LU decomposition.</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. Can be a vector or a matrix, the only requirement in order for the equation to make sense is that b.rows()==A.rows(), where A is the matrix of which *this is the LU decomposition.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a solution.</dd></dl>
<p>Example: </p>
<div class="fragment"><pre class="fragment"></pre></div><p> Output: </p>
<div class="fragment"><pre class="fragment"></pre></div><dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_eigen_1_1_triangular_view.html#a1975e4658d4e74b103d1da66ec2816c8">TriangularView::solve()</a>, <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a51e3ded0fdabe52c829bd45271c08b58">kernel()</a>, <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a08ff35f1f273659510ac2849288d623c">inverse()</a> </dd></dl>

<p>Definition at line <a class="el" href="_l_u_source.html#l00228">228</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a1daf2c83482388d24512758d0e51d283"></a><!-- doxytag: member="Eigen::FullPivLU::threshold" ref="a1daf2c83482388d24512758d0e51d283" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a1e05a45e3fee32f0d004b3cd7fe67f88">RealScalar</a> Eigen::FullPivLU::threshold </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the threshold that will be used by certain methods such as <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7a99817c51576f425346133c7363617b">rank()</a>. </p>
<p>See the documentation of <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a3212fe6f3996c18b1512c0c577621dc7" title="Allows to prescribe a threshold to be used by certain methods, such as rank(), who need to determine ...">setThreshold(const RealScalar&amp;)</a>. </p>

<p>Definition at line <a class="el" href="_l_u_source.html#l00292">292</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="aa06932fe3dd535e6dac40833e79763ec"></a><!-- doxytag: member="Eigen::FullPivLU::m_colsTranspositions" ref="aa06932fe3dd535e6dac40833e79763ec" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#aaa811d628eb505f3a23ee9e2df0ca6b8">IntRowVectorType</a> <a class="el" href="class_eigen_1_1_full_piv_l_u.html#aa06932fe3dd535e6dac40833e79763ec">Eigen::FullPivLU::m_colsTranspositions</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00392">392</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a60dd753ed69ce2615cede4a377bc42a8"></a><!-- doxytag: member="Eigen::FullPivLU::m_det_pq" ref="a60dd753ed69ce2615cede4a377bc42a8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a> <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a60dd753ed69ce2615cede4a377bc42a8">Eigen::FullPivLU::m_det_pq</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00393">393</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="aea21df7281ce70bbb3d6f5e75d5098fd"></a><!-- doxytag: member="Eigen::FullPivLU::m_isInitialized" ref="aea21df7281ce70bbb3d6f5e75d5098fd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_eigen_1_1_full_piv_l_u.html#aea21df7281ce70bbb3d6f5e75d5098fd">Eigen::FullPivLU::m_isInitialized</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00395">395</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a6b230b2bfe2975159eaa3072b4b378ea"></a><!-- doxytag: member="Eigen::FullPivLU::m_lu" ref="a6b230b2bfe2975159eaa3072b4b378ea" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9d32f275359ca96e34d71d7d331588fb">MatrixType</a> <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a6b230b2bfe2975159eaa3072b4b378ea">Eigen::FullPivLU::m_lu</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00388">388</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="aa448be35ac6bd06e6773b26c97c33a7f"></a><!-- doxytag: member="Eigen::FullPivLU::m_maxpivot" ref="aa448be35ac6bd06e6773b26c97c33a7f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a1e05a45e3fee32f0d004b3cd7fe67f88">RealScalar</a> <a class="el" href="class_eigen_1_1_full_piv_l_u.html#aa448be35ac6bd06e6773b26c97c33a7f">Eigen::FullPivLU::m_maxpivot</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00394">394</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="afc3228ea34d1374a49f37a75b95851ad"></a><!-- doxytag: member="Eigen::FullPivLU::m_nonzero_pivots" ref="afc3228ea34d1374a49f37a75b95851ad" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a7dfd7555bde6b816b7abcecc4d89232f">Index</a> <a class="el" href="class_eigen_1_1_full_piv_l_u.html#afc3228ea34d1374a49f37a75b95851ad">Eigen::FullPivLU::m_nonzero_pivots</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00393">393</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="ac0306ea4dfb18509da383fdd1b38b75a"></a><!-- doxytag: member="Eigen::FullPivLU::m_p" ref="ac0306ea4dfb18509da383fdd1b38b75a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a16ff695086585359ce75a490612d5c17">PermutationPType</a> <a class="el" href="class_eigen_1_1_full_piv_l_u.html#ac0306ea4dfb18509da383fdd1b38b75a">Eigen::FullPivLU::m_p</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00389">389</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a021b0e96fd805af31479e5228a3faf7d"></a><!-- doxytag: member="Eigen::FullPivLU::m_prescribedThreshold" ref="a021b0e96fd805af31479e5228a3faf7d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a1e05a45e3fee32f0d004b3cd7fe67f88">RealScalar</a> <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a021b0e96fd805af31479e5228a3faf7d">Eigen::FullPivLU::m_prescribedThreshold</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00394">394</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="ad2c5b2d7f024cfa5c2cfebbad66d48d8"></a><!-- doxytag: member="Eigen::FullPivLU::m_q" ref="ad2c5b2d7f024cfa5c2cfebbad66d48d8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#a9a22f4ef72050674a5993b2c75bbbe11">PermutationQType</a> <a class="el" href="class_eigen_1_1_full_piv_l_u.html#ad2c5b2d7f024cfa5c2cfebbad66d48d8">Eigen::FullPivLU::m_q</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00390">390</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="af4980648859edac8b69fc5e893a0cafe"></a><!-- doxytag: member="Eigen::FullPivLU::m_rowsTranspositions" ref="af4980648859edac8b69fc5e893a0cafe" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_eigen_1_1_full_piv_l_u.html#ac8351bf42b558502b86a1a24b7dbeb9a">IntColVectorType</a> <a class="el" href="class_eigen_1_1_full_piv_l_u.html#af4980648859edac8b69fc5e893a0cafe">Eigen::FullPivLU::m_rowsTranspositions</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00391">391</a> of file <a class="el" href="_l_u_source.html">LU</a>.</p>

</div>
</div>
<a class="anchor" id="a1a59b0c6ed012e1ebf7959a103c42b22"></a><!-- doxytag: member="Eigen::FullPivLU::m_usePrescribedThreshold" ref="a1a59b0c6ed012e1ebf7959a103c42b22" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_eigen_1_1_full_piv_l_u.html#a1a59b0c6ed012e1ebf7959a103c42b22">Eigen::FullPivLU::m_usePrescribedThreshold</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_l_u_source.html#l00395">395</a> of file <a class="el" href="_l_u_source.html">LU</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>