Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 99cb5ede6a5329071fbeecc8218deb35 > files > 672

eigen3-doc-3.2-3.mga4.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>Eigen: SparseQR&lt; MatrixType, OrderingType &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css"   rel="stylesheet" type="text/css" />
<link href="eigendoxy.css" rel="stylesheet" type="text/css">
<!--  -->
<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
<!-- <script type="text/javascript"> -->
<!-- </script> -->
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<!-- <a name="top"></a> -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="Eigen_Silly_Professor_64x64.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname"><a href="http://eigen.tuxfamily.org">Eigen</a>
   &#160;<span id="projectnumber">3.2.0</span>
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classEigen_1_1SparseQR.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="classEigen_1_1SparseQR-members.html">List of all members</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">SparseQR&lt; MatrixType, OrderingType &gt; Class Template Reference<div class="ingroups"><a class="el" href="group__SparseQR__Module.html">SparseQR module</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename MatrixType, typename OrderingType&gt;<br/>
class Eigen::SparseQR&lt; MatrixType, OrderingType &gt;</h3>

<p><a class="el" href="structEigen_1_1Sparse.html">Sparse</a> left-looking rank-revealing QR factorization. </p>
<p>This class implements a left-looking rank-revealing QR decomposition of sparse matrices. When a column has a norm less than a given tolerance it is implicitly permuted to the end. The QR factorization thus obtained is given by A*P = Q*R where R is upper triangular or trapezoidal.</p>
<p>P is the column permutation which is the product of the fill-reducing and the rank-revealing permutations. Use <a class="el" href="classEigen_1_1SparseQR.html#a1229744f4e8554ca6e96fe32ac359924">colsPermutation()</a> to get it.</p>
<p>Q is the orthogonal matrix represented as products of Householder reflectors. Use <a class="el" href="classEigen_1_1SparseQR.html#ac27067ab301641fe6cc35c216a9b18a2">matrixQ()</a> to get an expression and <a class="el" href="classEigen_1_1SparseQR.html#ac27067ab301641fe6cc35c216a9b18a2">matrixQ()</a>.transpose() to get the transpose. You can then apply it to a vector.</p>
<p>R is the sparse triangular or trapezoidal matrix. The later occurs when A is rank-deficient. <a class="el" href="classEigen_1_1SparseQR.html#a934752a840893040688fc788848a1e06">matrixR()</a>.topLeftCorner(<a class="el" href="classEigen_1_1SparseQR.html#a363d1c09d77f09d6ea2d2789776e7be3">rank()</a>, <a class="el" href="classEigen_1_1SparseQR.html#a363d1c09d77f09d6ea2d2789776e7be3">rank()</a>) always returns a triangular factor of full rank.</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">_MatrixType</td><td>The type of the sparse matrix A, must be a column-major SparseMatrix&lt;&gt; </td></tr>
    <tr><td class="paramname">_OrderingType</td><td>The fill-reducing ordering method. See the <a class="el" href="group__OrderingMethods__Module.html">OrderingMethods </a> module for the list of built-in and external ordering methods. </td></tr>
  </table>
  </dd>
</dl>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5907227f29f3911de653273efef11b45"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseQR.html#a5907227f29f3911de653273efef11b45">analyzePattern</a> (const MatrixType &amp;mat)</td></tr>
<tr class="memdesc:a5907227f29f3911de653273efef11b45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Preprocessing step of a QR factorization.  <a href="#a5907227f29f3911de653273efef11b45">More...</a><br/></td></tr>
<tr class="separator:a5907227f29f3911de653273efef11b45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaca1908a5ec508a25ff0a8bca803e5f3"><td class="memItemLeft" align="right" valign="top">Index&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseQR.html#aaca1908a5ec508a25ff0a8bca803e5f3">cols</a> () const </td></tr>
<tr class="separator:aaca1908a5ec508a25ff0a8bca803e5f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1229744f4e8554ca6e96fe32ac359924"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1PermutationMatrix.html">PermutationType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseQR.html#a1229744f4e8554ca6e96fe32ac359924">colsPermutation</a> () const </td></tr>
<tr class="separator:a1229744f4e8554ca6e96fe32ac359924"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca041ec6ace60e0e597f40706e9c894d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseQR.html#aca041ec6ace60e0e597f40706e9c894d">factorize</a> (const MatrixType &amp;mat)</td></tr>
<tr class="memdesc:aca041ec6ace60e0e597f40706e9c894d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs the numerical QR factorization of the input matrix.  <a href="#aca041ec6ace60e0e597f40706e9c894d">More...</a><br/></td></tr>
<tr class="separator:aca041ec6ace60e0e597f40706e9c894d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c06d5c2034ebb329c54235369643ad2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__enums.html#ga51bc1ac16f26ebe51eae1abb77bd037b">ComputationInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseQR.html#a0c06d5c2034ebb329c54235369643ad2">info</a> () const </td></tr>
<tr class="memdesc:a0c06d5c2034ebb329c54235369643ad2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reports whether previous computation was successful.  <a href="#a0c06d5c2034ebb329c54235369643ad2">More...</a><br/></td></tr>
<tr class="separator:a0c06d5c2034ebb329c54235369643ad2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a040b16815cde46c7f2f6d26a2298ca4b"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseQR.html#a040b16815cde46c7f2f6d26a2298ca4b">lastErrorMessage</a> () const </td></tr>
<tr class="separator:a040b16815cde46c7f2f6d26a2298ca4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac27067ab301641fe6cc35c216a9b18a2"><td class="memItemLeft" align="right" valign="top">SparseQRMatrixQReturnType<br class="typebreak"/>
&lt; <a class="el" href="classEigen_1_1SparseQR.html">SparseQR</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseQR.html#ac27067ab301641fe6cc35c216a9b18a2">matrixQ</a> () const </td></tr>
<tr class="separator:ac27067ab301641fe6cc35c216a9b18a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a934752a840893040688fc788848a1e06"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1SparseMatrix.html">QRMatrixType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseQR.html#a934752a840893040688fc788848a1e06">matrixR</a> () const </td></tr>
<tr class="separator:a934752a840893040688fc788848a1e06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a363d1c09d77f09d6ea2d2789776e7be3"><td class="memItemLeft" align="right" valign="top">Index&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseQR.html#a363d1c09d77f09d6ea2d2789776e7be3">rank</a> () const </td></tr>
<tr class="separator:a363d1c09d77f09d6ea2d2789776e7be3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5552abd83dbd03c85cea6d61fd8875a5"><td class="memItemLeft" align="right" valign="top">Index&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseQR.html#a5552abd83dbd03c85cea6d61fd8875a5">rows</a> () const </td></tr>
<tr class="separator:a5552abd83dbd03c85cea6d61fd8875a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad00a1dda3c45b53e1f91219824773b1c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseQR.html#ad00a1dda3c45b53e1f91219824773b1c">setPivotThreshold</a> (const RealScalar &amp;threshold)</td></tr>
<tr class="separator:ad00a1dda3c45b53e1f91219824773b1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2faae287189af711e5f8ac62c140c71f"><td class="memTemplParams" colspan="2">template&lt;typename Rhs &gt; </td></tr>
<tr class="memitem:a2faae287189af711e5f8ac62c140c71f"><td class="memTemplItemLeft" align="right" valign="top">const internal::solve_retval<br class="typebreak"/>
&lt; <a class="el" href="classEigen_1_1SparseQR.html">SparseQR</a>, Rhs &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseQR.html#a2faae287189af711e5f8ac62c140c71f">solve</a> (const <a class="el" href="classEigen_1_1MatrixBase.html">MatrixBase</a>&lt; Rhs &gt; &amp;B) const </td></tr>
<tr class="separator:a2faae287189af711e5f8ac62c140c71f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a5907227f29f3911de653273efef11b45"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void analyzePattern </td>
          <td>(</td>
          <td class="paramtype">const MatrixType &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Preprocessing step of a QR factorization. </p>
<p>In this step, the fill-reducing permutation is computed and applied to the columns of A and the column elimination tree is computed as well. Only the sparcity pattern of <em>mat</em> is exploited.</p>
<dl class="section note"><dt>Note</dt><dd>In this step it is assumed that there is no empty row in the matrix <em>mat</em>. </dd></dl>

<p>References <a class="el" href="namespaceEigen_1_1internal.html#a22b184331e5fb270a37d1305e95cb064">Eigen::internal::coletree()</a>.</p>

</div>
</div>
<a class="anchor" id="aaca1908a5ec508a25ff0a8bca803e5f3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Index cols </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the number of columns of the represented matrix. </dd></dl>

<p>References <a class="el" href="classEigen_1_1SparseMatrix.html#aaca1908a5ec508a25ff0a8bca803e5f3">SparseMatrix&lt; _Scalar, _Options, _Index &gt;::cols()</a>.</p>

</div>
</div>
<a class="anchor" id="a1229744f4e8554ca6e96fe32ac359924"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classEigen_1_1PermutationMatrix.html">PermutationType</a>&amp; colsPermutation </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a const reference to the column permutation P that was applied to A such that A*P = Q*R It is the combination of the fill-in reducing permutation and numerical column pivoting. </dd></dl>

</div>
</div>
<a class="anchor" id="aca041ec6ace60e0e597f40706e9c894d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void factorize </td>
          <td>(</td>
          <td class="paramtype">const MatrixType &amp;&#160;</td>
          <td class="paramname"><em>mat</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs the numerical QR factorization of the input matrix. </p>
<p>The function <a class="el" href="classEigen_1_1SparseQR.html#a5907227f29f3911de653273efef11b45" title="Preprocessing step of a QR factorization. ">SparseQR::analyzePattern(const MatrixType&amp;)</a> must have been called beforehand with a matrix having the same sparcity pattern than <em>mat</em>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mat</td><td>The sparse column-major matrix </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="namespaceEigen_1_1internal.html#a22b184331e5fb270a37d1305e95cb064">Eigen::internal::coletree()</a>, <a class="el" href="group__enums.html#gga51bc1ac16f26ebe51eae1abb77bd037bae1252631a63be5890a1e78ff417d378f">Eigen::InvalidInput</a>, <a class="el" href="classEigen_1_1PlainObjectBase.html#aabcf7b6f4543f6255253b9ccee3309b8">PlainObjectBase&lt; Derived &gt;::setConstant()</a>, <a class="el" href="classEigen_1_1PlainObjectBase.html#a04abe84a9a894de335a232681d9a0722">PlainObjectBase&lt; Derived &gt;::setZero()</a>, and <a class="el" href="group__enums.html#gga51bc1ac16f26ebe51eae1abb77bd037bafdfbdf3247bd36a1f17270d5cec74c9c">Eigen::Success</a>.</p>

</div>
</div>
<a class="anchor" id="a0c06d5c2034ebb329c54235369643ad2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__enums.html#ga51bc1ac16f26ebe51eae1abb77bd037b">ComputationInfo</a> info </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reports whether previous computation was successful. </p>
<dl class="section return"><dt>Returns</dt><dd><code>Success</code> if computation was succesful, <code>NumericalIssue</code> if the QR factorization reports a numerical problem <code>InvalidInput</code> if the input matrix is invalid</dd></dl>
<dl class="section see"><dt>See Also</dt><dd>iparm() </dd></dl>

</div>
</div>
<a class="anchor" id="a040b16815cde46c7f2f6d26a2298ca4b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string lastErrorMessage </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>A string describing the type of error. This method is provided to ease debugging, not to handle errors. </dd></dl>

</div>
</div>
<a class="anchor" id="ac27067ab301641fe6cc35c216a9b18a2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">SparseQRMatrixQReturnType&lt;<a class="el" href="classEigen_1_1SparseQR.html">SparseQR</a>&gt; matrixQ </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<pre class="fragment">\returns an expression of the matrix Q as products of sparse Householder reflectors.
</pre><p> The common usage of this function is to apply it to a dense matrix or vector </p>
<div class="fragment"><div class="line">* <a class="code" href="group__matrixtypedefs.html#ga3da45e59796fbacf67fa568297927bd1">VectorXd</a> B1, B2;</div>
<div class="line">* <span class="comment">// Initialize B1</span></div>
<div class="line">* B2 = <a class="code" href="classEigen_1_1SparseQR.html#ac27067ab301641fe6cc35c216a9b18a2">matrixQ</a>() * B1;</div>
<div class="line">* </div>
</div><!-- fragment --><p>To get a plain <a class="el" href="classEigen_1_1SparseMatrix.html" title="A versatible sparse matrix representation. ">SparseMatrix</a> representation of Q: </p>
<div class="fragment"><div class="line">* SparseMatrix&lt;double&gt; Q;</div>
<div class="line">* Q = SparseQR&lt;SparseMatrix&lt;double&gt; &gt;(A).<a class="code" href="classEigen_1_1SparseQR.html#ac27067ab301641fe6cc35c216a9b18a2">matrixQ</a>();</div>
<div class="line">* </div>
</div><!-- fragment --><p> Internally, this call simply performs a sparse product between the matrix Q and a sparse identity matrix. However, due to the fact that the sparse reflectors are stored unsorted, two transpositions are needed to sort them before performing the product. </p>

</div>
</div>
<a class="anchor" id="a934752a840893040688fc788848a1e06"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classEigen_1_1SparseMatrix.html">QRMatrixType</a>&amp; matrixR </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a const reference to the <b>sparse</b> upper triangular matrix R of the QR factorization. </dd></dl>

</div>
</div>
<a class="anchor" id="a363d1c09d77f09d6ea2d2789776e7be3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Index rank </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the number of non linearly dependent columns as determined by the pivoting threshold.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseQR.html#ad00a1dda3c45b53e1f91219824773b1c">setPivotThreshold()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a5552abd83dbd03c85cea6d61fd8875a5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Index rows </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the number of rows of the represented matrix. </dd></dl>

<p>References <a class="el" href="classEigen_1_1SparseMatrix.html#a5552abd83dbd03c85cea6d61fd8875a5">SparseMatrix&lt; _Scalar, _Options, _Index &gt;::rows()</a>.</p>

<p>Referenced by <a class="el" href="classEigen_1_1SparseQR.html#a2faae287189af711e5f8ac62c140c71f">SparseQR&lt; MatrixType, OrderingType &gt;::solve()</a>.</p>

</div>
</div>
<a class="anchor" id="ad00a1dda3c45b53e1f91219824773b1c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void setPivotThreshold </td>
          <td>(</td>
          <td class="paramtype">const RealScalar &amp;&#160;</td>
          <td class="paramname"><em>threshold</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets the threshold that is used to determine linearly dependent columns during the factorization.</p>
<p>In practice, if during the factorization the norm of the column that has to be eliminated is below this threshold, then the entire column is treated as zero, and it is moved at the end. </p>

</div>
</div>
<a class="anchor" id="a2faae287189af711e5f8ac62c140c71f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const internal::solve_retval&lt;<a class="el" href="classEigen_1_1SparseQR.html">SparseQR</a>, Rhs&gt; solve </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1MatrixBase.html">MatrixBase</a>&lt; Rhs &gt; &amp;&#160;</td>
          <td class="paramname"><em>B</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the solution X of <img class="formulaInl" alt="$ A X = B $" src="form_162.png"/> using the current decomposition of A.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd>compute() </dd></dl>

<p>References <a class="el" href="classEigen_1_1SparseQR.html#a5552abd83dbd03c85cea6d61fd8875a5">SparseQR&lt; MatrixType, OrderingType &gt;::rows()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="SparseQR_8h_source.html">SparseQR.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespaceEigen.html">Eigen</a></li><li class="navelem"><a class="el" href="classEigen_1_1SparseQR.html">SparseQR</a></li>
    <li class="footer">Generated on Mon Oct 28 2013 11:04:31 for Eigen by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.5 </li>
  </ul>
</div>
<!-- Piwik --> 
<!--
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://stats.sylphide-consulting.com/piwik/" : "http://stats.sylphide-consulting.com/piwik/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 20);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img src="http://stats.sylphide-consulting.com/piwik/piwik.php?idsite=20" style="border:0" alt="" /></p></noscript>
-->
<!-- End Piwik Tracking Code -->
</body>
</html>