Sophie

Sophie

distrib > Mageia > 4 > i586 > by-pkgid > 99cb5ede6a5329071fbeecc8218deb35 > files > 660

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: SparseMatrix&lt; _Scalar, _Options, _Index &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_1SparseMatrix.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_1SparseMatrix-members.html">List of all members</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">SparseMatrix&lt; _Scalar, _Options, _Index &gt; Class Template Reference<div class="ingroups"><a class="el" href="group__SparseCore__Module.html">SparseCore 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 _Scalar, int _Options, typename _Index&gt;<br/>
class Eigen::SparseMatrix&lt; _Scalar, _Options, _Index &gt;</h3>

<p>A versatible sparse matrix representation. </p>
<p>This class implements a more versatile variants of the common <em>compressed</em> row/column storage format. Each colmun's (resp. row) non zeros are stored as a pair of value with associated row (resp. colmiun) index. All the non zeros are stored in a single large buffer. Unlike the <em>compressed</em> format, there might be extra space inbetween the nonzeros of two successive colmuns (resp. rows) such that insertion of new non-zero can be done with limited memory reallocation and copies.</p>
<p>A call to the function <a class="el" href="classEigen_1_1SparseMatrix.html#a5daf3de834937aeaa7ebc7f18cea746b">makeCompressed()</a> turns the matrix into the standard <em>compressed</em> format compatible with many library.</p>
<p>More details on this storage sceheme are given in the <a class="el" href="group__TutorialSparse.html">manual pages</a>.</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">_Scalar</td><td>the scalar type, i.e. the type of the coefficients </td></tr>
    <tr><td class="paramname">_Options</td><td>Union of bit flags controlling the storage scheme. Currently the only possibility is ColMajor or RowMajor. The default is 0 which means column-major. </td></tr>
    <tr><td class="paramname">_Index</td><td>the type of the indices. It has to be a <b>signed</b> type (e.g., short, int, std::ptrdiff_t). Default is <code>int</code>.</td></tr>
  </table>
  </dd>
</dl>
<p>This class can be extended with the help of the plugin mechanism described on the page <a class="el" href="TopicCustomizingEigen.html">Customizing/Extending Eigen</a> by defining the preprocessor symbol <code>EIGEN_SPARSEMATRIX_PLUGIN</code>. </p>
</div><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for SparseMatrix&lt; _Scalar, _Options, _Index &gt;:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classEigen_1_1SparseMatrix__inherit__graph.png" border="0" usemap="#SparseMatrix_3_01__Scalar_00_01__Options_00_01__Index_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="SparseMatrix_3_01__Scalar_00_01__Options_00_01__Index_01_4_inherit__map" id="SparseMatrix_3_01__Scalar_00_01__Options_00_01__Index_01_4_inherit__map">
<area shape="rect" id="node2" href="classEigen_1_1SparseMatrixBase.html" title="{SparseMatrixBase\&lt; Sparse\lMatrix\&lt; _Scalar, _Options,\l _Index \&gt; \&gt;\n|# m_isRValue\l|+ adjoint()\l+ binaryExpr()\l+ block()\l+ block()\l+ block()\l+ block()\l+ block()\l+ block()\l+ blueNorm()\l+ bottomLeftCorner()\land 135 more...\l# assign()\l# assignGeneric()\l}" alt="" coords="5,323,187,605"/><area shape="rect" id="node3" href="structEigen_1_1EigenBase.html" title="{EigenBase\&lt; SparseMatrix\l\&lt; _Scalar, _Options, \l_Index \&gt; \&gt;\n||+ addTo()\l+ applyThisOnTheLeft()\l+ applyThisOnTheRight()\l+ cols()\l+ const_cast_derived()\l+ const_derived()\l+ derived()\l+ derived()\l+ evalTo()\l+ rows()\l+ size()\l+ subTo()\l}" alt="" coords="9,6,183,274"/></map>
</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:ae762210a1ab89bed1673edc09a6ec8b7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseBinaryOp.html">CwiseBinaryOp</a><br class="typebreak"/>
&lt; CustomBinaryOp, const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, const <br class="typebreak"/>
OtherDerived &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ae762210a1ab89bed1673edc09a6ec8b7">binaryExpr</a> (const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;other, const CustomBinaryOp &amp;func=CustomBinaryOp()) const</td></tr>
<tr class="separator:ae762210a1ab89bed1673edc09a6ec8b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dbaa2fc7b809720407130f48dfacf8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Block.html">Block</a>&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block</a> (Index startRow, Index startCol, Index blockRows, Index blockCols)</td></tr>
<tr class="separator:a1dbaa2fc7b809720407130f48dfacf8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace64451d903a49f7627cb3b87257c801"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Block.html">Block</a>&lt; const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ace64451d903a49f7627cb3b87257c801">block</a> (Index startRow, Index startCol, Index blockRows, Index blockCols) const</td></tr>
<tr class="separator:ace64451d903a49f7627cb3b87257c801"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e433315822db2811a65e88c70672743"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Block.html">Block</a>&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, BlockRows, <br class="typebreak"/>
BlockCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a3e433315822db2811a65e88c70672743">block</a> (Index startRow, Index startCol)</td></tr>
<tr class="separator:a3e433315822db2811a65e88c70672743"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40f9466c400c6dc5779380124e37bf7f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Block.html">Block</a>&lt; const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, BlockRows, <br class="typebreak"/>
BlockCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a40f9466c400c6dc5779380124e37bf7f">block</a> (Index startRow, Index startCol) const</td></tr>
<tr class="separator:a40f9466c400c6dc5779380124e37bf7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d35d793f33794df591242d942f98d65"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Block.html">Block</a>&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, BlockRows, <br class="typebreak"/>
BlockCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a9d35d793f33794df591242d942f98d65">block</a> (Index startRow, Index startCol, Index blockRows, Index blockCols)</td></tr>
<tr class="separator:a9d35d793f33794df591242d942f98d65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13fc71e26059f25c5a0de1ebbdfe3375"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Block.html">Block</a>&lt; const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, BlockRows, <br class="typebreak"/>
BlockCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a13fc71e26059f25c5a0de1ebbdfe3375">block</a> (Index startRow, Index startCol, Index blockRows, Index blockCols) const</td></tr>
<tr class="separator:a13fc71e26059f25c5a0de1ebbdfe3375"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a641cf096441faf5ab490c4973c719c7a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Block.html">Block</a>&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a641cf096441faf5ab490c4973c719c7a">bottomLeftCorner</a> (Index cRows, Index cCols)</td></tr>
<tr class="separator:a641cf096441faf5ab490c4973c719c7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd00a289a3033ba0802cb55c23910874"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Block.html">Block</a>&lt; const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#abd00a289a3033ba0802cb55c23910874">bottomLeftCorner</a> (Index cRows, Index cCols) const</td></tr>
<tr class="separator:abd00a289a3033ba0802cb55c23910874"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a243a44832e36d2bf5d0d8d17d1505900"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Block.html">Block</a>&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, CRows, <br class="typebreak"/>
CCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a243a44832e36d2bf5d0d8d17d1505900">bottomLeftCorner</a> ()</td></tr>
<tr class="separator:a243a44832e36d2bf5d0d8d17d1505900"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fa849b36665dcca6316f05a634e6540"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Block.html">Block</a>&lt; const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, CRows, <br class="typebreak"/>
CCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a7fa849b36665dcca6316f05a634e6540">bottomLeftCorner</a> () const</td></tr>
<tr class="separator:a7fa849b36665dcca6316f05a634e6540"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a305fa6d02685ea21c9050617d837d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Block.html">Block</a>&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, CRows, <br class="typebreak"/>
CCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a7a305fa6d02685ea21c9050617d837d6">bottomLeftCorner</a> (Index cRows, Index cCols)</td></tr>
<tr class="separator:a7a305fa6d02685ea21c9050617d837d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a878151caf2ff25ebbc76186485f81207"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Block.html">Block</a>&lt; const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, CRows, <br class="typebreak"/>
CCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a878151caf2ff25ebbc76186485f81207">bottomLeftCorner</a> (Index cRows, Index cCols) const</td></tr>
<tr class="separator:a878151caf2ff25ebbc76186485f81207"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b9618f3c9eb4d4c9813ae8f6a8e70c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Block.html">Block</a>&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a2b9618f3c9eb4d4c9813ae8f6a8e70c5">bottomRightCorner</a> (Index cRows, Index cCols)</td></tr>
<tr class="separator:a2b9618f3c9eb4d4c9813ae8f6a8e70c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26cfa9c974065fc714cdaf7a5fdbe1ed"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Block.html">Block</a>&lt; const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a26cfa9c974065fc714cdaf7a5fdbe1ed">bottomRightCorner</a> (Index cRows, Index cCols) const</td></tr>
<tr class="separator:a26cfa9c974065fc714cdaf7a5fdbe1ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6563b16b601d9fd66340ab04d101f9d1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Block.html">Block</a>&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, CRows, <br class="typebreak"/>
CCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a6563b16b601d9fd66340ab04d101f9d1">bottomRightCorner</a> ()</td></tr>
<tr class="separator:a6563b16b601d9fd66340ab04d101f9d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0b8870679a8b100f24a8eecf1ac3477"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Block.html">Block</a>&lt; const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, CRows, <br class="typebreak"/>
CCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#aa0b8870679a8b100f24a8eecf1ac3477">bottomRightCorner</a> () const</td></tr>
<tr class="separator:aa0b8870679a8b100f24a8eecf1ac3477"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13b796ff9732af7ec072455513480bd4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Block.html">Block</a>&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, CRows, <br class="typebreak"/>
CCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a13b796ff9732af7ec072455513480bd4">bottomRightCorner</a> (Index cRows, Index cCols)</td></tr>
<tr class="separator:a13b796ff9732af7ec072455513480bd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10f1d3781d0dbcf80b79087c5acad5f5"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Block.html">Block</a>&lt; const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, CRows, <br class="typebreak"/>
CCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a10f1d3781d0dbcf80b79087c5acad5f5">bottomRightCorner</a> (Index cRows, Index cCols) const</td></tr>
<tr class="separator:a10f1d3781d0dbcf80b79087c5acad5f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe61d23353a75d7034f7b44ff02aaea1"><td class="memItemLeft" align="right" valign="top">RowsBlockXpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#afe61d23353a75d7034f7b44ff02aaea1">bottomRows</a> (Index n)</td></tr>
<tr class="separator:afe61d23353a75d7034f7b44ff02aaea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5959de43ccb180fbd4ad44002441a52"><td class="memItemLeft" align="right" valign="top">ConstRowsBlockXpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ae5959de43ccb180fbd4ad44002441a52">bottomRows</a> (Index n) const</td></tr>
<tr class="separator:ae5959de43ccb180fbd4ad44002441a52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4809c823f0179782a50409c5444b55a1"><td class="memItemLeft" align="right" valign="top">NRowsBlockXpr&lt; N &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a4809c823f0179782a50409c5444b55a1">bottomRows</a> ()</td></tr>
<tr class="separator:a4809c823f0179782a50409c5444b55a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a0e94a9eca5418753083c42fd30deaf"><td class="memItemLeft" align="right" valign="top">ConstNRowsBlockXpr&lt; N &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a2a0e94a9eca5418753083c42fd30deaf">bottomRows</a> () const</td></tr>
<tr class="separator:a2a0e94a9eca5418753083c42fd30deaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a660200abaf1fc4b888330a37d6132b76"><td class="memItemLeft" align="right" valign="top">internal::cast_return_type<br class="typebreak"/>
&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, const <br class="typebreak"/>
<a class="el" href="classEigen_1_1CwiseUnaryOp.html">CwiseUnaryOp</a><br class="typebreak"/>
&lt; internal::scalar_cast_op<br class="typebreak"/>
&lt; typename internal::traits<br class="typebreak"/>
&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;::Scalar, <br class="typebreak"/>
NewType &gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a><br class="typebreak"/>
&lt; _Scalar, _Options, _Index &gt;<br class="typebreak"/>
 &gt; &gt;::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a660200abaf1fc4b888330a37d6132b76">cast</a> () const</td></tr>
<tr class="separator:a660200abaf1fc4b888330a37d6132b76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afacbe8d905dd8b00eb52e72c2e938aed"><td class="memItemLeft" align="right" valign="top">Scalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#afacbe8d905dd8b00eb52e72c2e938aed">coeff</a> (Index <a class="el" href="classEigen_1_1SparseMatrixBase.html#aa8716d44f51321072ee5c88665c28813">row</a>, Index <a class="el" href="classEigen_1_1SparseMatrixBase.html#a58c77695de3b33405f01f2fdf3dc389d">col</a>) const </td></tr>
<tr class="separator:afacbe8d905dd8b00eb52e72c2e938aed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4386da578a119f7b500d0b22cab2de0e"><td class="memItemLeft" align="right" valign="top">Scalar &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a4386da578a119f7b500d0b22cab2de0e">coeffRef</a> (Index <a class="el" href="classEigen_1_1SparseMatrixBase.html#aa8716d44f51321072ee5c88665c28813">row</a>, Index <a class="el" href="classEigen_1_1SparseMatrixBase.html#a58c77695de3b33405f01f2fdf3dc389d">col</a>)</td></tr>
<tr class="separator:a4386da578a119f7b500d0b22cab2de0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58c77695de3b33405f01f2fdf3dc389d"><td class="memItemLeft" align="right" valign="top">ColXpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a58c77695de3b33405f01f2fdf3dc389d">col</a> (Index i)</td></tr>
<tr class="separator:a58c77695de3b33405f01f2fdf3dc389d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a390f7c534678354959dd587080b82c2c"><td class="memItemLeft" align="right" valign="top">ConstColXpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a390f7c534678354959dd587080b82c2c">col</a> (Index i) const</td></tr>
<tr class="separator:a390f7c534678354959dd587080b82c2c"><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_1SparseMatrix.html#aaca1908a5ec508a25ff0a8bca803e5f3">cols</a> () const </td></tr>
<tr class="separator:aaca1908a5ec508a25ff0a8bca803e5f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab6c2241712d7faf07019a0d86d3fb79"><td class="memItemLeft" align="right" valign="top">ConjugateReturnType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#aab6c2241712d7faf07019a0d86d3fb79">conjugate</a> () const</td></tr>
<tr class="separator:aab6c2241712d7faf07019a0d86d3fb79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85584f416c9e3a843fdafa2ef8dda195"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a85584f416c9e3a843fdafa2ef8dda195">conservativeResize</a> (Index <a class="el" href="classEigen_1_1SparseMatrix.html#a5552abd83dbd03c85cea6d61fd8875a5">rows</a>, Index <a class="el" href="classEigen_1_1SparseMatrix.html#aaca1908a5ec508a25ff0a8bca803e5f3">cols</a>)</td></tr>
<tr class="separator:a85584f416c9e3a843fdafa2ef8dda195"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4d8398a4497e4a888cfc11c51c14a81"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseUnaryOp.html">CwiseUnaryOp</a><br class="typebreak"/>
&lt; internal::scalar_abs_op<br class="typebreak"/>
&lt; Scalar &gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a><br class="typebreak"/>
&lt; _Scalar, _Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ab4d8398a4497e4a888cfc11c51c14a81">cwiseAbs</a> () const</td></tr>
<tr class="separator:ab4d8398a4497e4a888cfc11c51c14a81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc9cb99dcb93caf0c3c37860aeef30b2"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseUnaryOp.html">CwiseUnaryOp</a><br class="typebreak"/>
&lt; internal::scalar_abs2_op<br class="typebreak"/>
&lt; Scalar &gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a><br class="typebreak"/>
&lt; _Scalar, _Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#abc9cb99dcb93caf0c3c37860aeef30b2">cwiseAbs2</a> () const</td></tr>
<tr class="separator:abc9cb99dcb93caf0c3c37860aeef30b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbeb71e12bd4e65d20afd183ad962735"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseBinaryOp.html">CwiseBinaryOp</a><br class="typebreak"/>
&lt; std::equal_to&lt; Scalar &gt;<br class="typebreak"/>
, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, const <br class="typebreak"/>
OtherDerived &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#abbeb71e12bd4e65d20afd183ad962735">cwiseEqual</a> (const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;other) const</td></tr>
<tr class="separator:abbeb71e12bd4e65d20afd183ad962735"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1f241762b604c2117232c5c994068bb"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseUnaryOp.html">CwiseUnaryOp</a><br class="typebreak"/>
&lt; std::binder1st<br class="typebreak"/>
&lt; std::equal_to&lt; Scalar &gt;<br class="typebreak"/>
 &gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a><br class="typebreak"/>
&lt; _Scalar, _Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ae1f241762b604c2117232c5c994068bb">cwiseEqual</a> (const Scalar &amp;s) const</td></tr>
<tr class="separator:ae1f241762b604c2117232c5c994068bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a433cd5f8e17b2662c4081ec798fa54be"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseUnaryOp.html">CwiseUnaryOp</a><br class="typebreak"/>
&lt; internal::scalar_inverse_op<br class="typebreak"/>
&lt; Scalar &gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a><br class="typebreak"/>
&lt; _Scalar, _Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a433cd5f8e17b2662c4081ec798fa54be">cwiseInverse</a> () const</td></tr>
<tr class="separator:a433cd5f8e17b2662c4081ec798fa54be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4e2ff39353ad89db50ddf3dd7b52018"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseBinaryOp.html">CwiseBinaryOp</a><br class="typebreak"/>
&lt; internal::scalar_max_op<br class="typebreak"/>
&lt; Scalar &gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a><br class="typebreak"/>
&lt; _Scalar, _Options, _Index &gt;<br class="typebreak"/>
, const OtherDerived &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ab4e2ff39353ad89db50ddf3dd7b52018">cwiseMax</a> (const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;other) const</td></tr>
<tr class="separator:ab4e2ff39353ad89db50ddf3dd7b52018"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e985c7a4f692584865b9ec9e7d5780c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseBinaryOp.html">CwiseBinaryOp</a><br class="typebreak"/>
&lt; internal::scalar_max_op<br class="typebreak"/>
&lt; Scalar &gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a><br class="typebreak"/>
&lt; _Scalar, _Options, _Index &gt;<br class="typebreak"/>
, const ConstantReturnType &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a7e985c7a4f692584865b9ec9e7d5780c">cwiseMax</a> (const Scalar &amp;other) const</td></tr>
<tr class="separator:a7e985c7a4f692584865b9ec9e7d5780c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10f6c61e2de38668bc29d07360de3a89"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseBinaryOp.html">CwiseBinaryOp</a><br class="typebreak"/>
&lt; internal::scalar_min_op<br class="typebreak"/>
&lt; Scalar &gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a><br class="typebreak"/>
&lt; _Scalar, _Options, _Index &gt;<br class="typebreak"/>
, const OtherDerived &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a10f6c61e2de38668bc29d07360de3a89">cwiseMin</a> (const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;other) const</td></tr>
<tr class="separator:a10f6c61e2de38668bc29d07360de3a89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac02d0af0ea867d6b1cc0cc4db0e1d480"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseBinaryOp.html">CwiseBinaryOp</a><br class="typebreak"/>
&lt; internal::scalar_min_op<br class="typebreak"/>
&lt; Scalar &gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a><br class="typebreak"/>
&lt; _Scalar, _Options, _Index &gt;<br class="typebreak"/>
, const ConstantReturnType &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ac02d0af0ea867d6b1cc0cc4db0e1d480">cwiseMin</a> (const Scalar &amp;other) const</td></tr>
<tr class="separator:ac02d0af0ea867d6b1cc0cc4db0e1d480"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74a7586c8f5f2431fb3d66f7e534621c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseBinaryOp.html">CwiseBinaryOp</a><br class="typebreak"/>
&lt; std::not_equal_to&lt; Scalar &gt;<br class="typebreak"/>
, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, const <br class="typebreak"/>
OtherDerived &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a74a7586c8f5f2431fb3d66f7e534621c">cwiseNotEqual</a> (const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;other) const</td></tr>
<tr class="separator:a74a7586c8f5f2431fb3d66f7e534621c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2664016e0a9629a181b822539485cfe3"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseBinaryOp.html">CwiseBinaryOp</a><br class="typebreak"/>
&lt; internal::scalar_product_op<br class="typebreak"/>
&lt; typename <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a><br class="typebreak"/>
&lt; _Scalar, _Options, _Index &gt;<br class="typebreak"/>
::Scalar, typename <br class="typebreak"/>
OtherDerived::Scalar &gt;, const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, const <br class="typebreak"/>
OtherDerived &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a2664016e0a9629a181b822539485cfe3">cwiseProduct</a> (const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;other) const</td></tr>
<tr class="separator:a2664016e0a9629a181b822539485cfe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada4f791903d6f53f5b167ea5cbcee6a0"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseBinaryOp.html">CwiseBinaryOp</a><br class="typebreak"/>
&lt; internal::scalar_quotient_op<br class="typebreak"/>
&lt; Scalar &gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a><br class="typebreak"/>
&lt; _Scalar, _Options, _Index &gt;<br class="typebreak"/>
, const OtherDerived &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ada4f791903d6f53f5b167ea5cbcee6a0">cwiseQuotient</a> (const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;other) const</td></tr>
<tr class="separator:ada4f791903d6f53f5b167ea5cbcee6a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88945ad7d126468c10e299e896bf0d1e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseUnaryOp.html">CwiseUnaryOp</a><br class="typebreak"/>
&lt; internal::scalar_sqrt_op<br class="typebreak"/>
&lt; Scalar &gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a><br class="typebreak"/>
&lt; _Scalar, _Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a88945ad7d126468c10e299e896bf0d1e">cwiseSqrt</a> () const</td></tr>
<tr class="separator:a88945ad7d126468c10e299e896bf0d1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa84222add803ad7c9db07dd4dd91d5d9"><td class="memItemLeft" align="right" valign="top">Derived &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structEigen_1_1EigenBase.html#aa84222add803ad7c9db07dd4dd91d5d9">derived</a> ()</td></tr>
<tr class="separator:aa84222add803ad7c9db07dd4dd91d5d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2850de52161dfe2bb6e380f1892276b8"><td class="memItemLeft" align="right" valign="top">const Derived &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structEigen_1_1EigenBase.html#a2850de52161dfe2bb6e380f1892276b8">derived</a> () const </td></tr>
<tr class="separator:a2850de52161dfe2bb6e380f1892276b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9767c7ef9fea17a585e4ad45d2d4ad3"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Diagonal.html">Diagonal</a>&lt; const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#aa9767c7ef9fea17a585e4ad45d2d4ad3">diagonal</a> () const </td></tr>
<tr class="separator:aa9767c7ef9fea17a585e4ad45d2d4ad3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a571c36d7211bd03dd1a06ac46c002fe5"><td class="memItemLeft" align="right" valign="top">const internal::eval<br class="typebreak"/>
&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a571c36d7211bd03dd1a06ac46c002fe5">eval</a> () const</td></tr>
<tr class="separator:a571c36d7211bd03dd1a06ac46c002fe5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72cddecfa6737b4388ef26c3a559a716"><td class="memItemLeft" align="right" valign="top">SegmentReturnType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a72cddecfa6737b4388ef26c3a559a716">head</a> (Index vecSize)</td></tr>
<tr class="separator:a72cddecfa6737b4388ef26c3a559a716"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1affbbf894b20a196ee663244f9ca186"><td class="memItemLeft" align="right" valign="top">ConstSegmentReturnType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a1affbbf894b20a196ee663244f9ca186">head</a> (Index vecSize) const</td></tr>
<tr class="separator:a1affbbf894b20a196ee663244f9ca186"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a361e155375a3c7983c294641b1e91a15"><td class="memItemLeft" align="right" valign="top">FixedSegmentReturnType&lt; Size &gt;<br class="typebreak"/>
::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a361e155375a3c7983c294641b1e91a15">head</a> ()</td></tr>
<tr class="separator:a361e155375a3c7983c294641b1e91a15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a231f7179447bc8df1d0be0b23541d2fd"><td class="memItemLeft" align="right" valign="top">ConstFixedSegmentReturnType<br class="typebreak"/>
&lt; Size &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a231f7179447bc8df1d0be0b23541d2fd">head</a> () const</td></tr>
<tr class="separator:a231f7179447bc8df1d0be0b23541d2fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01069a930197aeca3b13b44bdc426c7b"><td class="memItemLeft" align="right" valign="top">const ImagReturnType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a01069a930197aeca3b13b44bdc426c7b">imag</a> () const</td></tr>
<tr class="separator:a01069a930197aeca3b13b44bdc426c7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1032121a2fc5fcc5f006f976413378f8"><td class="memItemLeft" align="right" valign="top">NonConstImagReturnType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a1032121a2fc5fcc5f006f976413378f8">imag</a> ()</td></tr>
<tr class="separator:a1032121a2fc5fcc5f006f976413378f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a828e04dedd8347ad1c463817b2e5dbed"><td class="memItemLeft" align="right" valign="top">const Index *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a828e04dedd8347ad1c463817b2e5dbed">innerIndexPtr</a> () const </td></tr>
<tr class="separator:a828e04dedd8347ad1c463817b2e5dbed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5204064425a0d6c87688ed48dd1d745"><td class="memItemLeft" align="right" valign="top">Index *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#ac5204064425a0d6c87688ed48dd1d745">innerIndexPtr</a> ()</td></tr>
<tr class="separator:ac5204064425a0d6c87688ed48dd1d745"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ae4fbae821c9f97e0710f5cb3b73c91"><td class="memItemLeft" align="right" valign="top">const Index *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a2ae4fbae821c9f97e0710f5cb3b73c91">innerNonZeroPtr</a> () const </td></tr>
<tr class="separator:a2ae4fbae821c9f97e0710f5cb3b73c91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e623b88f053da805a943ddbfd8c90a4"><td class="memItemLeft" align="right" valign="top">Index *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a5e623b88f053da805a943ddbfd8c90a4">innerNonZeroPtr</a> ()</td></tr>
<tr class="separator:a5e623b88f053da805a943ddbfd8c90a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd9791e1914ad8761992e16032d49c54"><td class="memItemLeft" align="right" valign="top">Index&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#acd9791e1914ad8761992e16032d49c54">innerSize</a> () const </td></tr>
<tr class="separator:acd9791e1914ad8761992e16032d49c54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cbf43137ff55b8164ec8fc5e4da9deb"><td class="memItemLeft" align="right" valign="top">Scalar &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a1cbf43137ff55b8164ec8fc5e4da9deb">insert</a> (Index <a class="el" href="classEigen_1_1SparseMatrixBase.html#aa8716d44f51321072ee5c88665c28813">row</a>, Index <a class="el" href="classEigen_1_1SparseMatrixBase.html#a58c77695de3b33405f01f2fdf3dc389d">col</a>)</td></tr>
<tr class="separator:a1cbf43137ff55b8164ec8fc5e4da9deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4549e80dac9fd4f4c9ecee00814ecaa5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a4549e80dac9fd4f4c9ecee00814ecaa5">isCompressed</a> () const </td></tr>
<tr class="separator:a4549e80dac9fd4f4c9ecee00814ecaa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ed9d8dbec28bf8536105047dc8f375e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a6ed9d8dbec28bf8536105047dc8f375e">isVector</a> () const</td></tr>
<tr class="separator:a6ed9d8dbec28bf8536105047dc8f375e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace4288d22b0312944ec93c8c46474ef6"><td class="memItemLeft" align="right" valign="top">ColsBlockXpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ace4288d22b0312944ec93c8c46474ef6">leftCols</a> (Index n)</td></tr>
<tr class="separator:ace4288d22b0312944ec93c8c46474ef6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa43a2f7ef9b8029727a3e0424fd4e57d"><td class="memItemLeft" align="right" valign="top">ConstColsBlockXpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#aa43a2f7ef9b8029727a3e0424fd4e57d">leftCols</a> (Index n) const</td></tr>
<tr class="separator:aa43a2f7ef9b8029727a3e0424fd4e57d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01053284fe198875df0ff63aae33eea8"><td class="memItemLeft" align="right" valign="top">NColsBlockXpr&lt; N &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a01053284fe198875df0ff63aae33eea8">leftCols</a> ()</td></tr>
<tr class="separator:a01053284fe198875df0ff63aae33eea8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac838d0f0d149ad1e1581fd38a7922b04"><td class="memItemLeft" align="right" valign="top">ConstNColsBlockXpr&lt; N &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ac838d0f0d149ad1e1581fd38a7922b04">leftCols</a> () const</td></tr>
<tr class="separator:ac838d0f0d149ad1e1581fd38a7922b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5daf3de834937aeaa7ebc7f18cea746b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a5daf3de834937aeaa7ebc7f18cea746b">makeCompressed</a> ()</td></tr>
<tr class="separator:a5daf3de834937aeaa7ebc7f18cea746b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d4f5da8e2019251ad3ed876d363d5d1"><td class="memItemLeft" align="right" valign="top">ColsBlockXpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a2d4f5da8e2019251ad3ed876d363d5d1">middleCols</a> (Index startCol, Index numCols)</td></tr>
<tr class="separator:a2d4f5da8e2019251ad3ed876d363d5d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a428643f7e51813faa8c8ad89b8282235"><td class="memItemLeft" align="right" valign="top">ConstColsBlockXpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a428643f7e51813faa8c8ad89b8282235">middleCols</a> (Index startCol, Index numCols) const</td></tr>
<tr class="separator:a428643f7e51813faa8c8ad89b8282235"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab449491fb1077811187a0988a5c83e48"><td class="memItemLeft" align="right" valign="top">NColsBlockXpr&lt; N &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ab449491fb1077811187a0988a5c83e48">middleCols</a> (Index startCol)</td></tr>
<tr class="separator:ab449491fb1077811187a0988a5c83e48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a355072c91943dc9bdc4255a6538a5270"><td class="memItemLeft" align="right" valign="top">ConstNColsBlockXpr&lt; N &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a355072c91943dc9bdc4255a6538a5270">middleCols</a> (Index startCol) const</td></tr>
<tr class="separator:a355072c91943dc9bdc4255a6538a5270"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa87a7527cd042907d180cf0c36c5f48a"><td class="memItemLeft" align="right" valign="top">RowsBlockXpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#aa87a7527cd042907d180cf0c36c5f48a">middleRows</a> (Index startRow, Index numRows)</td></tr>
<tr class="separator:aa87a7527cd042907d180cf0c36c5f48a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dbf41bffa5d27df9ba17f81cdd64983"><td class="memItemLeft" align="right" valign="top">ConstRowsBlockXpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a5dbf41bffa5d27df9ba17f81cdd64983">middleRows</a> (Index startRow, Index numRows) const</td></tr>
<tr class="separator:a5dbf41bffa5d27df9ba17f81cdd64983"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64475892fb40e70a2b701fd900084cbc"><td class="memItemLeft" align="right" valign="top">NRowsBlockXpr&lt; N &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a64475892fb40e70a2b701fd900084cbc">middleRows</a> (Index startRow)</td></tr>
<tr class="separator:a64475892fb40e70a2b701fd900084cbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1750285d85ea6fbe5ee645eebbd749a"><td class="memItemLeft" align="right" valign="top">ConstNRowsBlockXpr&lt; N &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ad1750285d85ea6fbe5ee645eebbd749a">middleRows</a> (Index startRow) const</td></tr>
<tr class="separator:ad1750285d85ea6fbe5ee645eebbd749a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe29bfb5f2d88cf2a50ffb577ec6f0a4"><td class="memItemLeft" align="right" valign="top">Index&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#abe29bfb5f2d88cf2a50ffb577ec6f0a4">nonZeros</a> () const </td></tr>
<tr class="separator:abe29bfb5f2d88cf2a50ffb577ec6f0a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8ab11fb1ef0822aa61527f7ecd77b9d"><td class="memItemLeft" align="right" valign="top">const ScalarMultipleReturnType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ae8ab11fb1ef0822aa61527f7ecd77b9d">operator*</a> (const Scalar &amp;scalar) const</td></tr>
<tr class="separator:ae8ab11fb1ef0822aa61527f7ecd77b9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01a3dfc024abbb42150002facf498357"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseUnaryOp.html">CwiseUnaryOp</a><br class="typebreak"/>
&lt; internal::scalar_multiple2_op<br class="typebreak"/>
&lt; Scalar, std::complex&lt; Scalar &gt;<br class="typebreak"/>
 &gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a><br class="typebreak"/>
&lt; _Scalar, _Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a01a3dfc024abbb42150002facf498357">operator*</a> (const std::complex&lt; Scalar &gt; &amp;scalar) const</td></tr>
<tr class="separator:a01a3dfc024abbb42150002facf498357"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af64e012789113d938655fbb7c5f4538e"><td class="memItemLeft" align="right" valign="top">const <br class="typebreak"/>
SparseDenseProductReturnType<br class="typebreak"/>
&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;<br class="typebreak"/>
, OtherDerived &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#af64e012789113d938655fbb7c5f4538e">operator*</a> (const <a class="el" href="classEigen_1_1MatrixBase.html">MatrixBase</a>&lt; OtherDerived &gt; &amp;other) const</td></tr>
<tr class="separator:af64e012789113d938655fbb7c5f4538e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2e4176a905b94907cf32dfe70a4bd1b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseBinaryOp.html">CwiseBinaryOp</a><br class="typebreak"/>
&lt; internal::scalar_sum_op<br class="typebreak"/>
&lt; Scalar &gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a><br class="typebreak"/>
&lt; _Scalar, _Options, _Index &gt;<br class="typebreak"/>
, const OtherDerived &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#af2e4176a905b94907cf32dfe70a4bd1b">operator+</a> (const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;other) const</td></tr>
<tr class="separator:af2e4176a905b94907cf32dfe70a4bd1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2151bafac84e57f1ab0804ceb4095095"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseBinaryOp.html">CwiseBinaryOp</a><br class="typebreak"/>
&lt; internal::scalar_difference_op<br class="typebreak"/>
&lt; Scalar &gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a><br class="typebreak"/>
&lt; _Scalar, _Options, _Index &gt;<br class="typebreak"/>
, const OtherDerived &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a2151bafac84e57f1ab0804ceb4095095">operator-</a> (const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;other) const</td></tr>
<tr class="separator:a2151bafac84e57f1ab0804ceb4095095"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f53ae2f5586a75f1747d84822ae9581"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseUnaryOp.html">CwiseUnaryOp</a><br class="typebreak"/>
&lt; internal::scalar_opposite_op<br class="typebreak"/>
&lt; typename internal::traits<br class="typebreak"/>
&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;::Scalar &gt;<br class="typebreak"/>
, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a7f53ae2f5586a75f1747d84822ae9581">operator-</a> () const</td></tr>
<tr class="separator:a7f53ae2f5586a75f1747d84822ae9581"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae78e46db7ee3ba78d3cf59968d261f90"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseUnaryOp.html">CwiseUnaryOp</a><br class="typebreak"/>
&lt; internal::scalar_quotient1_op<br class="typebreak"/>
&lt; typename internal::traits<br class="typebreak"/>
&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;::Scalar &gt;<br class="typebreak"/>
, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ae78e46db7ee3ba78d3cf59968d261f90">operator/</a> (const Scalar &amp;scalar) const</td></tr>
<tr class="separator:ae78e46db7ee3ba78d3cf59968d261f90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cbbda70dd9a9a925d749e4258fecb5b"><td class="memItemLeft" align="right" valign="top">const Index *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a4cbbda70dd9a9a925d749e4258fecb5b">outerIndexPtr</a> () const </td></tr>
<tr class="separator:a4cbbda70dd9a9a925d749e4258fecb5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6555eda454250b6cc9cd42e1ba137a1"><td class="memItemLeft" align="right" valign="top">Index *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#aa6555eda454250b6cc9cd42e1ba137a1">outerIndexPtr</a> ()</td></tr>
<tr class="separator:aa6555eda454250b6cc9cd42e1ba137a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af080d3d3f82e0d4391f19af22a5eedb8"><td class="memItemLeft" align="right" valign="top">Index&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#af080d3d3f82e0d4391f19af22a5eedb8">outerSize</a> () const </td></tr>
<tr class="separator:af080d3d3f82e0d4391f19af22a5eedb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4592d803de19800d8fb3cb07a5036b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#aa4592d803de19800d8fb3cb07a5036b6">prune</a> (const Scalar &amp;reference, const RealScalar &amp;epsilon=<a class="el" href="structEigen_1_1NumTraits.html">NumTraits</a>&lt; RealScalar &gt;::dummy_precision())</td></tr>
<tr class="separator:aa4592d803de19800d8fb3cb07a5036b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b7d855d3304b9768e51eb8890f69da1"><td class="memTemplParams" colspan="2">template&lt;typename KeepFunc &gt; </td></tr>
<tr class="memitem:a2b7d855d3304b9768e51eb8890f69da1"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a2b7d855d3304b9768e51eb8890f69da1">prune</a> (const KeepFunc &amp;keep=KeepFunc())</td></tr>
<tr class="separator:a2b7d855d3304b9768e51eb8890f69da1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a1c87f8e48a66edc05859421048f8b0"><td class="memItemLeft" align="right" valign="top">RealReturnType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a4a1c87f8e48a66edc05859421048f8b0">real</a> () const</td></tr>
<tr class="separator:a4a1c87f8e48a66edc05859421048f8b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accfa15407b80807dab914b1844c725e5"><td class="memItemLeft" align="right" valign="top">NonConstRealReturnType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#accfa15407b80807dab914b1844c725e5">real</a> ()</td></tr>
<tr class="separator:accfa15407b80807dab914b1844c725e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dc6018e77e65abd29416138c6bd67d4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a5dc6018e77e65abd29416138c6bd67d4">reserve</a> (Index reserveSize)</td></tr>
<tr class="separator:a5dc6018e77e65abd29416138c6bd67d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2833db2d271c76ef91fa28f2487fb596"><td class="memTemplParams" colspan="2">template&lt;class SizesType &gt; </td></tr>
<tr class="memitem:a2833db2d271c76ef91fa28f2487fb596"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a2833db2d271c76ef91fa28f2487fb596">reserve</a> (const SizesType &amp;reserveSizes)</td></tr>
<tr class="separator:a2833db2d271c76ef91fa28f2487fb596"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac20f895ce9b73fa7447196855c0d0758"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#ac20f895ce9b73fa7447196855c0d0758">resize</a> (Index <a class="el" href="classEigen_1_1SparseMatrix.html#a5552abd83dbd03c85cea6d61fd8875a5">rows</a>, Index <a class="el" href="classEigen_1_1SparseMatrix.html#aaca1908a5ec508a25ff0a8bca803e5f3">cols</a>)</td></tr>
<tr class="separator:ac20f895ce9b73fa7447196855c0d0758"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af80f9e4e3708d7e3b0e1487ca90cf339"><td class="memItemLeft" align="right" valign="top">ColsBlockXpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#af80f9e4e3708d7e3b0e1487ca90cf339">rightCols</a> (Index n)</td></tr>
<tr class="separator:af80f9e4e3708d7e3b0e1487ca90cf339"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad16081d19c5482a30aa6be15769e8056"><td class="memItemLeft" align="right" valign="top">ConstColsBlockXpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ad16081d19c5482a30aa6be15769e8056">rightCols</a> (Index n) const</td></tr>
<tr class="separator:ad16081d19c5482a30aa6be15769e8056"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9afaaa2c2c27716dccdc58c50449103"><td class="memItemLeft" align="right" valign="top">NColsBlockXpr&lt; N &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#af9afaaa2c2c27716dccdc58c50449103">rightCols</a> ()</td></tr>
<tr class="separator:af9afaaa2c2c27716dccdc58c50449103"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4707ce78c96ddd7ca15c4e6f0a2a207"><td class="memItemLeft" align="right" valign="top">ConstNColsBlockXpr&lt; N &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ab4707ce78c96ddd7ca15c4e6f0a2a207">rightCols</a> () const</td></tr>
<tr class="separator:ab4707ce78c96ddd7ca15c4e6f0a2a207"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8716d44f51321072ee5c88665c28813"><td class="memItemLeft" align="right" valign="top">RowXpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#aa8716d44f51321072ee5c88665c28813">row</a> (Index i)</td></tr>
<tr class="separator:aa8716d44f51321072ee5c88665c28813"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad62dcaf648cca25e9318da34c9840799"><td class="memItemLeft" align="right" valign="top">ConstRowXpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ad62dcaf648cca25e9318da34c9840799">row</a> (Index i) const</td></tr>
<tr class="separator:ad62dcaf648cca25e9318da34c9840799"><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_1SparseMatrix.html#a5552abd83dbd03c85cea6d61fd8875a5">rows</a> () const </td></tr>
<tr class="separator:a5552abd83dbd03c85cea6d61fd8875a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a182e8a52e9c6761ded3813f751ab03"><td class="memItemLeft" align="right" valign="top">SegmentReturnType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a3a182e8a52e9c6761ded3813f751ab03">segment</a> (Index start, Index vecSize)</td></tr>
<tr class="separator:a3a182e8a52e9c6761ded3813f751ab03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07ec0ea2867c2919e647b2c061a8f007"><td class="memItemLeft" align="right" valign="top">ConstSegmentReturnType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a07ec0ea2867c2919e647b2c061a8f007">segment</a> (Index start, Index vecSize) const</td></tr>
<tr class="separator:a07ec0ea2867c2919e647b2c061a8f007"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a712d8a3514a4454cecba9fc0910588e2"><td class="memItemLeft" align="right" valign="top">FixedSegmentReturnType&lt; Size &gt;<br class="typebreak"/>
::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a712d8a3514a4454cecba9fc0910588e2">segment</a> (Index start)</td></tr>
<tr class="separator:a712d8a3514a4454cecba9fc0910588e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe083525d1dae2903c972133bd9be062"><td class="memItemLeft" align="right" valign="top">ConstFixedSegmentReturnType<br class="typebreak"/>
&lt; Size &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#abe083525d1dae2903c972133bd9be062">segment</a> (Index start) const</td></tr>
<tr class="separator:abe083525d1dae2903c972133bd9be062"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bcf3187e372ff7cea1e8f61152ae49b"><td class="memTemplParams" colspan="2">template&lt;typename InputIterators &gt; </td></tr>
<tr class="memitem:a5bcf3187e372ff7cea1e8f61152ae49b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a5bcf3187e372ff7cea1e8f61152ae49b">setFromTriplets</a> (const InputIterators &amp;begin, const InputIterators &amp;end)</td></tr>
<tr class="separator:a5bcf3187e372ff7cea1e8f61152ae49b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a382e6ad7e6721b121e510959e1011be3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a382e6ad7e6721b121e510959e1011be3">setIdentity</a> ()</td></tr>
<tr class="separator:a382e6ad7e6721b121e510959e1011be3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47affd1a10b589811fc4828c1a2e0c6d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a47affd1a10b589811fc4828c1a2e0c6d">setZero</a> ()</td></tr>
<tr class="separator:a47affd1a10b589811fc4828c1a2e0c6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76f5bc8a03ec105ab4be1f2b91b7b5d5"><td class="memItemLeft" align="right" valign="top">Index&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a76f5bc8a03ec105ab4be1f2b91b7b5d5">size</a> () const</td></tr>
<tr class="separator:a76f5bc8a03ec105ab4be1f2b91b7b5d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79446a803c1bed8b17c8ac937d07be39"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a79446a803c1bed8b17c8ac937d07be39">SparseMatrix</a> ()</td></tr>
<tr class="separator:a79446a803c1bed8b17c8ac937d07be39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a400288628e3257a6216b04ba4b2762c7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a400288628e3257a6216b04ba4b2762c7">SparseMatrix</a> (Index <a class="el" href="classEigen_1_1SparseMatrix.html#a5552abd83dbd03c85cea6d61fd8875a5">rows</a>, Index <a class="el" href="classEigen_1_1SparseMatrix.html#aaca1908a5ec508a25ff0a8bca803e5f3">cols</a>)</td></tr>
<tr class="separator:a400288628e3257a6216b04ba4b2762c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab42390876ea7ef3fe4845b936c281c99"><td class="memTemplParams" colspan="2">template&lt;typename OtherDerived &gt; </td></tr>
<tr class="memitem:ab42390876ea7ef3fe4845b936c281c99"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#ab42390876ea7ef3fe4845b936c281c99">SparseMatrix</a> (const <a class="el" href="classEigen_1_1SparseMatrixBase.html">SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;other)</td></tr>
<tr class="separator:ab42390876ea7ef3fe4845b936c281c99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb330ac5ce39e4e90e129a7dc2861f98"><td class="memTemplParams" colspan="2">template&lt;typename OtherDerived , unsigned int UpLo&gt; </td></tr>
<tr class="memitem:adb330ac5ce39e4e90e129a7dc2861f98"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#adb330ac5ce39e4e90e129a7dc2861f98">SparseMatrix</a> (const <a class="el" href="classEigen_1_1SparseSelfAdjointView.html">SparseSelfAdjointView</a>&lt; OtherDerived, UpLo &gt; &amp;other)</td></tr>
<tr class="separator:adb330ac5ce39e4e90e129a7dc2861f98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a631add606d943913aa2dbda84c0d4d20"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a631add606d943913aa2dbda84c0d4d20">SparseMatrix</a> (const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a> &amp;other)</td></tr>
<tr class="separator:a631add606d943913aa2dbda84c0d4d20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace8ac898d02532cafa313c6351a74468"><td class="memTemplParams" colspan="2"><a class="anchor" id="ace8ac898d02532cafa313c6351a74468"></a>
template&lt;typename OtherDerived &gt; </td></tr>
<tr class="memitem:ace8ac898d02532cafa313c6351a74468"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#ace8ac898d02532cafa313c6351a74468">SparseMatrix</a> (const ReturnByValue&lt; OtherDerived &gt; &amp;other)</td></tr>
<tr class="memdesc:ace8ac898d02532cafa313c6351a74468"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor with in-place evaluation. <br/></td></tr>
<tr class="separator:ace8ac898d02532cafa313c6351a74468"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a396133d952d4698941fe010c7ec6f72b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a396133d952d4698941fe010c7ec6f72b">swap</a> (<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a> &amp;other)</td></tr>
<tr class="separator:a396133d952d4698941fe010c7ec6f72b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a806cbb7e3c7357c2c5fbb1a7db4af16d"><td class="memItemLeft" align="right" valign="top">SegmentReturnType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a806cbb7e3c7357c2c5fbb1a7db4af16d">tail</a> (Index vecSize)</td></tr>
<tr class="separator:a806cbb7e3c7357c2c5fbb1a7db4af16d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d0ab1845c547544055d2bc2c3e80124"><td class="memItemLeft" align="right" valign="top">ConstSegmentReturnType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a1d0ab1845c547544055d2bc2c3e80124">tail</a> (Index vecSize) const</td></tr>
<tr class="separator:a1d0ab1845c547544055d2bc2c3e80124"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9da81041f38048642ca460fc6236da79"><td class="memItemLeft" align="right" valign="top">FixedSegmentReturnType&lt; Size &gt;<br class="typebreak"/>
::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a9da81041f38048642ca460fc6236da79">tail</a> ()</td></tr>
<tr class="separator:a9da81041f38048642ca460fc6236da79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b49bb52c71b887195a1d6be95cecf8d"><td class="memItemLeft" align="right" valign="top">ConstFixedSegmentReturnType<br class="typebreak"/>
&lt; Size &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a4b49bb52c71b887195a1d6be95cecf8d">tail</a> () const</td></tr>
<tr class="separator:a4b49bb52c71b887195a1d6be95cecf8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f5fc5fe9d3fb70e62d4a9b1795704a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Block.html">Block</a>&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a6f5fc5fe9d3fb70e62d4a9b1795704a8">topLeftCorner</a> (Index cRows, Index cCols)</td></tr>
<tr class="separator:a6f5fc5fe9d3fb70e62d4a9b1795704a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af51f8dd1a464c0fe48182f7bab7ffab6"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Block.html">Block</a>&lt; const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#af51f8dd1a464c0fe48182f7bab7ffab6">topLeftCorner</a> (Index cRows, Index cCols) const</td></tr>
<tr class="separator:af51f8dd1a464c0fe48182f7bab7ffab6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae06d0a5c4008014fb717866aec8d30c7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Block.html">Block</a>&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, CRows, <br class="typebreak"/>
CCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ae06d0a5c4008014fb717866aec8d30c7">topLeftCorner</a> ()</td></tr>
<tr class="separator:ae06d0a5c4008014fb717866aec8d30c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29c05f280e61cf18f5865b0065cc769a"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Block.html">Block</a>&lt; const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, CRows, <br class="typebreak"/>
CCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a29c05f280e61cf18f5865b0065cc769a">topLeftCorner</a> () const</td></tr>
<tr class="separator:a29c05f280e61cf18f5865b0065cc769a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2942bfb77ac330fdd91d3f063686a63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Block.html">Block</a>&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, CRows, <br class="typebreak"/>
CCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ae2942bfb77ac330fdd91d3f063686a63">topLeftCorner</a> (Index cRows, Index cCols)</td></tr>
<tr class="separator:ae2942bfb77ac330fdd91d3f063686a63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b549d0127afc14bab07e4f440c4aeec"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Block.html">Block</a>&lt; const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, CRows, <br class="typebreak"/>
CCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a0b549d0127afc14bab07e4f440c4aeec">topLeftCorner</a> (Index cRows, Index cCols) const</td></tr>
<tr class="separator:a0b549d0127afc14bab07e4f440c4aeec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a318006038c9becc5f9af003b7c77ea18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Block.html">Block</a>&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a318006038c9becc5f9af003b7c77ea18">topRightCorner</a> (Index cRows, Index cCols)</td></tr>
<tr class="separator:a318006038c9becc5f9af003b7c77ea18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cd6c56ce974c092a0aa0f11ca1853cb"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Block.html">Block</a>&lt; const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a8cd6c56ce974c092a0aa0f11ca1853cb">topRightCorner</a> (Index cRows, Index cCols) const</td></tr>
<tr class="separator:a8cd6c56ce974c092a0aa0f11ca1853cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0088b2c1ec4dbd677dd19f589777945"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Block.html">Block</a>&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, CRows, <br class="typebreak"/>
CCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ad0088b2c1ec4dbd677dd19f589777945">topRightCorner</a> ()</td></tr>
<tr class="separator:ad0088b2c1ec4dbd677dd19f589777945"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbe4b3135cc0afa4eee8d9db60c637c1"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Block.html">Block</a>&lt; const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, CRows, <br class="typebreak"/>
CCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#abbe4b3135cc0afa4eee8d9db60c637c1">topRightCorner</a> () const</td></tr>
<tr class="separator:abbe4b3135cc0afa4eee8d9db60c637c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bd671d8eea4781a3808d59718ba8b42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Block.html">Block</a>&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, CRows, <br class="typebreak"/>
CCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a1bd671d8eea4781a3808d59718ba8b42">topRightCorner</a> (Index cRows, Index cCols)</td></tr>
<tr class="separator:a1bd671d8eea4781a3808d59718ba8b42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8df165d3b3bedfe1386f20f3c2126973"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1Block.html">Block</a>&lt; const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, CRows, <br class="typebreak"/>
CCols &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a8df165d3b3bedfe1386f20f3c2126973">topRightCorner</a> (Index cRows, Index cCols) const</td></tr>
<tr class="separator:a8df165d3b3bedfe1386f20f3c2126973"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdfced3e157f74b3bc68892aad178424"><td class="memItemLeft" align="right" valign="top">RowsBlockXpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#afdfced3e157f74b3bc68892aad178424">topRows</a> (Index n)</td></tr>
<tr class="separator:afdfced3e157f74b3bc68892aad178424"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac77be6c2cf44abbb6f80496cbe14f2af"><td class="memItemLeft" align="right" valign="top">ConstRowsBlockXpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#ac77be6c2cf44abbb6f80496cbe14f2af">topRows</a> (Index n) const</td></tr>
<tr class="separator:ac77be6c2cf44abbb6f80496cbe14f2af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77933058fb3cd3319a86dd0ac4c88d38"><td class="memItemLeft" align="right" valign="top">NRowsBlockXpr&lt; N &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a77933058fb3cd3319a86dd0ac4c88d38">topRows</a> ()</td></tr>
<tr class="separator:a77933058fb3cd3319a86dd0ac4c88d38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d7327699c5128262f29dc66efac6484"><td class="memItemLeft" align="right" valign="top">ConstNRowsBlockXpr&lt; N &gt;::Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a4d7327699c5128262f29dc66efac6484">topRows</a> () const</td></tr>
<tr class="separator:a4d7327699c5128262f29dc66efac6484"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21092ba41e46066d1f128b38cdbdbbed"><td class="memItemLeft" align="right" valign="top">SparseSymmetricPermutationProduct<br class="typebreak"/>
&lt; <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt;, <a class="el" href="group__enums.html#ggab59c1bec446b10af208f977a871d910bae70afef0d3ff7aca74e17e85ff6c9f2e">Upper</a>|<a class="el" href="group__enums.html#ggab59c1bec446b10af208f977a871d910baf886b397626076218462d53d50eb96bc">Lower</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a21092ba41e46066d1f128b38cdbdbbed">twistedBy</a> (const <a class="el" href="classEigen_1_1PermutationMatrix.html">PermutationMatrix</a>&lt; <a class="el" href="namespaceEigen.html#adc9da5be31bdce40c25a92c27999c0e3">Dynamic</a>, <a class="el" href="namespaceEigen.html#adc9da5be31bdce40c25a92c27999c0e3">Dynamic</a>, Index &gt; &amp;perm) const</td></tr>
<tr class="separator:a21092ba41e46066d1f128b38cdbdbbed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23fc4bf97168dee2516f85edcfd4cfe7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseUnaryOp.html">CwiseUnaryOp</a><br class="typebreak"/>
&lt; CustomUnaryOp, const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#a23fc4bf97168dee2516f85edcfd4cfe7">unaryExpr</a> (const CustomUnaryOp &amp;func=CustomUnaryOp()) const</td></tr>
<tr class="memdesc:a23fc4bf97168dee2516f85edcfd4cfe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply a unary operator coefficient-wise.  <a href="#a23fc4bf97168dee2516f85edcfd4cfe7">More...</a><br/></td></tr>
<tr class="separator:a23fc4bf97168dee2516f85edcfd4cfe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba9ae3923f6caa962ef3418d6872c369"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1CwiseUnaryView.html">CwiseUnaryView</a><br class="typebreak"/>
&lt; CustomViewOp, const <br class="typebreak"/>
<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrixBase.html#aba9ae3923f6caa962ef3418d6872c369">unaryViewExpr</a> (const CustomViewOp &amp;func=CustomViewOp()) const</td></tr>
<tr class="separator:aba9ae3923f6caa962ef3418d6872c369"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ef2ab1570917494405e20d95b606684"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a5ef2ab1570917494405e20d95b606684">uncompress</a> ()</td></tr>
<tr class="separator:a5ef2ab1570917494405e20d95b606684"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa44fe8c6de1533193f303ab7c4d43692"><td class="memItemLeft" align="right" valign="top">const Scalar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#aa44fe8c6de1533193f303ab7c4d43692">valuePtr</a> () const </td></tr>
<tr class="separator:aa44fe8c6de1533193f303ab7c4d43692"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68fdb1898144415299720626410f021d"><td class="memItemLeft" align="right" valign="top">Scalar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#a68fdb1898144415299720626410f021d">valuePtr</a> ()</td></tr>
<tr class="separator:a68fdb1898144415299720626410f021d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba0104120c59e6c59af1932a8eaaa10e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseMatrix.html#aba0104120c59e6c59af1932a8eaaa10e">~SparseMatrix</a> ()</td></tr>
<tr class="separator:aba0104120c59e6c59af1932a8eaaa10e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a79446a803c1bed8b17c8ac937d07be39"></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="classEigen_1_1SparseMatrix.html">SparseMatrix</a> </td>
          <td>(</td>
          <td class="paramname"></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>Default constructor yielding an empty <code>0</code> <code>x</code> <code>0</code> matrix </p>

</div>
</div>
<a class="anchor" id="a400288628e3257a6216b04ba4b2762c7"></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="classEigen_1_1SparseMatrix.html">SparseMatrix</a> </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Constructs a <em>rows</em> <code>x</code> <em>cols</em> empty matrix </p>

</div>
</div>
<a class="anchor" id="ab42390876ea7ef3fe4845b936c281c99"></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="classEigen_1_1SparseMatrix.html">SparseMatrix</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1SparseMatrixBase.html">SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</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>Constructs a sparse matrix from the sparse expression <em>other</em> </p>

</div>
</div>
<a class="anchor" id="adb330ac5ce39e4e90e129a7dc2861f98"></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="classEigen_1_1SparseMatrix.html">SparseMatrix</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1SparseSelfAdjointView.html">SparseSelfAdjointView</a>&lt; OtherDerived, UpLo &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</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>Constructs a sparse matrix from the sparse selfadjoint view <em>other</em> </p>

</div>
</div>
<a class="anchor" id="a631add606d943913aa2dbda84c0d4d20"></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="classEigen_1_1SparseMatrix.html">SparseMatrix</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</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>Copy constructor (it performs a deep copy) </p>

</div>
</div>
<a class="anchor" id="aba0104120c59e6c59af1932a8eaaa10e"></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="classEigen_1_1SparseMatrix.html">SparseMatrix</a> </td>
          <td>(</td>
          <td class="paramname"></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>Destructor </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ae762210a1ab89bed1673edc09a6ec8b7"></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_1CwiseBinaryOp.html">CwiseBinaryOp</a>&lt;CustomBinaryOp, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , const OtherDerived&gt; binaryExpr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const CustomBinaryOp &amp;&#160;</td>
          <td class="paramname"><em>func</em> = <code>CustomBinaryOp()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of a custom coefficient-wise operator <em>func</em> of *this and <em>other</em> </dd></dl>
<p>The template parameter <em>CustomBinaryOp</em> is the type of the functor of the custom operator (see class CwiseBinaryOp for an example)</p>
<p>Here is an example illustrating the use of custom functors: </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;Eigen/Core&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><span class="keyword">using namespace </span>Eigen;</div>
<div class="line"><span class="keyword">using namespace </span>std;</div>
<div class="line"></div>
<div class="line"><span class="comment">// define a custom template binary functor</span></div>
<div class="line"><span class="keyword">template</span>&lt;<span class="keyword">typename</span> Scalar&gt; <span class="keyword">struct </span>MakeComplexOp {</div>
<div class="line">  EIGEN_EMPTY_STRUCT_CTOR(MakeComplexOp)</div>
<div class="line">  typedef complex&lt;Scalar&gt; result_type;</div>
<div class="line">  complex&lt;Scalar&gt; operator()(const Scalar&amp; a, const Scalar&amp; b)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> complex&lt;Scalar&gt;(a,b); }</div>
<div class="line">};</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span>, <span class="keywordtype">char</span>**)</div>
<div class="line">{</div>
<div class="line">  <a class="code" href="classEigen_1_1Matrix.html">Matrix4d</a> m1 = Matrix4d::Random(), m2 = Matrix4d::Random();</div>
<div class="line">  cout &lt;&lt; m1.<a class="code" href="classEigen_1_1MatrixBase.html#ac00eb88e0d7599b8a2881715d3e4b35f">binaryExpr</a>(m2, MakeComplexOp&lt;double&gt;()) &lt;&lt; endl;</div>
<div class="line">  <span class="keywordflow">return</span> 0;</div>
<div class="line">}</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">   (0.68,0.271)  (0.823,-0.967) (-0.444,-0.687)   (-0.27,0.998)
 (-0.211,0.435) (-0.605,-0.514)  (0.108,-0.198) (0.0268,-0.563)
 (0.566,-0.717)  (-0.33,-0.726) (-0.0452,-0.74)  (0.904,0.0259)
  (0.597,0.214)   (0.536,0.608)  (0.258,-0.782)   (0.832,0.678)
</pre><dl class="section see"><dt>See Also</dt><dd>class CwiseBinaryOp, <a class="el" href="classEigen_1_1SparseMatrixBase.html#af2e4176a905b94907cf32dfe70a4bd1b">operator+()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a7f53ae2f5586a75f1747d84822ae9581">operator-()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a2664016e0a9629a181b822539485cfe3">cwiseProduct()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a1dbaa2fc7b809720407130f48dfacf8f"></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="classEigen_1_1Block.html">Block</a>&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; block </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>blockRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>blockCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a dynamic-size expression of a block in *this.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">startRow</td><td>the first row in the block </td></tr>
    <tr><td class="paramname">startCol</td><td>the first column in the block </td></tr>
    <tr><td class="paramname">blockRows</td><td>the number of rows in the block </td></tr>
    <tr><td class="paramname">blockCols</td><td>the number of columns in the block</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga43fa1a4828b3632224b0a959151ec232">Matrix4i</a> m = Matrix4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the matrix m:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is m.block(1, 1, 2, 2):&quot;</span> &lt;&lt; endl &lt;&lt; m.block(1, 1, 2, 2) &lt;&lt; endl;</div>
<div class="line">m.block(1, 1, 2, 2).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the matrix m is:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the matrix m:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is m.block(1, 1, 2, 2):
-6 1
-3 0
Now the matrix m is:
 7  9 -5 -3
-2  0  0  0
 6  0  0  9
 6  6  3  9
</pre><dl class="section note"><dt>Note</dt><dd>Even though the returned expression has dynamic size, in the case when it is applied to a fixed-size matrix, it inherits a fixed maximal size, which means that evaluating it does not cause a dynamic memory allocation.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a3e433315822db2811a65e88c70672743">block(Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ace64451d903a49f7627cb3b87257c801"></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_1Block.html">Block</a>&lt;const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; block </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>blockRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>blockCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a>. </p>

</div>
</div>
<a class="anchor" id="a3e433315822db2811a65e88c70672743"></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="classEigen_1_1Block.html">Block</a>&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , BlockRows, BlockCols&gt; block </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startCol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a fixed-size expression of a block in *this.</dd></dl>
<p>The template parameters <em>BlockRows</em> and <em>BlockCols</em> are the number of rows and columns in the block.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">startRow</td><td>the first row in the block </td></tr>
    <tr><td class="paramname">startCol</td><td>the first column in the block</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga43fa1a4828b3632224b0a959151ec232">Matrix4i</a> m = Matrix4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the matrix m:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is m.block&lt;2,2&gt;(1,1):&quot;</span> &lt;&lt; endl &lt;&lt; m.block&lt;2,2&gt;(1,1) &lt;&lt; endl;</div>
<div class="line">m.block&lt;2,2&gt;(1,1).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the matrix m is:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the matrix m:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is m.block&lt;2,2&gt;(1,1):
-6 1
-3 0
Now the matrix m is:
 7  9 -5 -3
-2  0  0  0
 6  0  0  9
 6  6  3  9
</pre><dl class="section note"><dt>Note</dt><dd>since block is a templated member, the keyword template has to be used if the matrix type is also a template parameter:<div class="fragment"><div class="line">m.template block&lt;3,3&gt;(1,1); </div>
</div><!-- fragment --></dd></dl>
<dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a40f9466c400c6dc5779380124e37bf7f"></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_1Block.html">Block</a>&lt;const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , BlockRows, BlockCols&gt; block </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startCol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a3e433315822db2811a65e88c70672743">block&lt;&gt;(Index, Index)</a>. </p>

</div>
</div>
<a class="anchor" id="a9d35d793f33794df591242d942f98d65"></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="classEigen_1_1Block.html">Block</a>&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , BlockRows, BlockCols&gt; block </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>blockRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>blockCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of a block in *this.</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">BlockRows</td><td>number of rows in block as specified at compile time </td></tr>
    <tr><td class="paramname">BlockCols</td><td>number of columns in block as specified at compile time </td></tr>
  </table>
  </dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">startRow</td><td>the first row in the block </td></tr>
    <tr><td class="paramname">startCol</td><td>the first column in the block </td></tr>
    <tr><td class="paramname">blockRows</td><td>number of rows in block as specified at run time </td></tr>
    <tr><td class="paramname">blockCols</td><td>number of columns in block as specified at run time</td></tr>
  </table>
  </dd>
</dl>
<p>This function is mainly useful for blocks where the number of rows is specified at compile time and the number of columns is specified at run time, or vice versa. The compile-time and run-time information should not contradict. In other words, <em>blockRows</em> should equal <em>BlockRows</em> unless <em>BlockRows</em> is <em>Dynamic</em>, and the same for the number of columns.</p>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga43fa1a4828b3632224b0a959151ec232">Matrix4i</a> m = Matrix4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the matrix m:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the block:&quot;</span> &lt;&lt; endl &lt;&lt; m.block&lt;2, <a class="code" href="namespaceEigen.html#adc9da5be31bdce40c25a92c27999c0e3">Dynamic</a>&gt;(1, 1, 2, 3) &lt;&lt; endl;</div>
<div class="line">m.block&lt;2, <a class="code" href="namespaceEigen.html#adc9da5be31bdce40c25a92c27999c0e3">Dynamic</a>&gt;(1, 1, 2, 3).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the matrix m is:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Matrix4i m = Matrix4i::Random();
cout &lt;&lt; "Here is the matrix m:" &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;
cout &lt;&lt; "Here is the block:" &lt;&lt; endl &lt;&lt; m.block&lt;2, Dynamic&gt;(1, 1, 2, 3) &lt;&lt; endl;
m.block&lt;2, Dynamic&gt;(1, 1, 2, 3).setZero();
cout &lt;&lt; "Now the matrix m is:" &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a13fc71e26059f25c5a0de1ebbdfe3375"></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_1Block.html">Block</a>&lt;const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , BlockRows, BlockCols&gt; block </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>blockRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>blockCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block&lt;&gt;(Index, Index, Index, Index)</a>. </p>

</div>
</div>
<a class="anchor" id="a641cf096441faf5ab490c4973c719c7a"></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="classEigen_1_1Block.html">Block</a>&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; bottomLeftCorner </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a dynamic-size expression of a bottom-left corner of *this.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cRows</td><td>the number of rows in the corner </td></tr>
    <tr><td class="paramname">cCols</td><td>the number of columns in the corner</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga43fa1a4828b3632224b0a959151ec232">Matrix4i</a> m = Matrix4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the matrix m:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is m.bottomLeftCorner(2, 2):&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; m.bottomLeftCorner(2, 2) &lt;&lt; endl;</div>
<div class="line">m.bottomLeftCorner(2, 2).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the matrix m is:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the matrix m:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is m.bottomLeftCorner(2, 2):
 6 -3
 6  6
Now the matrix m is:
 7  9 -5 -3
-2 -6  1  0
 0  0  0  9
 0  0  3  9
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="abd00a289a3033ba0802cb55c23910874"></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_1Block.html">Block</a>&lt;const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; bottomLeftCorner </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a641cf096441faf5ab490c4973c719c7a">bottomLeftCorner(Index, Index)</a>. </p>

</div>
</div>
<a class="anchor" id="a243a44832e36d2bf5d0d8d17d1505900"></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="classEigen_1_1Block.html">Block</a>&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , CRows, CCols&gt; bottomLeftCorner </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of a fixed-size bottom-left corner of *this.</dd></dl>
<p>The template parameters CRows and CCols are the number of rows and columns in the corner.</p>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga43fa1a4828b3632224b0a959151ec232">Matrix4i</a> m = Matrix4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the matrix m:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is m.bottomLeftCorner&lt;2,2&gt;():&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; m.bottomLeftCorner&lt;2,2&gt;() &lt;&lt; endl;</div>
<div class="line">m.bottomLeftCorner&lt;2,2&gt;().setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the matrix m is:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the matrix m:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is m.bottomLeftCorner&lt;2,2&gt;():
 6 -3
 6  6
Now the matrix m is:
 7  9 -5 -3
-2 -6  1  0
 0  0  0  9
 0  0  3  9
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a7fa849b36665dcca6316f05a634e6540"></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_1Block.html">Block</a>&lt;const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , CRows, CCols&gt; bottomLeftCorner </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a243a44832e36d2bf5d0d8d17d1505900">bottomLeftCorner&lt;int, int&gt;()</a>. </p>

</div>
</div>
<a class="anchor" id="a7a305fa6d02685ea21c9050617d837d6"></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="classEigen_1_1Block.html">Block</a>&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , CRows, CCols&gt; bottomLeftCorner </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of a bottom-left corner of *this.</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">CRows</td><td>number of rows in corner as specified at compile time </td></tr>
    <tr><td class="paramname">CCols</td><td>number of columns in corner as specified at compile time </td></tr>
  </table>
  </dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cRows</td><td>number of rows in corner as specified at run time </td></tr>
    <tr><td class="paramname">cCols</td><td>number of columns in corner as specified at run time</td></tr>
  </table>
  </dd>
</dl>
<p>This function is mainly useful for corners where the number of rows is specified at compile time and the number of columns is specified at run time, or vice versa. The compile-time and run-time information should not contradict. In other words, <em>cRows</em> should equal <em>CRows</em> unless <em>CRows</em> is <em>Dynamic</em>, and the same for the number of columns.</p>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga43fa1a4828b3632224b0a959151ec232">Matrix4i</a> m = Matrix4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the matrix m:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is m.bottomLeftCorner&lt;2,Dynamic&gt;(2,2):&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; m.bottomLeftCorner&lt;2,<a class="code" href="namespaceEigen.html#adc9da5be31bdce40c25a92c27999c0e3">Dynamic</a>&gt;(2,2) &lt;&lt; endl;</div>
<div class="line">m.bottomLeftCorner&lt;2,<a class="code" href="namespaceEigen.html#adc9da5be31bdce40c25a92c27999c0e3">Dynamic</a>&gt;(2,2).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the matrix m is:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the matrix m:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is m.bottomLeftCorner&lt;2,Dynamic&gt;(2,2):
 6 -3
 6  6
Now the matrix m is:
 7  9 -5 -3
-2 -6  1  0
 0  0  0  9
 0  0  3  9
</pre><dl class="section see"><dt>See Also</dt><dd>class Block </dd></dl>

</div>
</div>
<a class="anchor" id="a878151caf2ff25ebbc76186485f81207"></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_1Block.html">Block</a>&lt;const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , CRows, CCols&gt; bottomLeftCorner </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a641cf096441faf5ab490c4973c719c7a">bottomLeftCorner&lt;int, int&gt;(Index, Index)</a>. </p>

</div>
</div>
<a class="anchor" id="a2b9618f3c9eb4d4c9813ae8f6a8e70c5"></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="classEigen_1_1Block.html">Block</a>&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; bottomRightCorner </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a dynamic-size expression of a bottom-right corner of *this.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cRows</td><td>the number of rows in the corner </td></tr>
    <tr><td class="paramname">cCols</td><td>the number of columns in the corner</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga43fa1a4828b3632224b0a959151ec232">Matrix4i</a> m = Matrix4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the matrix m:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is m.bottomRightCorner(2, 2):&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; m.bottomRightCorner(2, 2) &lt;&lt; endl;</div>
<div class="line">m.bottomRightCorner(2, 2).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the matrix m is:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the matrix m:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is m.bottomRightCorner(2, 2):
0 9
3 9
Now the matrix m is:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  0
 6  6  0  0
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a26cfa9c974065fc714cdaf7a5fdbe1ed"></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_1Block.html">Block</a>&lt;const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; bottomRightCorner </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a2b9618f3c9eb4d4c9813ae8f6a8e70c5">bottomRightCorner(Index, Index)</a>. </p>

</div>
</div>
<a class="anchor" id="a6563b16b601d9fd66340ab04d101f9d1"></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="classEigen_1_1Block.html">Block</a>&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , CRows, CCols&gt; bottomRightCorner </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of a fixed-size bottom-right corner of *this.</dd></dl>
<p>The template parameters CRows and CCols are the number of rows and columns in the corner.</p>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga43fa1a4828b3632224b0a959151ec232">Matrix4i</a> m = Matrix4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the matrix m:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is m.bottomRightCorner&lt;2,2&gt;():&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; m.bottomRightCorner&lt;2,2&gt;() &lt;&lt; endl;</div>
<div class="line">m.bottomRightCorner&lt;2,2&gt;().setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the matrix m is:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the matrix m:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is m.bottomRightCorner&lt;2,2&gt;():
0 9
3 9
Now the matrix m is:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  0
 6  6  0  0
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aa0b8870679a8b100f24a8eecf1ac3477"></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_1Block.html">Block</a>&lt;const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , CRows, CCols&gt; bottomRightCorner </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a6563b16b601d9fd66340ab04d101f9d1">bottomRightCorner&lt;int, int&gt;()</a>. </p>

</div>
</div>
<a class="anchor" id="a13b796ff9732af7ec072455513480bd4"></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="classEigen_1_1Block.html">Block</a>&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , CRows, CCols&gt; bottomRightCorner </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of a bottom-right corner of *this.</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">CRows</td><td>number of rows in corner as specified at compile time </td></tr>
    <tr><td class="paramname">CCols</td><td>number of columns in corner as specified at compile time </td></tr>
  </table>
  </dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cRows</td><td>number of rows in corner as specified at run time </td></tr>
    <tr><td class="paramname">cCols</td><td>number of columns in corner as specified at run time</td></tr>
  </table>
  </dd>
</dl>
<p>This function is mainly useful for corners where the number of rows is specified at compile time and the number of columns is specified at run time, or vice versa. The compile-time and run-time information should not contradict. In other words, <em>cRows</em> should equal <em>CRows</em> unless <em>CRows</em> is <em>Dynamic</em>, and the same for the number of columns.</p>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga43fa1a4828b3632224b0a959151ec232">Matrix4i</a> m = Matrix4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the matrix m:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is m.bottomRightCorner&lt;2,Dynamic&gt;(2,2):&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; m.bottomRightCorner&lt;2,<a class="code" href="namespaceEigen.html#adc9da5be31bdce40c25a92c27999c0e3">Dynamic</a>&gt;(2,2) &lt;&lt; endl;</div>
<div class="line">m.bottomRightCorner&lt;2,<a class="code" href="namespaceEigen.html#adc9da5be31bdce40c25a92c27999c0e3">Dynamic</a>&gt;(2,2).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the matrix m is:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the matrix m:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is m.bottomRightCorner&lt;2,Dynamic&gt;(2,2):
0 9
3 9
Now the matrix m is:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  0
 6  6  0  0
</pre><dl class="section see"><dt>See Also</dt><dd>class Block </dd></dl>

</div>
</div>
<a class="anchor" id="a10f1d3781d0dbcf80b79087c5acad5f5"></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_1Block.html">Block</a>&lt;const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , CRows, CCols&gt; bottomRightCorner </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a2b9618f3c9eb4d4c9813ae8f6a8e70c5">bottomRightCorner&lt;int, int&gt;(Index, Index)</a>. </p>

</div>
</div>
<a class="anchor" id="afe61d23353a75d7034f7b44ff02aaea1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">RowsBlockXpr bottomRows </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a block consisting of the bottom rows of *this.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>the number of rows in the block</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line">Array44i a = Array44i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the array a:&quot;</span> &lt;&lt; endl &lt;&lt; a &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is a.bottomRows(2):&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; a.bottomRows(2) &lt;&lt; endl;</div>
<div class="line">a.bottomRows(2).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the array a is:&quot;</span> &lt;&lt; endl &lt;&lt; a &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the array a:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is a.bottomRows(2):
 6 -3  0  9
 6  6  3  9
Now the array a is:
 7  9 -5 -3
-2 -6  1  0
 0  0  0  0
 0  0  0  0
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ae5959de43ccb180fbd4ad44002441a52"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstRowsBlockXpr bottomRows </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#afe61d23353a75d7034f7b44ff02aaea1">bottomRows(Index)</a>. </p>

</div>
</div>
<a class="anchor" id="a4809c823f0179782a50409c5444b55a1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">NRowsBlockXpr&lt;N&gt;::Type bottomRows </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a block consisting of the bottom rows of *this.</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">N</td><td>the number of rows in the block</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line">Array44i a = Array44i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the array a:&quot;</span> &lt;&lt; endl &lt;&lt; a &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is a.bottomRows&lt;2&gt;():&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; a.bottomRows&lt;2&gt;() &lt;&lt; endl;</div>
<div class="line">a.bottomRows&lt;2&gt;().setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the array a is:&quot;</span> &lt;&lt; endl &lt;&lt; a &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the array a:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is a.bottomRows&lt;2&gt;():
 6 -3  0  9
 6  6  3  9
Now the array a is:
 7  9 -5 -3
-2 -6  1  0
 0  0  0  0
 0  0  0  0
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a2a0e94a9eca5418753083c42fd30deaf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstNRowsBlockXpr&lt;N&gt;::Type bottomRows </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a4809c823f0179782a50409c5444b55a1">bottomRows&lt;int&gt;()</a>. </p>

</div>
</div>
<a class="anchor" id="a660200abaf1fc4b888330a37d6132b76"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">internal::cast_return_type&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; ,const <a class="el" href="classEigen_1_1CwiseUnaryOp.html">CwiseUnaryOp</a>&lt;internal::scalar_cast_op&lt;typename internal::traits&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt;::Scalar, NewType&gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; &gt;::type cast </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of *this with the <em>Scalar</em> type casted to <em>NewScalar</em>.</dd></dl>
<p>The template parameter <em>NewScalar</em> is the type we are casting the scalars to.</p>
<dl class="section see"><dt>See Also</dt><dd>class CwiseUnaryOp </dd></dl>

</div>
</div>
<a class="anchor" id="afacbe8d905dd8b00eb52e72c2e938aed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Scalar coeff </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>col</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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 value of the matrix at position <em>i</em>, <em>j</em> This function returns Scalar(0) if the element is an explicit <em>zero</em> </dd></dl>

</div>
</div>
<a class="anchor" id="a4386da578a119f7b500d0b22cab2de0e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Scalar&amp; coeffRef </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>col</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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">
<dl class="section return"><dt>Returns</dt><dd>a non-const reference to the value of the matrix at position <em>i</em>, <em>j</em> </dd></dl>
<p>If the element does not exist then it is inserted via the <a class="el" href="classEigen_1_1SparseMatrix.html#a1cbf43137ff55b8164ec8fc5e4da9deb">insert(Index,Index)</a> function which itself turns the matrix into a non compressed form if that was not the case.</p>
<p>This is a O(log(nnz_j)) operation (binary search) plus the cost of <a class="el" href="classEigen_1_1SparseMatrix.html#a1cbf43137ff55b8164ec8fc5e4da9deb">insert(Index,Index)</a> function if the element does not already exist. </p>

</div>
</div>
<a class="anchor" id="a58c77695de3b33405f01f2fdf3dc389d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ColXpr col </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the <em>i-th</em> column of *this. Note that the numbering starts at 0.</dd></dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga45a14b423c687c3e2e8325f148e27bf3">Matrix3d</a> m = Matrix3d::Identity();</div>
<div class="line">m.col(1) = <a class="code" href="group__matrixtypedefs.html#ga2006332f6989f501762673e21f5128f5">Vector3d</a>(4,5,6);</div>
<div class="line">cout &lt;&lt; m &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">1 4 0
0 5 0
0 6 1
</pre><dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrixBase.html#aa8716d44f51321072ee5c88665c28813">row()</a>, class Block </dd></dl>

<p>Referenced by <a class="el" href="classEigen_1_1SparseMatrix.html#afacbe8d905dd8b00eb52e72c2e938aed">SparseMatrix&lt; Scalar, RowMajor &gt;::coeff()</a>, and <a class="el" href="classEigen_1_1SparseMatrix.html#a4386da578a119f7b500d0b22cab2de0e">SparseMatrix&lt; Scalar, RowMajor &gt;::coeffRef()</a>.</p>

</div>
</div>
<a class="anchor" id="a390f7c534678354959dd587080b82c2c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstColXpr col </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a58c77695de3b33405f01f2fdf3dc389d">col()</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 matrix </dd></dl>

<p>Referenced by <a class="el" href="classEigen_1_1SparseMatrix.html#afacbe8d905dd8b00eb52e72c2e938aed">SparseMatrix&lt; Scalar, RowMajor &gt;::coeff()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#a4386da578a119f7b500d0b22cab2de0e">SparseMatrix&lt; Scalar, RowMajor &gt;::coeffRef()</a>, <a class="el" href="classEigen_1_1SparseQR.html#aaca1908a5ec508a25ff0a8bca803e5f3">SparseQR&lt; MatrixType, OrderingType &gt;::cols()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#a85584f416c9e3a843fdafa2ef8dda195">SparseMatrix&lt; Scalar, RowMajor &gt;::conservativeResize()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#a1cbf43137ff55b8164ec8fc5e4da9deb">SparseMatrix&lt; Scalar, RowMajor &gt;::insert()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#ac20f895ce9b73fa7447196855c0d0758">SparseMatrix&lt; Scalar, RowMajor &gt;::resize()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#a382e6ad7e6721b121e510959e1011be3">SparseMatrix&lt; Scalar, RowMajor &gt;::setIdentity()</a>, and <a class="el" href="namespaceEigen.html#ab3b27d71e21e833c5287fcbe49509478">Eigen::viewAsCholmod()</a>.</p>

</div>
</div>
<a class="anchor" id="aab6c2241712d7faf07019a0d86d3fb79"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConjugateReturnType conjugate </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the complex conjugate of <code>*this</code>.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd>adjoint() </dd></dl>

</div>
</div>
<a class="anchor" id="a85584f416c9e3a843fdafa2ef8dda195"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void conservativeResize </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Resizes the matrix to a <em>rows</em> x <em>cols</em> matrix leaving old values untouched. </p>
<dl class="section see"><dt>See Also</dt><dd>resizeNonZeros(Index), <a class="el" href="classEigen_1_1SparseMatrix.html#a5dc6018e77e65abd29416138c6bd67d4">reserve()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#a47affd1a10b589811fc4828c1a2e0c6d">setZero()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ab4d8398a4497e4a888cfc11c51c14a81"></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_1CwiseUnaryOp.html">CwiseUnaryOp</a>&lt;internal::scalar_abs_op&lt;Scalar&gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; cwiseAbs </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the coefficient-wise absolute value of <code>*this</code> </dd></dl>
<p>Example: </p>
<div class="fragment"><div class="line">MatrixXd m(2,3);</div>
<div class="line">m &lt;&lt; 2, -4, 6,   </div>
<div class="line">     -5, 1, 0;</div>
<div class="line">cout &lt;&lt; m.cwiseAbs() &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">2 4 6
5 1 0
</pre><dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrixBase.html#abc9cb99dcb93caf0c3c37860aeef30b2">cwiseAbs2()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="abc9cb99dcb93caf0c3c37860aeef30b2"></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_1CwiseUnaryOp.html">CwiseUnaryOp</a>&lt;internal::scalar_abs2_op&lt;Scalar&gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; cwiseAbs2 </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the coefficient-wise squared absolute value of <code>*this</code> </dd></dl>
<p>Example: </p>
<div class="fragment"><div class="line">MatrixXd m(2,3);</div>
<div class="line">m &lt;&lt; 2, -4, 6,   </div>
<div class="line">     -5, 1, 0;</div>
<div class="line">cout &lt;&lt; m.cwiseAbs2() &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment"> 4 16 36
25  1  0
</pre><dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrixBase.html#ab4d8398a4497e4a888cfc11c51c14a81">cwiseAbs()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="abbeb71e12bd4e65d20afd183ad962735"></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_1CwiseBinaryOp.html">CwiseBinaryOp</a>&lt;std::equal_to&lt;Scalar&gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , const OtherDerived&gt; cwiseEqual </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the coefficient-wise == operator of *this and <em>other</em> </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>this performs an exact comparison, which is generally a bad idea with floating-point types. In order to check for equality between two vectors or matrices with floating-point coefficients, it is generally a far better idea to use a fuzzy comparison as provided by isApprox() and isMuchSmallerThan().</dd></dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga5b9d0d11e78fd355d23221154b7620e4">MatrixXi</a> m(2,2);</div>
<div class="line">m &lt;&lt; 1, 0,</div>
<div class="line">     1, 1;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Comparing m with identity matrix:&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; m.cwiseEqual(MatrixXi::Identity(2,2)) &lt;&lt; endl;</div>
<div class="line"><span class="keywordtype">int</span> count = m.cwiseEqual(MatrixXi::Identity(2,2)).count();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Number of coefficients that are equal: &quot;</span> &lt;&lt; count &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Comparing m with identity matrix:
1 1
0 1
Number of coefficients that are equal: 3
</pre><dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrixBase.html#a74a7586c8f5f2431fb3d66f7e534621c">cwiseNotEqual()</a>, isApprox(), isMuchSmallerThan() </dd></dl>

</div>
</div>
<a class="anchor" id="ae1f241762b604c2117232c5c994068bb"></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_1CwiseUnaryOp.html">CwiseUnaryOp</a>&lt;std::binder1st&lt;std::equal_to&lt;Scalar&gt; &gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; cwiseEqual </td>
          <td>(</td>
          <td class="paramtype">const Scalar &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the coefficient-wise == operator of <code>*this</code> and a scalar <em>s</em> </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>this performs an exact comparison, which is generally a bad idea with floating-point types. In order to check for equality between two vectors or matrices with floating-point coefficients, it is generally a far better idea to use a fuzzy comparison as provided by isApprox() and isMuchSmallerThan().</dd></dl>
<dl class="section see"><dt>See Also</dt><dd>cwiseEqual(const MatrixBase&lt;OtherDerived&gt; &amp;) const </dd></dl>

</div>
</div>
<a class="anchor" id="a433cd5f8e17b2662c4081ec798fa54be"></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_1CwiseUnaryOp.html">CwiseUnaryOp</a>&lt;internal::scalar_inverse_op&lt;Scalar&gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; cwiseInverse </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the coefficient-wise inverse of *this.</dd></dl>
<p>Example: </p>
<div class="fragment"><div class="line">MatrixXd m(2,3);</div>
<div class="line">m &lt;&lt; 2, 0.5, 1,   </div>
<div class="line">     3, 0.25, 1;</div>
<div class="line">cout &lt;&lt; m.cwiseInverse() &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">0.5 2 1
0.333 4 1
</pre><dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrixBase.html#a2664016e0a9629a181b822539485cfe3">cwiseProduct()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ab4e2ff39353ad89db50ddf3dd7b52018"></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_1CwiseBinaryOp.html">CwiseBinaryOp</a>&lt;internal::scalar_max_op&lt;Scalar&gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , const OtherDerived&gt; cwiseMax </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the coefficient-wise max of *this and <em>other</em> </dd></dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga2006332f6989f501762673e21f5128f5">Vector3d</a> v(2,3,4), w(4,2,3);</div>
<div class="line">cout &lt;&lt; v.cwiseMax(w) &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">4
3
4
</pre><dl class="section see"><dt>See Also</dt><dd>class CwiseBinaryOp, min() </dd></dl>

</div>
</div>
<a class="anchor" id="a7e985c7a4f692584865b9ec9e7d5780c"></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_1CwiseBinaryOp.html">CwiseBinaryOp</a>&lt;internal::scalar_max_op&lt;Scalar&gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , const ConstantReturnType&gt; cwiseMax </td>
          <td>(</td>
          <td class="paramtype">const Scalar &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the coefficient-wise max of *this and scalar <em>other</em> </dd></dl>
<dl class="section see"><dt>See Also</dt><dd>class CwiseBinaryOp, min() </dd></dl>

</div>
</div>
<a class="anchor" id="a10f6c61e2de38668bc29d07360de3a89"></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_1CwiseBinaryOp.html">CwiseBinaryOp</a>&lt;internal::scalar_min_op&lt;Scalar&gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , const OtherDerived&gt; cwiseMin </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the coefficient-wise min of *this and <em>other</em> </dd></dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga2006332f6989f501762673e21f5128f5">Vector3d</a> v(2,3,4), w(4,2,3);</div>
<div class="line">cout &lt;&lt; v.cwiseMin(w) &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">2
2
3
</pre><dl class="section see"><dt>See Also</dt><dd>class CwiseBinaryOp, max() </dd></dl>

</div>
</div>
<a class="anchor" id="ac02d0af0ea867d6b1cc0cc4db0e1d480"></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_1CwiseBinaryOp.html">CwiseBinaryOp</a>&lt;internal::scalar_min_op&lt;Scalar&gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , const ConstantReturnType&gt; cwiseMin </td>
          <td>(</td>
          <td class="paramtype">const Scalar &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the coefficient-wise min of *this and scalar <em>other</em> </dd></dl>
<dl class="section see"><dt>See Also</dt><dd>class CwiseBinaryOp, min() </dd></dl>

</div>
</div>
<a class="anchor" id="a74a7586c8f5f2431fb3d66f7e534621c"></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_1CwiseBinaryOp.html">CwiseBinaryOp</a>&lt;std::not_equal_to&lt;Scalar&gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , const OtherDerived&gt; cwiseNotEqual </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the coefficient-wise != operator of *this and <em>other</em> </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>this performs an exact comparison, which is generally a bad idea with floating-point types. In order to check for equality between two vectors or matrices with floating-point coefficients, it is generally a far better idea to use a fuzzy comparison as provided by isApprox() and isMuchSmallerThan().</dd></dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga5b9d0d11e78fd355d23221154b7620e4">MatrixXi</a> m(2,2);</div>
<div class="line">m &lt;&lt; 1, 0,</div>
<div class="line">     1, 1;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Comparing m with identity matrix:&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; m.cwiseNotEqual(MatrixXi::Identity(2,2)) &lt;&lt; endl;</div>
<div class="line"><span class="keywordtype">int</span> count = m.cwiseNotEqual(MatrixXi::Identity(2,2)).count();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Number of coefficients that are not equal: &quot;</span> &lt;&lt; count &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Comparing m with identity matrix:
0 0
1 0
Number of coefficients that are not equal: 1
</pre><dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrixBase.html#ae1f241762b604c2117232c5c994068bb">cwiseEqual()</a>, isApprox(), isMuchSmallerThan() </dd></dl>

</div>
</div>
<a class="anchor" id="a2664016e0a9629a181b822539485cfe3"></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_1CwiseBinaryOp.html">CwiseBinaryOp</a>&lt;internal::scalar_product_op&lt;typename <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt;  ::Scalar, typename OtherDerived ::Scalar &gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt;  , const OtherDerived &gt; cwiseProduct </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the Schur product (coefficient wise product) of *this and <em>other</em> </dd></dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga4b6688615f30a9959be0285115080c3d">Matrix3i</a> a = Matrix3i::Random(), b = Matrix3i::Random();</div>
<div class="line"><a class="code" href="group__matrixtypedefs.html#ga4b6688615f30a9959be0285115080c3d">Matrix3i</a> c = a.cwiseProduct(b);</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;a:\n&quot;</span> &lt;&lt; a &lt;&lt; <span class="stringliteral">&quot;\nb:\n&quot;</span> &lt;&lt; b &lt;&lt; <span class="stringliteral">&quot;\nc:\n&quot;</span> &lt;&lt; c &lt;&lt; endl;</div>
<div class="line"></div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">a:
 7  6 -3
-2  9  6
 6 -6 -5
b:
 1 -3  9
 0  0  3
 3  9  5
c:
  7 -18 -27
  0   0  18
 18 -54 -25
</pre><dl class="section see"><dt>See Also</dt><dd>class CwiseBinaryOp, <a class="el" href="classEigen_1_1SparseMatrixBase.html#abc9cb99dcb93caf0c3c37860aeef30b2">cwiseAbs2</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ada4f791903d6f53f5b167ea5cbcee6a0"></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_1CwiseBinaryOp.html">CwiseBinaryOp</a>&lt;internal::scalar_quotient_op&lt;Scalar&gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , const OtherDerived&gt; cwiseQuotient </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the coefficient-wise quotient of *this and <em>other</em> </dd></dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga2006332f6989f501762673e21f5128f5">Vector3d</a> v(2,3,4), w(4,2,3);</div>
<div class="line">cout &lt;&lt; v.cwiseQuotient(w) &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">0.5
1.5
1.33
</pre><dl class="section see"><dt>See Also</dt><dd>class CwiseBinaryOp, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a2664016e0a9629a181b822539485cfe3">cwiseProduct()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a433cd5f8e17b2662c4081ec798fa54be">cwiseInverse()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a88945ad7d126468c10e299e896bf0d1e"></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_1CwiseUnaryOp.html">CwiseUnaryOp</a>&lt;internal::scalar_sqrt_op&lt;Scalar&gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; cwiseSqrt </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the coefficient-wise square root of *this.</dd></dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga2006332f6989f501762673e21f5128f5">Vector3d</a> v(1,2,4);</div>
<div class="line">cout &lt;&lt; v.cwiseSqrt() &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">1
1.41
2
</pre><dl class="section see"><dt>See Also</dt><dd>cwisePow(), cwiseSquare() </dd></dl>

</div>
</div>
<a class="anchor" id="aa84222add803ad7c9db07dd4dd91d5d9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Derived&amp; derived </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a reference to the derived object </dd></dl>

<p>Referenced by <a class="el" href="classEigen_1_1MatrixBase.html#a9aaee4fba54baa7d0ca508e094f2d6f9">MatrixBase&lt; Derived &gt;::applyOnTheLeft()</a>, <a class="el" href="classEigen_1_1MatrixBase.html#a6e5b1e71a1916ddd01e7c324831c40dc">MatrixBase&lt; Derived &gt;::applyOnTheRight()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#a975548d0fd92d4b2a2cb09c2adf10ce6">PermutationBase&lt; PermutationMatrix&lt; SizeAtCompileTime, MaxSizeAtCompileTime, IndexType &gt; &gt;::applyTranspositionOnTheLeft()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#a3f93571373e20799e196513109f5b26e">PermutationBase&lt; PermutationMatrix&lt; SizeAtCompileTime, MaxSizeAtCompileTime, IndexType &gt; &gt;::applyTranspositionOnTheRight()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#ae762210a1ab89bed1673edc09a6ec8b7">SparseMatrixBase&lt; CwiseBinaryOp&lt; BinaryOp, Lhs, Rhs &gt; &gt;::binaryExpr()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a878151caf2ff25ebbc76186485f81207">SparseMatrixBase&lt; CwiseBinaryOp&lt; BinaryOp, Lhs, Rhs &gt; &gt;::bottomLeftCorner()</a>, <a class="el" href="structEigen_1_1EigenBase.html#aaca1908a5ec508a25ff0a8bca803e5f3">EigenBase&lt; SparseSymmetricPermutationProduct&lt; MatrixType, UpLo &gt; &gt;::cols()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#aaca1908a5ec508a25ff0a8bca803e5f3">SparseMatrixBase&lt; CwiseBinaryOp&lt; BinaryOp, Lhs, Rhs &gt; &gt;::cols()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a571c36d7211bd03dd1a06ac46c002fe5">SparseMatrixBase&lt; CwiseBinaryOp&lt; BinaryOp, Lhs, Rhs &gt; &gt;::eval()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#a8876d615d17aad77b054a8f58b699e7d">PermutationBase&lt; PermutationMatrix&lt; SizeAtCompileTime, MaxSizeAtCompileTime, IndexType &gt; &gt;::indices()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#a594deabd0f368a746801f5dd14a0db2a">PermutationBase&lt; PermutationMatrix&lt; SizeAtCompileTime, MaxSizeAtCompileTime, IndexType &gt; &gt;::inverse()</a>, <a class="el" href="classEigen_1_1RotationBase.html#acd4f0475d084e54c0dde2ef3f78822c0">RotationBase&lt; Derived, 3 &gt;::operator*()</a>, <a class="el" href="classEigen_1_1SparseSelfAdjointView.html#a6becf66c0294e516cbe73141c4276452">SparseSelfAdjointView&lt; MatrixType, UpLo &gt;::operator*()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#aa06f5ef5169ce3e671abbc8776d2c339">PermutationBase&lt; PermutationMatrix&lt; SizeAtCompileTime, MaxSizeAtCompileTime, IndexType &gt; &gt;::operator*()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#ae7d7083917427445e50f3c4b5bf8ba6a">SparseMatrixBase&lt; Derived &gt;::operator*()</a>, <a class="el" href="classEigen_1_1Transform.html#a3846f7a4b892ed530881f52a5460ddf6">Transform&lt; Scalar, Dim, Mode, _Options &gt;::operator*()</a>, <a class="el" href="namespaceEigen.html#a81fb70d0dc1c6deb42e9816647607247">Eigen::operator*()</a>, <a class="el" href="classEigen_1_1MatrixBase.html#ac9beaa3954c989bbbc59b361d9423e78">MatrixBase&lt; Derived &gt;::operator*=()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#ac96d811c408d8e282ad0036b1b9ed42f">PermutationBase&lt; PermutationMatrix&lt; SizeAtCompileTime, MaxSizeAtCompileTime, IndexType &gt; &gt;::operator=()</a>, <a class="el" href="classEigen_1_1DenseBase.html#acde54311cdc2b5731a6d27f7a5f7ad1b">DenseBase&lt; Derived &gt;::operator=()</a>, <a class="el" href="classEigen_1_1Transform.html#a746fdf41f0377f203f231a1705cf6012">Transform&lt; Scalar, Dim, Mode, _Options &gt;::operator=()</a>, <a class="el" href="classEigen_1_1PlainObjectBase.html#a65a58af12990c2e395a7f0b4012d3b94">PlainObjectBase&lt; Matrix&lt; _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols &gt; &gt;::operator=()</a>, <a class="el" href="classEigen_1_1PlainObjectBase.html#ab5207d4c7f9d20e5fc74bfc9b54620b4">PlainObjectBase&lt; Matrix&lt; _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols &gt; &gt;::PlainObjectBase()</a>, <a class="el" href="classEigen_1_1PlainObjectBase.html#abe7b7417203825a6e434449cf0ac6529">PlainObjectBase&lt; Matrix&lt; _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols &gt; &gt;::resizeLike()</a>, <a class="el" href="structEigen_1_1EigenBase.html#a5552abd83dbd03c85cea6d61fd8875a5">EigenBase&lt; SparseSymmetricPermutationProduct&lt; MatrixType, UpLo &gt; &gt;::rows()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a5552abd83dbd03c85cea6d61fd8875a5">SparseMatrixBase&lt; CwiseBinaryOp&lt; BinaryOp, Lhs, Rhs &gt; &gt;::rows()</a>, <a class="el" href="classEigen_1_1SimplicialCholeskyBase.html#abe2318376d9cb41fa612b793035da397">SimplicialCholeskyBase&lt; SimplicialLDLT&lt; _MatrixType, _UpLo &gt; &gt;::solve()</a>, <a class="el" href="classEigen_1_1IterativeSolverBase.html#a7892f6fbc52bfa658e1324a63d376d1c">IterativeSolverBase&lt; ConjugateGradient&lt; _MatrixType, _UpLo, _Preconditioner &gt; &gt;::solve()</a>, <a class="el" href="classEigen_1_1SparseLU.html#a39062d90ea647b4e7668452647b04b17">SparseLU&lt; _MatrixType, _OrderingType &gt;::solve()</a>, <a class="el" href="classEigen_1_1UmfPackLU.html#a6c606e11055ed3d815183705c57b22b4">UmfPackLU&lt; _MatrixType &gt;::solve()</a>, <a class="el" href="classEigen_1_1CholmodBase.html#a81db76105fedf365cdbc200774911847">CholmodBase&lt; _MatrixType, _UpLo, CholmodSimplicialLLT&lt; _MatrixType, _UpLo &gt; &gt;::solve()</a>, <a class="el" href="classEigen_1_1SuperLUBase.html#a0bf5dc2154e2f03bf871eca997c6e6e6">SuperLUBase&lt; _MatrixType, SuperILU&lt; _MatrixType &gt; &gt;::solve()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#ab42390876ea7ef3fe4845b936c281c99">SparseMatrix&lt; Scalar, RowMajor &gt;::SparseMatrix()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#ac4bd143bb38762fd91e546dbda01069b">PermutationBase&lt; PermutationMatrix&lt; SizeAtCompileTime, MaxSizeAtCompileTime, IndexType &gt; &gt;::toDenseMatrix()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#ae06d0a5c4008014fb717866aec8d30c7">SparseMatrixBase&lt; CwiseBinaryOp&lt; BinaryOp, Lhs, Rhs &gt; &gt;::topLeftCorner()</a>, <a class="el" href="classEigen_1_1Transform.html#ae80ecf3abb4b22d409c5adbd19850aa8">Transform&lt; Scalar, Dim, Mode, _Options &gt;::Transform()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#a71ed95486aeea9fb396e85461ad5b73a">PermutationBase&lt; PermutationMatrix&lt; SizeAtCompileTime, MaxSizeAtCompileTime, IndexType &gt; &gt;::transpose()</a>, and <a class="el" href="classEigen_1_1SparseMatrixBase.html#aba9ae3923f6caa962ef3418d6872c369">SparseMatrixBase&lt; CwiseBinaryOp&lt; BinaryOp, Lhs, Rhs &gt; &gt;::unaryViewExpr()</a>.</p>

</div>
</div>
<a class="anchor" id="a2850de52161dfe2bb6e380f1892276b8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Derived&amp; derived </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a const reference to the derived object </dd></dl>

</div>
</div>
<a class="anchor" id="aa9767c7ef9fea17a585e4ad45d2d4ad3"></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_1Diagonal.html">Diagonal</a>&lt;const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&gt; diagonal </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 expression of the diagonal coefficients </dd></dl>

</div>
</div>
<a class="anchor" id="a571c36d7211bd03dd1a06ac46c002fe5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const internal::eval&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt;::type eval </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the matrix or vector obtained by evaluating this expression.</dd></dl>
<p>Notice that in the case of a plain matrix or vector (not an expression) this function just returns a const reference, in order to avoid a useless copy. </p>

</div>
</div>
<a class="anchor" id="a72cddecfa6737b4388ef26c3a559a716"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">SegmentReturnType head </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>vecSize</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a dynamic-size expression of the first coefficients of *this.</dd></dl>
<p>This is only for vectors (either row-vectors or column-vectors), i.e. matrices which are known at compile-time to have either one row or one column.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">vecSize</td><td>the number of coefficients in the block</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga1b8ec6f0766c4900ed6f84f30c36669a">RowVector4i</a> v = RowVector4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the vector v:&quot;</span> &lt;&lt; endl &lt;&lt; v &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is v.head(2):&quot;</span> &lt;&lt; endl &lt;&lt; v.head(2) &lt;&lt; endl;</div>
<div class="line">v.head(2).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the vector v is:&quot;</span> &lt;&lt; endl &lt;&lt; v &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the vector v:
 7 -2  6  6
Here is v.head(2):
 7 -2
Now the vector v is:
0 0 6 6
</pre><dl class="section note"><dt>Note</dt><dd>Even though the returned expression has dynamic size, in the case when it is applied to a fixed-size vector, it inherits a fixed maximal size, which means that evaluating it does not cause a dynamic memory allocation.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a3e433315822db2811a65e88c70672743">block(Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a1affbbf894b20a196ee663244f9ca186"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstSegmentReturnType head </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>vecSize</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a72cddecfa6737b4388ef26c3a559a716">head(Index)</a>. </p>

</div>
</div>
<a class="anchor" id="a361e155375a3c7983c294641b1e91a15"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">FixedSegmentReturnType&lt;Size&gt;::Type head </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a fixed-size expression of the first coefficients of *this.</dd></dl>
<p>This is only for vectors (either row-vectors or column-vectors), i.e. matrices which are known at compile-time to have either one row or one column.</p>
<p>The template parameter <em>Size</em> is the number of coefficients in the block</p>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga1b8ec6f0766c4900ed6f84f30c36669a">RowVector4i</a> v = RowVector4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the vector v:&quot;</span> &lt;&lt; endl &lt;&lt; v &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is v.head(2):&quot;</span> &lt;&lt; endl &lt;&lt; v.head&lt;2&gt;() &lt;&lt; endl;</div>
<div class="line">v.head&lt;2&gt;().setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the vector v is:&quot;</span> &lt;&lt; endl &lt;&lt; v &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the vector v:
 7 -2  6  6
Here is v.head(2):
 7 -2
Now the vector v is:
0 0 6 6
</pre><dl class="section see"><dt>See Also</dt><dd>class Block </dd></dl>

</div>
</div>
<a class="anchor" id="a231f7179447bc8df1d0be0b23541d2fd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstFixedSegmentReturnType&lt;Size&gt;::Type head </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a361e155375a3c7983c294641b1e91a15">head&lt;int&gt;()</a>. </p>

</div>
</div>
<a class="anchor" id="a01069a930197aeca3b13b44bdc426c7b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const ImagReturnType imag </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an read-only expression of the imaginary part of <code>*this</code>.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrixBase.html#accfa15407b80807dab914b1844c725e5">real()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a1032121a2fc5fcc5f006f976413378f8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">NonConstImagReturnType imag </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a non const expression of the imaginary part of <code>*this</code>.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrixBase.html#accfa15407b80807dab914b1844c725e5">real()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a828e04dedd8347ad1c463817b2e5dbed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Index* innerIndexPtr </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 pointer to the array of inner indices. This function is aimed at interoperability with other libraries. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrix.html#a68fdb1898144415299720626410f021d">valuePtr()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#aa6555eda454250b6cc9cd42e1ba137a1">outerIndexPtr()</a> </dd></dl>

<p>Referenced by <a class="el" href="namespaceEigen.html#ab3b27d71e21e833c5287fcbe49509478">Eigen::viewAsCholmod()</a>.</p>

</div>
</div>
<a class="anchor" id="ac5204064425a0d6c87688ed48dd1d745"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Index* innerIndexPtr </td>
          <td>(</td>
          <td class="paramname"></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">
<dl class="section return"><dt>Returns</dt><dd>a non-const pointer to the array of inner indices. This function is aimed at interoperability with other libraries. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrix.html#a68fdb1898144415299720626410f021d">valuePtr()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#aa6555eda454250b6cc9cd42e1ba137a1">outerIndexPtr()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a2ae4fbae821c9f97e0710f5cb3b73c91"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Index* innerNonZeroPtr </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 pointer to the array of the number of non zeros of the inner vectors. This function is aimed at interoperability with other libraries. </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>it returns the null pointer 0 in compressed mode </dd></dl>

<p>Referenced by <a class="el" href="namespaceEigen.html#ab3b27d71e21e833c5287fcbe49509478">Eigen::viewAsCholmod()</a>.</p>

</div>
</div>
<a class="anchor" id="a5e623b88f053da805a943ddbfd8c90a4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Index* innerNonZeroPtr </td>
          <td>(</td>
          <td class="paramname"></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">
<dl class="section return"><dt>Returns</dt><dd>a non-const pointer to the array of the number of non zeros of the inner vectors. This function is aimed at interoperability with other libraries. </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>it returns the null pointer 0 in compressed mode </dd></dl>

</div>
</div>
<a class="anchor" id="acd9791e1914ad8761992e16032d49c54"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Index innerSize </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 rows (resp. columns) of the matrix if the storage order column major (resp. row major) </dd></dl>

</div>
</div>
<a class="anchor" id="a1cbf43137ff55b8164ec8fc5e4da9deb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Scalar&amp; insert </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>col</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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">
<dl class="section return"><dt>Returns</dt><dd>a reference to a novel non zero coefficient with coordinates <em>row</em> x <em>col</em>. The non zero coefficient must <b>not</b> already exist.</dd></dl>
<p>If the matrix <code>*this</code> is in compressed mode, then <code>*this</code> is turned into uncompressed mode while reserving room for 2 non zeros per inner vector. It is strongly recommended to first call <a class="el" href="classEigen_1_1SparseMatrix.html#a2833db2d271c76ef91fa28f2487fb596">reserve(const SizesType &amp;)</a> to reserve a more appropriate number of elements per inner vector that better match your scenario.</p>
<p>This function performs a sorted insertion in O(1) if the elements of each inner vector are inserted in increasing inner index order, and in O(nnz_j) for a random insertion. </p>

<p>Referenced by <a class="el" href="classEigen_1_1SparseMatrix.html#a4386da578a119f7b500d0b22cab2de0e">SparseMatrix&lt; Scalar, RowMajor &gt;::coeffRef()</a>.</p>

</div>
</div>
<a class="anchor" id="a4549e80dac9fd4f4c9ecee00814ecaa5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool isCompressed </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>whether <code>*this</code> is in compressed form. </dd></dl>

<p>Referenced by <a class="el" href="classEigen_1_1SparseMatrix.html#a1cbf43137ff55b8164ec8fc5e4da9deb">SparseMatrix&lt; Scalar, RowMajor &gt;::insert()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#a5daf3de834937aeaa7ebc7f18cea746b">SparseMatrix&lt; Scalar, RowMajor &gt;::makeCompressed()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#a5dc6018e77e65abd29416138c6bd67d4">SparseMatrix&lt; Scalar, RowMajor &gt;::reserve()</a>, and <a class="el" href="namespaceEigen.html#ab3b27d71e21e833c5287fcbe49509478">Eigen::viewAsCholmod()</a>.</p>

</div>
</div>
<a class="anchor" id="a6ed9d8dbec28bf8536105047dc8f375e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool isVector </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if either the number of rows or the number of columns is equal to 1. In other words, this function returns <div class="fragment"><div class="line"><a class="code" href="classEigen_1_1SparseMatrixBase.html#a5552abd83dbd03c85cea6d61fd8875a5">rows</a>()==1 || <a class="code" href="classEigen_1_1SparseMatrixBase.html#aaca1908a5ec508a25ff0a8bca803e5f3">cols</a>()==1 </div>
</div><!-- fragment --> </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrixBase.html#a5552abd83dbd03c85cea6d61fd8875a5">rows()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#aaca1908a5ec508a25ff0a8bca803e5f3">cols()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a72549bb2a8f9850ac0f18a02f17a8d1da7e22277c8f0a1a76dd0d6c62e366b59f">IsVectorAtCompileTime</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="ace4288d22b0312944ec93c8c46474ef6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ColsBlockXpr leftCols </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a block consisting of the left columns of *this.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>the number of columns in the block</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line">Array44i a = Array44i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the array a:&quot;</span> &lt;&lt; endl &lt;&lt; a &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is a.leftCols(2):&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; a.leftCols(2) &lt;&lt; endl;</div>
<div class="line">a.leftCols(2).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the array a is:&quot;</span> &lt;&lt; endl &lt;&lt; a &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the array a:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is a.leftCols(2):
 7  9
-2 -6
 6 -3
 6  6
Now the array a is:
 0  0 -5 -3
 0  0  1  0
 0  0  0  9
 0  0  3  9
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aa43a2f7ef9b8029727a3e0424fd4e57d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstColsBlockXpr leftCols </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#ace4288d22b0312944ec93c8c46474ef6">leftCols(Index)</a>. </p>

</div>
</div>
<a class="anchor" id="a01053284fe198875df0ff63aae33eea8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">NColsBlockXpr&lt;N&gt;::Type leftCols </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a block consisting of the left columns of *this.</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">N</td><td>the number of columns in the block</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line">Array44i a = Array44i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the array a:&quot;</span> &lt;&lt; endl &lt;&lt; a &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is a.leftCols&lt;2&gt;():&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; a.leftCols&lt;2&gt;() &lt;&lt; endl;</div>
<div class="line">a.leftCols&lt;2&gt;().setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the array a is:&quot;</span> &lt;&lt; endl &lt;&lt; a &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the array a:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is a.leftCols&lt;2&gt;():
 7  9
-2 -6
 6 -3
 6  6
Now the array a is:
 0  0 -5 -3
 0  0  1  0
 0  0  0  9
 0  0  3  9
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ac838d0f0d149ad1e1581fd38a7922b04"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstNColsBlockXpr&lt;N&gt;::Type leftCols </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a01053284fe198875df0ff63aae33eea8">leftCols&lt;int&gt;()</a>. </p>

</div>
</div>
<a class="anchor" id="a5daf3de834937aeaa7ebc7f18cea746b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void makeCompressed </td>
          <td>(</td>
          <td class="paramname"></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>Turns the matrix into the <em>compressed</em> format. </p>

<p>Referenced by <a class="el" href="classEigen_1_1SparseMatrix.html#a2b7d855d3304b9768e51eb8890f69da1">SparseMatrix&lt; Scalar, RowMajor &gt;::prune()</a>.</p>

</div>
</div>
<a class="anchor" id="a2d4f5da8e2019251ad3ed876d363d5d1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ColsBlockXpr middleCols </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>numCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a block consisting of a range of columns of *this.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">startCol</td><td>the index of the first column in the block </td></tr>
    <tr><td class="paramname">numCols</td><td>the number of columns in the block</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;Eigen/Core&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"></div>
<div class="line"><span class="keyword">using namespace </span>Eigen;</div>
<div class="line"><span class="keyword">using namespace </span>std;</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line">    <span class="keywordtype">int</span> <span class="keyword">const</span> N = 5;</div>
<div class="line">    <a class="code" href="classEigen_1_1Matrix.html">MatrixXi</a> A(N,N);</div>
<div class="line">    A.setRandom();</div>
<div class="line">    cout &lt;&lt; <span class="stringliteral">&quot;A =\n&quot;</span> &lt;&lt; A &lt;&lt; <span class="charliteral">&#39;\n&#39;</span> &lt;&lt; endl;</div>
<div class="line">    cout &lt;&lt; <span class="stringliteral">&quot;A(1..3,:) =\n&quot;</span> &lt;&lt; A.middleCols(1,3) &lt;&lt; endl;</div>
<div class="line">    <span class="keywordflow">return</span> 0;</div>
<div class="line">}</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">A =
  7  -6   0   9 -10
 -2  -3   3   3  -5
  6   6  -3   5  -8
  6  -5   0  -8   6
  9   1   9   2  -7

A(1..3,:) =
-6  0  9
-3  3  3
 6 -3  5
-5  0 -8
 1  9  2
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a428643f7e51813faa8c8ad89b8282235"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstColsBlockXpr middleCols </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startCol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>numCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a2d4f5da8e2019251ad3ed876d363d5d1">middleCols(Index,Index)</a>. </p>

</div>
</div>
<a class="anchor" id="ab449491fb1077811187a0988a5c83e48"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">NColsBlockXpr&lt;N&gt;::Type middleCols </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startCol</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a block consisting of a range of columns of *this.</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">N</td><td>the number of columns in the block </td></tr>
  </table>
  </dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">startCol</td><td>the index of the first column in the block</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;Eigen/Core&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"></div>
<div class="line"><span class="keyword">using namespace </span>Eigen;</div>
<div class="line"><span class="keyword">using namespace </span>std;</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line">    <span class="keywordtype">int</span> <span class="keyword">const</span> N = 5;</div>
<div class="line">    <a class="code" href="classEigen_1_1Matrix.html">MatrixXi</a> A(N,N);</div>
<div class="line">    A.setRandom();</div>
<div class="line">    cout &lt;&lt; <span class="stringliteral">&quot;A =\n&quot;</span> &lt;&lt; A &lt;&lt; <span class="charliteral">&#39;\n&#39;</span> &lt;&lt; endl;</div>
<div class="line">    cout &lt;&lt; <span class="stringliteral">&quot;A(:,1..3) =\n&quot;</span> &lt;&lt; A.middleCols&lt;3&gt;(1) &lt;&lt; endl;</div>
<div class="line">    <span class="keywordflow">return</span> 0;</div>
<div class="line">}</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">A =
  7  -6   0   9 -10
 -2  -3   3   3  -5
  6   6  -3   5  -8
  6  -5   0  -8   6
  9   1   9   2  -7

A(:,1..3) =
-6  0  9
-3  3  3
 6 -3  5
-5  0 -8
 1  9  2
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a355072c91943dc9bdc4255a6538a5270"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstNColsBlockXpr&lt;N&gt;::Type middleCols </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startCol</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a2d4f5da8e2019251ad3ed876d363d5d1">middleCols&lt;int&gt;()</a>. </p>

</div>
</div>
<a class="anchor" id="aa87a7527cd042907d180cf0c36c5f48a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">RowsBlockXpr middleRows </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>numRows</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a block consisting of a range of rows of *this.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">startRow</td><td>the index of the first row in the block </td></tr>
    <tr><td class="paramname">numRows</td><td>the number of rows in the block</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;Eigen/Core&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"></div>
<div class="line"><span class="keyword">using namespace </span>Eigen;</div>
<div class="line"><span class="keyword">using namespace </span>std;</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line">    <span class="keywordtype">int</span> <span class="keyword">const</span> N = 5;</div>
<div class="line">    <a class="code" href="classEigen_1_1Matrix.html">MatrixXi</a> A(N,N);</div>
<div class="line">    A.setRandom();</div>
<div class="line">    cout &lt;&lt; <span class="stringliteral">&quot;A =\n&quot;</span> &lt;&lt; A &lt;&lt; <span class="charliteral">&#39;\n&#39;</span> &lt;&lt; endl;</div>
<div class="line">    cout &lt;&lt; <span class="stringliteral">&quot;A(2..3,:) =\n&quot;</span> &lt;&lt; A.middleRows(2,2) &lt;&lt; endl;</div>
<div class="line">    <span class="keywordflow">return</span> 0;</div>
<div class="line">}</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">A =
  7  -6   0   9 -10
 -2  -3   3   3  -5
  6   6  -3   5  -8
  6  -5   0  -8   6
  9   1   9   2  -7

A(2..3,:) =
 6  6 -3  5 -8
 6 -5  0 -8  6
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a5dbf41bffa5d27df9ba17f81cdd64983"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstRowsBlockXpr middleRows </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startRow</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>numRows</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#aa87a7527cd042907d180cf0c36c5f48a">middleRows(Index,Index)</a>. </p>

</div>
</div>
<a class="anchor" id="a64475892fb40e70a2b701fd900084cbc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">NRowsBlockXpr&lt;N&gt;::Type middleRows </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startRow</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a block consisting of a range of rows of *this.</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">N</td><td>the number of rows in the block </td></tr>
  </table>
  </dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">startRow</td><td>the index of the first row in the block</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;Eigen/Core&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"></div>
<div class="line"><span class="keyword">using namespace </span>Eigen;</div>
<div class="line"><span class="keyword">using namespace </span>std;</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line">    <span class="keywordtype">int</span> <span class="keyword">const</span> N = 5;</div>
<div class="line">    <a class="code" href="classEigen_1_1Matrix.html">MatrixXi</a> A(N,N);</div>
<div class="line">    A.setRandom();</div>
<div class="line">    cout &lt;&lt; <span class="stringliteral">&quot;A =\n&quot;</span> &lt;&lt; A &lt;&lt; <span class="charliteral">&#39;\n&#39;</span> &lt;&lt; endl;</div>
<div class="line">    cout &lt;&lt; <span class="stringliteral">&quot;A(1..3,:) =\n&quot;</span> &lt;&lt; A.middleRows&lt;3&gt;(1) &lt;&lt; endl;</div>
<div class="line">    <span class="keywordflow">return</span> 0;</div>
<div class="line">}</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">A =
  7  -6   0   9 -10
 -2  -3   3   3  -5
  6   6  -3   5  -8
  6  -5   0  -8   6
  9   1   9   2  -7

A(1..3,:) =
-2 -3  3  3 -5
 6  6 -3  5 -8
 6 -5  0 -8  6
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ad1750285d85ea6fbe5ee645eebbd749a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstNRowsBlockXpr&lt;N&gt;::Type middleRows </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>startRow</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#aa87a7527cd042907d180cf0c36c5f48a">middleRows&lt;int&gt;()</a>. </p>

</div>
</div>
<a class="anchor" id="abe29bfb5f2d88cf2a50ffb577ec6f0a4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Index nonZeros </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 zero coefficients </dd></dl>

<p>Referenced by <a class="el" href="namespaceEigen.html#ab3b27d71e21e833c5287fcbe49509478">Eigen::viewAsCholmod()</a>.</p>

</div>
</div>
<a class="anchor" id="ae8ab11fb1ef0822aa61527f7ecd77b9d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const ScalarMultipleReturnType operator* </td>
          <td>(</td>
          <td class="paramtype">const Scalar &amp;&#160;</td>
          <td class="paramname"><em>scalar</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of <code>*this</code> scaled by the scalar factor <em>scalar</em> </dd></dl>

</div>
</div>
<a class="anchor" id="a01a3dfc024abbb42150002facf498357"></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_1CwiseUnaryOp.html">CwiseUnaryOp</a>&lt;internal::scalar_multiple2_op&lt;Scalar,std::complex&lt;Scalar&gt; &gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; operator* </td>
          <td>(</td>
          <td class="paramtype">const std::complex&lt; Scalar &gt; &amp;&#160;</td>
          <td class="paramname"><em>scalar</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Overloaded for efficient real matrix times complex scalar value </p>

</div>
</div>
<a class="anchor" id="af64e012789113d938655fbb7c5f4538e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const SparseDenseProductReturnType&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; ,OtherDerived&gt;::Type operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1MatrixBase.html">MatrixBase</a>&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>sparse * dense (returns a dense object unless it is an outer product) </p>

</div>
</div>
<a class="anchor" id="af2e4176a905b94907cf32dfe70a4bd1b"></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_1CwiseBinaryOp.html">CwiseBinaryOp</a>&lt; internal::scalar_sum_op &lt;Scalar&gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , const OtherDerived&gt; operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the sum of <code>*this</code> and <em>other</em> </dd></dl>
<dl class="section note"><dt>Note</dt><dd>If you want to add a given scalar to all coefficients, see Cwise::operator+().</dd></dl>
<dl class="section see"><dt>See Also</dt><dd>class CwiseBinaryOp, operator+=() </dd></dl>

</div>
</div>
<a class="anchor" id="a2151bafac84e57f1ab0804ceb4095095"></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_1CwiseBinaryOp.html">CwiseBinaryOp</a>&lt; internal::scalar_difference_op &lt;Scalar&gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , const OtherDerived&gt; operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1SparseMatrixBase.html">Eigen::SparseMatrixBase</a>&lt; OtherDerived &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the difference of <code>*this</code> and <em>other</em> </dd></dl>
<dl class="section note"><dt>Note</dt><dd>If you want to substract a given scalar from all coefficients, see Cwise::operator-().</dd></dl>
<dl class="section see"><dt>See Also</dt><dd>class CwiseBinaryOp, operator-=() </dd></dl>

</div>
</div>
<a class="anchor" id="a7f53ae2f5586a75f1747d84822ae9581"></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_1CwiseUnaryOp.html">CwiseUnaryOp</a>&lt;internal::scalar_opposite_op&lt;typename internal::traits&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt;::Scalar&gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; operator- </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the opposite of <code>*this</code> </dd></dl>

</div>
</div>
<a class="anchor" id="ae78e46db7ee3ba78d3cf59968d261f90"></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_1CwiseUnaryOp.html">CwiseUnaryOp</a>&lt;internal::scalar_quotient1_op&lt;typename internal::traits&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt;::Scalar&gt;, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; operator/ </td>
          <td>(</td>
          <td class="paramtype">const Scalar &amp;&#160;</td>
          <td class="paramname"><em>scalar</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of <code>*this</code> divided by the scalar value <em>scalar</em> </dd></dl>

</div>
</div>
<a class="anchor" id="a4cbbda70dd9a9a925d749e4258fecb5b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Index* outerIndexPtr </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 pointer to the array of the starting positions of the inner vectors. This function is aimed at interoperability with other libraries. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrix.html#a68fdb1898144415299720626410f021d">valuePtr()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#ac5204064425a0d6c87688ed48dd1d745">innerIndexPtr()</a> </dd></dl>

<p>Referenced by <a class="el" href="namespaceEigen.html#ab3b27d71e21e833c5287fcbe49509478">Eigen::viewAsCholmod()</a>.</p>

</div>
</div>
<a class="anchor" id="aa6555eda454250b6cc9cd42e1ba137a1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Index* outerIndexPtr </td>
          <td>(</td>
          <td class="paramname"></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">
<dl class="section return"><dt>Returns</dt><dd>a non-const pointer to the array of the starting positions of the inner vectors. This function is aimed at interoperability with other libraries. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrix.html#a68fdb1898144415299720626410f021d">valuePtr()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#ac5204064425a0d6c87688ed48dd1d745">innerIndexPtr()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="af080d3d3f82e0d4391f19af22a5eedb8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Index outerSize </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 columns (resp. rows) of the matrix if the storage order column major (resp. row major) </dd></dl>

<p>Referenced by <a class="el" href="classEigen_1_1SparseMatrix.html#a1cbf43137ff55b8164ec8fc5e4da9deb">SparseMatrix&lt; Scalar, RowMajor &gt;::insert()</a>, and <a class="el" href="classEigen_1_1SparseMatrix.html#ac20f895ce9b73fa7447196855c0d0758">SparseMatrix&lt; Scalar, RowMajor &gt;::resize()</a>.</p>

</div>
</div>
<a class="anchor" id="aa4592d803de19800d8fb3cb07a5036b6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void prune </td>
          <td>(</td>
          <td class="paramtype">const Scalar &amp;&#160;</td>
          <td class="paramname"><em>reference</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const RealScalar &amp;&#160;</td>
          <td class="paramname"><em>epsilon</em> = <code><a class="el" href="structEigen_1_1NumTraits.html">NumTraits</a>&lt;RealScalar&gt;::dummy_precision()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Suppresses all nonzeros which are <b>much</b> <b>smaller</b> <b>than</b> <em>reference</em> under the tolerence <em>epsilon</em> </p>

<p>Referenced by <a class="el" href="classEigen_1_1SparseMatrix.html#aa4592d803de19800d8fb3cb07a5036b6">SparseMatrix&lt; Scalar, RowMajor &gt;::prune()</a>.</p>

</div>
</div>
<a class="anchor" id="a2b7d855d3304b9768e51eb8890f69da1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void prune </td>
          <td>(</td>
          <td class="paramtype">const KeepFunc &amp;&#160;</td>
          <td class="paramname"><em>keep</em> = <code>KeepFunc()</code></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>Turns the matrix into compressed format, and suppresses all nonzeros which do not satisfy the predicate <em>keep</em>. The functor type <em>KeepFunc</em> must implement the following function: </p>
<div class="fragment"><div class="line">* <span class="keywordtype">bool</span> operator() (<span class="keyword">const</span> Index&amp; <a class="code" href="classEigen_1_1SparseMatrixBase.html#aa8716d44f51321072ee5c88665c28813">row</a>, <span class="keyword">const</span> Index&amp; <a class="code" href="classEigen_1_1SparseMatrixBase.html#a58c77695de3b33405f01f2fdf3dc389d">col</a>, <span class="keyword">const</span> Scalar&amp; value) <span class="keyword">const</span>;</div>
<div class="line">* </div>
</div><!-- fragment --> <dl class="section see"><dt>See Also</dt><dd>prune(Scalar,RealScalar) </dd></dl>

</div>
</div>
<a class="anchor" id="a4a1c87f8e48a66edc05859421048f8b0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">RealReturnType real </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a read-only expression of the real part of <code>*this</code>.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrixBase.html#a1032121a2fc5fcc5f006f976413378f8">imag()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="accfa15407b80807dab914b1844c725e5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">NonConstRealReturnType real </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a non const expression of the real part of <code>*this</code>.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrixBase.html#a1032121a2fc5fcc5f006f976413378f8">imag()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a5dc6018e77e65abd29416138c6bd67d4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reserve </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>reserveSize</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>Preallocates <em>reserveSize</em> non zeros.</p>
<p>Precondition: the matrix must be in compressed mode. </p>

<p>Referenced by <a class="el" href="classEigen_1_1SparseMatrix.html#a1cbf43137ff55b8164ec8fc5e4da9deb">SparseMatrix&lt; Scalar, RowMajor &gt;::insert()</a>.</p>

</div>
</div>
<a class="anchor" id="a2833db2d271c76ef91fa28f2487fb596"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reserve </td>
          <td>(</td>
          <td class="paramtype">const SizesType &amp;&#160;</td>
          <td class="paramname"><em>reserveSizes</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>Preallocates <em>reserveSize</em>[<code>j</code>] non zeros for each column (resp. row) <code>j</code>.</p>
<p>This function turns the matrix in non-compressed mode </p>

</div>
</div>
<a class="anchor" id="ac20f895ce9b73fa7447196855c0d0758"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void resize </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>rows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Resizes the matrix to a <em>rows</em> x <em>cols</em> matrix and initializes it to zero. </p>
<dl class="section see"><dt>See Also</dt><dd>resizeNonZeros(Index), <a class="el" href="classEigen_1_1SparseMatrix.html#a5dc6018e77e65abd29416138c6bd67d4">reserve()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#a47affd1a10b589811fc4828c1a2e0c6d">setZero()</a> </dd></dl>

<p>Referenced by <a class="el" href="classEigen_1_1SparseMatrix.html#a85584f416c9e3a843fdafa2ef8dda195">SparseMatrix&lt; Scalar, RowMajor &gt;::conservativeResize()</a>, and <a class="el" href="classEigen_1_1SparseMatrix.html#a79446a803c1bed8b17c8ac937d07be39">SparseMatrix&lt; Scalar, RowMajor &gt;::SparseMatrix()</a>.</p>

</div>
</div>
<a class="anchor" id="af80f9e4e3708d7e3b0e1487ca90cf339"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ColsBlockXpr rightCols </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a block consisting of the right columns of *this.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>the number of columns in the block</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line">Array44i a = Array44i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the array a:&quot;</span> &lt;&lt; endl &lt;&lt; a &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is a.rightCols(2):&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; a.rightCols(2) &lt;&lt; endl;</div>
<div class="line">a.rightCols(2).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the array a is:&quot;</span> &lt;&lt; endl &lt;&lt; a &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the array a:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is a.rightCols(2):
-5 -3
 1  0
 0  9
 3  9
Now the array a is:
 7  9  0  0
-2 -6  0  0
 6 -3  0  0
 6  6  0  0
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ad16081d19c5482a30aa6be15769e8056"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstColsBlockXpr rightCols </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#af80f9e4e3708d7e3b0e1487ca90cf339">rightCols(Index)</a>. </p>

</div>
</div>
<a class="anchor" id="af9afaaa2c2c27716dccdc58c50449103"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">NColsBlockXpr&lt;N&gt;::Type rightCols </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a block consisting of the right columns of *this.</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">N</td><td>the number of columns in the block</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line">Array44i a = Array44i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the array a:&quot;</span> &lt;&lt; endl &lt;&lt; a &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is a.rightCols&lt;2&gt;():&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; a.rightCols&lt;2&gt;() &lt;&lt; endl;</div>
<div class="line">a.rightCols&lt;2&gt;().setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the array a is:&quot;</span> &lt;&lt; endl &lt;&lt; a &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the array a:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is a.rightCols&lt;2&gt;():
-5 -3
 1  0
 0  9
 3  9
Now the array a is:
 7  9  0  0
-2 -6  0  0
 6 -3  0  0
 6  6  0  0
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ab4707ce78c96ddd7ca15c4e6f0a2a207"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstNColsBlockXpr&lt;N&gt;::Type rightCols </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#af9afaaa2c2c27716dccdc58c50449103">rightCols&lt;int&gt;()</a>. </p>

</div>
</div>
<a class="anchor" id="aa8716d44f51321072ee5c88665c28813"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">RowXpr row </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of the <em>i-th</em> row of *this. Note that the numbering starts at 0.</dd></dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga45a14b423c687c3e2e8325f148e27bf3">Matrix3d</a> m = Matrix3d::Identity();</div>
<div class="line">m.row(1) = <a class="code" href="group__matrixtypedefs.html#ga2006332f6989f501762673e21f5128f5">Vector3d</a>(4,5,6);</div>
<div class="line">cout &lt;&lt; m &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">1 0 0
4 5 6
0 0 1
</pre><dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrixBase.html#a58c77695de3b33405f01f2fdf3dc389d">col()</a>, class Block </dd></dl>

<p>Referenced by <a class="el" href="classEigen_1_1SparseMatrix.html#afacbe8d905dd8b00eb52e72c2e938aed">SparseMatrix&lt; Scalar, RowMajor &gt;::coeff()</a>, and <a class="el" href="classEigen_1_1SparseMatrix.html#a4386da578a119f7b500d0b22cab2de0e">SparseMatrix&lt; Scalar, RowMajor &gt;::coeffRef()</a>.</p>

</div>
</div>
<a class="anchor" id="ad62dcaf648cca25e9318da34c9840799"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstRowXpr row </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#aa8716d44f51321072ee5c88665c28813">row()</a>. </p>

</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 matrix </dd></dl>

<p>Referenced by <a class="el" href="classEigen_1_1SparseMatrix.html#afacbe8d905dd8b00eb52e72c2e938aed">SparseMatrix&lt; Scalar, RowMajor &gt;::coeff()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#a4386da578a119f7b500d0b22cab2de0e">SparseMatrix&lt; Scalar, RowMajor &gt;::coeffRef()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#a85584f416c9e3a843fdafa2ef8dda195">SparseMatrix&lt; Scalar, RowMajor &gt;::conservativeResize()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#a1cbf43137ff55b8164ec8fc5e4da9deb">SparseMatrix&lt; Scalar, RowMajor &gt;::insert()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#ac20f895ce9b73fa7447196855c0d0758">SparseMatrix&lt; Scalar, RowMajor &gt;::resize()</a>, <a class="el" href="classEigen_1_1SparseQR.html#a5552abd83dbd03c85cea6d61fd8875a5">SparseQR&lt; MatrixType, OrderingType &gt;::rows()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#a382e6ad7e6721b121e510959e1011be3">SparseMatrix&lt; Scalar, RowMajor &gt;::setIdentity()</a>, and <a class="el" href="namespaceEigen.html#ab3b27d71e21e833c5287fcbe49509478">Eigen::viewAsCholmod()</a>.</p>

</div>
</div>
<a class="anchor" id="a3a182e8a52e9c6761ded3813f751ab03"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">SegmentReturnType segment </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>vecSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a dynamic-size expression of a segment (i.e. a vector block) in *this.</dd></dl>
<p>This is only for vectors (either row-vectors or column-vectors), i.e. matrices which are known at compile-time to have either one row or one column.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">start</td><td>the first coefficient in the segment </td></tr>
    <tr><td class="paramname">vecSize</td><td>the number of coefficients in the segment</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga1b8ec6f0766c4900ed6f84f30c36669a">RowVector4i</a> v = RowVector4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the vector v:&quot;</span> &lt;&lt; endl &lt;&lt; v &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is v.segment(1, 2):&quot;</span> &lt;&lt; endl &lt;&lt; v.segment(1, 2) &lt;&lt; endl;</div>
<div class="line">v.segment(1, 2).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the vector v is:&quot;</span> &lt;&lt; endl &lt;&lt; v &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the vector v:
 7 -2  6  6
Here is v.segment(1, 2):
-2 6
Now the vector v is:
7 0 0 6
</pre><dl class="section note"><dt>Note</dt><dd>Even though the returned expression has dynamic size, in the case when it is applied to a fixed-size vector, it inherits a fixed maximal size, which means that evaluating it does not cause a dynamic memory allocation.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a712d8a3514a4454cecba9fc0910588e2">segment(Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a07ec0ea2867c2919e647b2c061a8f007"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstSegmentReturnType segment </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>vecSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a3a182e8a52e9c6761ded3813f751ab03">segment(Index,Index)</a>. </p>

</div>
</div>
<a class="anchor" id="a712d8a3514a4454cecba9fc0910588e2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">FixedSegmentReturnType&lt;Size&gt;::Type segment </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>start</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a fixed-size expression of a segment (i.e. a vector block) in <code>*this</code> </dd></dl>
<p>This is only for vectors (either row-vectors or column-vectors), i.e. matrices which are known at compile-time to have either one row or one column.</p>
<p>The template parameter <em>Size</em> is the number of coefficients in the block</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">start</td><td>the index of the first element of the sub-vector</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga1b8ec6f0766c4900ed6f84f30c36669a">RowVector4i</a> v = RowVector4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the vector v:&quot;</span> &lt;&lt; endl &lt;&lt; v &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is v.segment&lt;2&gt;(1):&quot;</span> &lt;&lt; endl &lt;&lt; v.segment&lt;2&gt;(1) &lt;&lt; endl;</div>
<div class="line">v.segment&lt;2&gt;(2).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the vector v is:&quot;</span> &lt;&lt; endl &lt;&lt; v &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the vector v:
 7 -2  6  6
Here is v.segment&lt;2&gt;(1):
-2 6
Now the vector v is:
 7 -2  0  0
</pre><dl class="section see"><dt>See Also</dt><dd>class Block </dd></dl>

</div>
</div>
<a class="anchor" id="abe083525d1dae2903c972133bd9be062"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstFixedSegmentReturnType&lt;Size&gt;::Type segment </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>start</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a712d8a3514a4454cecba9fc0910588e2">segment&lt;int&gt;(Index)</a>. </p>

</div>
</div>
<a class="anchor" id="a5bcf3187e372ff7cea1e8f61152ae49b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setFromTriplets </td>
          <td>(</td>
          <td class="paramtype">const InputIterators &amp;&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const InputIterators &amp;&#160;</td>
          <td class="paramname"><em>end</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Fill the matrix <code>*this</code> with the list of <em>triplets</em> defined by the iterator range <em>begin</em> - <em>end</em>.</p>
<p>A <em>triplet</em> is a tuple (i,j,value) defining a non-zero element. The input list of triplets does not have to be sorted, and can contains duplicated elements. In any case, the result is a <b>sorted</b> and <b>compressed</b> sparse matrix where the duplicates have been summed up. This is a <em>O(n)</em> operation, with <em>n</em> the number of triplet elements. The initial contents of <code>*this</code> is destroyed. The matrix <code>*this</code> must be properly resized beforehand using the <a class="el" href="classEigen_1_1SparseMatrix.html#a400288628e3257a6216b04ba4b2762c7">SparseMatrix(Index,Index)</a> constructor, or the <a class="el" href="classEigen_1_1SparseMatrix.html#ac20f895ce9b73fa7447196855c0d0758">resize(Index,Index)</a> method. The sizes are not extracted from the triplet list.</p>
<p>The <em>InputIterators</em> value_type must provide the following interface: </p>
<div class="fragment"><div class="line">* Scalar value() <span class="keyword">const</span>; <span class="comment">// the value</span></div>
<div class="line">* Scalar <a class="code" href="classEigen_1_1SparseMatrixBase.html#aa8716d44f51321072ee5c88665c28813">row</a>() <span class="keyword">const</span>;   <span class="comment">// the row index i</span></div>
<div class="line">* Scalar <a class="code" href="classEigen_1_1SparseMatrixBase.html#a58c77695de3b33405f01f2fdf3dc389d">col</a>() <span class="keyword">const</span>;   <span class="comment">// the column index j</span></div>
<div class="line">* </div>
</div><!-- fragment --><p> See for instance the <a class="el" href="classEigen_1_1Triplet.html" title="A small structure to hold a non zero as a triplet (i,j,value). ">Eigen::Triplet</a> template class.</p>
<p>Here is a typical usage example: </p>
<div class="fragment"><div class="line">  <span class="keyword">typedef</span> Triplet&lt;double&gt; T;</div>
<div class="line">  std::vector&lt;T&gt; tripletList;</div>
<div class="line">  triplets.reserve(estimation_of_entries);</div>
<div class="line">  <span class="keywordflow">for</span>(...)</div>
<div class="line">  {</div>
<div class="line">    <span class="comment">// ...</span></div>
<div class="line">    tripletList.push_back(T(i,j,v_ij));</div>
<div class="line">  }</div>
<div class="line">  SparseMatrixType m(rows,cols);</div>
<div class="line">  m.setFromTriplets(tripletList.begin(), tripletList.end());</div>
<div class="line">  <span class="comment">// m is ready to go!</span></div>
<div class="line">* </div>
</div><!-- fragment --><dl class="section warning"><dt>Warning</dt><dd>The list of triplets is read multiple times (at least twice). Therefore, it is not recommended to define an abstract iterator over a complex data-structure that would be expensive to evaluate. The triplets should rather be explicitely stored into a std::vector for instance. </dd></dl>

</div>
</div>
<a class="anchor" id="a382e6ad7e6721b121e510959e1011be3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void setIdentity </td>
          <td>(</td>
          <td class="paramname"></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 *this to the identity matrix </p>

</div>
</div>
<a class="anchor" id="a47affd1a10b589811fc4828c1a2e0c6d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void setZero </td>
          <td>(</td>
          <td class="paramname"></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>Removes all non zeros but keep allocated memory </p>

</div>
</div>
<a class="anchor" id="a76f5bc8a03ec105ab4be1f2b91b7b5d5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Index size </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the number of coefficients, which is <em><a class="el" href="classEigen_1_1SparseMatrixBase.html#a5552abd83dbd03c85cea6d61fd8875a5">rows()</a>*cols</em>(). </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrixBase.html#a5552abd83dbd03c85cea6d61fd8875a5">rows()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#aaca1908a5ec508a25ff0a8bca803e5f3">cols()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="a396133d952d4698941fe010c7ec6f72b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void swap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</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>Swaps the content of two sparse matrices of the same type. This is a fast operation that simply swaps the underlying pointers and parameters. </p>

</div>
</div>
<a class="anchor" id="a806cbb7e3c7357c2c5fbb1a7db4af16d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">SegmentReturnType tail </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>vecSize</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a dynamic-size expression of the last coefficients of *this.</dd></dl>
<p>This is only for vectors (either row-vectors or column-vectors), i.e. matrices which are known at compile-time to have either one row or one column.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">vecSize</td><td>the number of coefficients in the block</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga1b8ec6f0766c4900ed6f84f30c36669a">RowVector4i</a> v = RowVector4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the vector v:&quot;</span> &lt;&lt; endl &lt;&lt; v &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is v.tail(2):&quot;</span> &lt;&lt; endl &lt;&lt; v.tail(2) &lt;&lt; endl;</div>
<div class="line">v.tail(2).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the vector v is:&quot;</span> &lt;&lt; endl &lt;&lt; v &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the vector v:
 7 -2  6  6
Here is v.tail(2):
6 6
Now the vector v is:
 7 -2  0  0
</pre><dl class="section note"><dt>Note</dt><dd>Even though the returned expression has dynamic size, in the case when it is applied to a fixed-size vector, it inherits a fixed maximal size, which means that evaluating it does not cause a dynamic memory allocation.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a3e433315822db2811a65e88c70672743">block(Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a1d0ab1845c547544055d2bc2c3e80124"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstSegmentReturnType tail </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>vecSize</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a806cbb7e3c7357c2c5fbb1a7db4af16d">tail(Index)</a>. </p>

</div>
</div>
<a class="anchor" id="a9da81041f38048642ca460fc6236da79"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">FixedSegmentReturnType&lt;Size&gt;::Type tail </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a fixed-size expression of the last coefficients of *this.</dd></dl>
<p>This is only for vectors (either row-vectors or column-vectors), i.e. matrices which are known at compile-time to have either one row or one column.</p>
<p>The template parameter <em>Size</em> is the number of coefficients in the block</p>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga1b8ec6f0766c4900ed6f84f30c36669a">RowVector4i</a> v = RowVector4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the vector v:&quot;</span> &lt;&lt; endl &lt;&lt; v &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is v.tail(2):&quot;</span> &lt;&lt; endl &lt;&lt; v.tail&lt;2&gt;() &lt;&lt; endl;</div>
<div class="line">v.tail&lt;2&gt;().setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the vector v is:&quot;</span> &lt;&lt; endl &lt;&lt; v &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the vector v:
 7 -2  6  6
Here is v.tail(2):
6 6
Now the vector v is:
 7 -2  0  0
</pre><dl class="section see"><dt>See Also</dt><dd>class Block </dd></dl>

</div>
</div>
<a class="anchor" id="a4b49bb52c71b887195a1d6be95cecf8d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstFixedSegmentReturnType&lt;Size&gt;::Type tail </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of tail&lt;int&gt;. </p>

</div>
</div>
<a class="anchor" id="a6f5fc5fe9d3fb70e62d4a9b1795704a8"></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="classEigen_1_1Block.html">Block</a>&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; topLeftCorner </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a dynamic-size expression of a top-left corner of *this.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cRows</td><td>the number of rows in the corner </td></tr>
    <tr><td class="paramname">cCols</td><td>the number of columns in the corner</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga43fa1a4828b3632224b0a959151ec232">Matrix4i</a> m = Matrix4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the matrix m:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is m.topLeftCorner(2, 2):&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; m.topLeftCorner(2, 2) &lt;&lt; endl;</div>
<div class="line">m.topLeftCorner(2, 2).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the matrix m is:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the matrix m:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is m.topLeftCorner(2, 2):
 7  9
-2 -6
Now the matrix m is:
 0  0 -5 -3
 0  0  1  0
 6 -3  0  9
 6  6  3  9
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="af51f8dd1a464c0fe48182f7bab7ffab6"></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_1Block.html">Block</a>&lt;const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; topLeftCorner </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a6f5fc5fe9d3fb70e62d4a9b1795704a8">topLeftCorner(Index, Index)</a>. </p>

</div>
</div>
<a class="anchor" id="ae06d0a5c4008014fb717866aec8d30c7"></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="classEigen_1_1Block.html">Block</a>&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , CRows, CCols&gt; topLeftCorner </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of a fixed-size top-left corner of *this.</dd></dl>
<p>The template parameters CRows and CCols are the number of rows and columns in the corner.</p>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga43fa1a4828b3632224b0a959151ec232">Matrix4i</a> m = Matrix4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the matrix m:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is m.topLeftCorner&lt;2,2&gt;():&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; m.topLeftCorner&lt;2,2&gt;() &lt;&lt; endl;</div>
<div class="line">m.topLeftCorner&lt;2,2&gt;().setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the matrix m is:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the matrix m:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is m.topLeftCorner&lt;2,2&gt;():
 7  9
-2 -6
Now the matrix m is:
 0  0 -5 -3
 0  0  1  0
 6 -3  0  9
 6  6  3  9
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a29c05f280e61cf18f5865b0065cc769a"></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_1Block.html">Block</a>&lt;const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , CRows, CCols&gt; topLeftCorner </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#ae06d0a5c4008014fb717866aec8d30c7">topLeftCorner&lt;int, int&gt;()</a>. </p>

</div>
</div>
<a class="anchor" id="ae2942bfb77ac330fdd91d3f063686a63"></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="classEigen_1_1Block.html">Block</a>&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , CRows, CCols&gt; topLeftCorner </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of a top-left corner of *this.</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">CRows</td><td>number of rows in corner as specified at compile time </td></tr>
    <tr><td class="paramname">CCols</td><td>number of columns in corner as specified at compile time </td></tr>
  </table>
  </dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cRows</td><td>number of rows in corner as specified at run time </td></tr>
    <tr><td class="paramname">cCols</td><td>number of columns in corner as specified at run time</td></tr>
  </table>
  </dd>
</dl>
<p>This function is mainly useful for corners where the number of rows is specified at compile time and the number of columns is specified at run time, or vice versa. The compile-time and run-time information should not contradict. In other words, <em>cRows</em> should equal <em>CRows</em> unless <em>CRows</em> is <em>Dynamic</em>, and the same for the number of columns.</p>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga43fa1a4828b3632224b0a959151ec232">Matrix4i</a> m = Matrix4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the matrix m:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is m.topLeftCorner&lt;2,Dynamic&gt;(2,2):&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; m.topLeftCorner&lt;2,<a class="code" href="namespaceEigen.html#adc9da5be31bdce40c25a92c27999c0e3">Dynamic</a>&gt;(2,2) &lt;&lt; endl;</div>
<div class="line">m.topLeftCorner&lt;2,<a class="code" href="namespaceEigen.html#adc9da5be31bdce40c25a92c27999c0e3">Dynamic</a>&gt;(2,2).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the matrix m is:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the matrix m:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is m.topLeftCorner&lt;2,Dynamic&gt;(2,2):
 7  9
-2 -6
Now the matrix m is:
 0  0 -5 -3
 0  0  1  0
 6 -3  0  9
 6  6  3  9
</pre><dl class="section see"><dt>See Also</dt><dd>class Block </dd></dl>

</div>
</div>
<a class="anchor" id="a0b549d0127afc14bab07e4f440c4aeec"></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_1Block.html">Block</a>&lt;const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , CRows, CCols&gt; topLeftCorner </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a6f5fc5fe9d3fb70e62d4a9b1795704a8">topLeftCorner&lt;int, int&gt;(Index, Index)</a>. </p>

</div>
</div>
<a class="anchor" id="a318006038c9becc5f9af003b7c77ea18"></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="classEigen_1_1Block.html">Block</a>&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; topRightCorner </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a dynamic-size expression of a top-right corner of *this.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cRows</td><td>the number of rows in the corner </td></tr>
    <tr><td class="paramname">cCols</td><td>the number of columns in the corner</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga43fa1a4828b3632224b0a959151ec232">Matrix4i</a> m = Matrix4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the matrix m:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is m.topRightCorner(2, 2):&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; m.topRightCorner(2, 2) &lt;&lt; endl;</div>
<div class="line">m.topRightCorner(2, 2).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the matrix m is:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the matrix m:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is m.topRightCorner(2, 2):
-5 -3
 1  0
Now the matrix m is:
 7  9  0  0
-2 -6  0  0
 6 -3  0  9
 6  6  3  9
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a8cd6c56ce974c092a0aa0f11ca1853cb"></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_1Block.html">Block</a>&lt;const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; topRightCorner </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a318006038c9becc5f9af003b7c77ea18">topRightCorner(Index, Index)</a>. </p>

</div>
</div>
<a class="anchor" id="ad0088b2c1ec4dbd677dd19f589777945"></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="classEigen_1_1Block.html">Block</a>&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , CRows, CCols&gt; topRightCorner </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of a fixed-size top-right corner of *this.</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">CRows</td><td>the number of rows in the corner </td></tr>
    <tr><td class="paramname">CCols</td><td>the number of columns in the corner</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga43fa1a4828b3632224b0a959151ec232">Matrix4i</a> m = Matrix4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the matrix m:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is m.topRightCorner&lt;2,2&gt;():&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; m.topRightCorner&lt;2,2&gt;() &lt;&lt; endl;</div>
<div class="line">m.topRightCorner&lt;2,2&gt;().setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the matrix m is:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the matrix m:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is m.topRightCorner&lt;2,2&gt;():
-5 -3
 1  0
Now the matrix m is:
 7  9  0  0
-2 -6  0  0
 6 -3  0  9
 6  6  3  9
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a3e433315822db2811a65e88c70672743">block&lt;int,int&gt;(Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="abbe4b3135cc0afa4eee8d9db60c637c1"></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_1Block.html">Block</a>&lt;const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , CRows, CCols&gt; topRightCorner </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#ad0088b2c1ec4dbd677dd19f589777945">topRightCorner&lt;int, int&gt;()</a>. </p>

</div>
</div>
<a class="anchor" id="a1bd671d8eea4781a3808d59718ba8b42"></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="classEigen_1_1Block.html">Block</a>&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , CRows, CCols&gt; topRightCorner </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of a top-right corner of *this.</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">CRows</td><td>number of rows in corner as specified at compile time </td></tr>
    <tr><td class="paramname">CCols</td><td>number of columns in corner as specified at compile time </td></tr>
  </table>
  </dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cRows</td><td>number of rows in corner as specified at run time </td></tr>
    <tr><td class="paramname">cCols</td><td>number of columns in corner as specified at run time</td></tr>
  </table>
  </dd>
</dl>
<p>This function is mainly useful for corners where the number of rows is specified at compile time and the number of columns is specified at run time, or vice versa. The compile-time and run-time information should not contradict. In other words, <em>cRows</em> should equal <em>CRows</em> unless <em>CRows</em> is <em>Dynamic</em>, and the same for the number of columns.</p>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#ga43fa1a4828b3632224b0a959151ec232">Matrix4i</a> m = Matrix4i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the matrix m:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is m.topRightCorner&lt;2,Dynamic&gt;(2,2):&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; m.topRightCorner&lt;2,<a class="code" href="namespaceEigen.html#adc9da5be31bdce40c25a92c27999c0e3">Dynamic</a>&gt;(2,2) &lt;&lt; endl;</div>
<div class="line">m.topRightCorner&lt;2,<a class="code" href="namespaceEigen.html#adc9da5be31bdce40c25a92c27999c0e3">Dynamic</a>&gt;(2,2).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the matrix m is:&quot;</span> &lt;&lt; endl &lt;&lt; m &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the matrix m:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is m.topRightCorner&lt;2,Dynamic&gt;(2,2):
-5 -3
 1  0
Now the matrix m is:
 7  9  0  0
-2 -6  0  0
 6 -3  0  9
 6  6  3  9
</pre><dl class="section see"><dt>See Also</dt><dd>class Block </dd></dl>

</div>
</div>
<a class="anchor" id="a8df165d3b3bedfe1386f20f3c2126973"></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_1Block.html">Block</a>&lt;const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; , CRows, CCols&gt; topRightCorner </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cRows</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>cCols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a318006038c9becc5f9af003b7c77ea18">topRightCorner&lt;int, int&gt;(Index, Index)</a>. </p>

</div>
</div>
<a class="anchor" id="afdfced3e157f74b3bc68892aad178424"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">RowsBlockXpr topRows </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a block consisting of the top rows of *this.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>the number of rows in the block</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line">Array44i a = Array44i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the array a:&quot;</span> &lt;&lt; endl &lt;&lt; a &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is a.topRows(2):&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; a.topRows(2) &lt;&lt; endl;</div>
<div class="line">a.topRows(2).setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the array a is:&quot;</span> &lt;&lt; endl &lt;&lt; a &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the array a:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is a.topRows(2):
 7  9 -5 -3
-2 -6  1  0
Now the array a is:
 0  0  0  0
 0  0  0  0
 6 -3  0  9
 6  6  3  9
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ac77be6c2cf44abbb6f80496cbe14f2af"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstRowsBlockXpr topRows </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#afdfced3e157f74b3bc68892aad178424">topRows(Index)</a>. </p>

</div>
</div>
<a class="anchor" id="a77933058fb3cd3319a86dd0ac4c88d38"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">NRowsBlockXpr&lt;N&gt;::Type topRows </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>a block consisting of the top rows of *this.</dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">N</td><td>the number of rows in the block</td></tr>
  </table>
  </dd>
</dl>
<p>Example: </p>
<div class="fragment"><div class="line">Array44i a = Array44i::Random();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is the array a:&quot;</span> &lt;&lt; endl &lt;&lt; a &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is a.topRows&lt;2&gt;():&quot;</span> &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; a.topRows&lt;2&gt;() &lt;&lt; endl;</div>
<div class="line">a.topRows&lt;2&gt;().setZero();</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Now the array a is:&quot;</span> &lt;&lt; endl &lt;&lt; a &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is the array a:
 7  9 -5 -3
-2 -6  1  0
 6 -3  0  9
 6  6  3  9
Here is a.topRows&lt;2&gt;():
 7  9 -5 -3
-2 -6  1  0
Now the array a is:
 0  0  0  0
 0  0  0  0
 6 -3  0  9
 6  6  3  9
</pre><dl class="section see"><dt>See Also</dt><dd>class Block, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a1dbaa2fc7b809720407130f48dfacf8f">block(Index,Index,Index,Index)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a4d7327699c5128262f29dc66efac6484"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ConstNRowsBlockXpr&lt;N&gt;::Type topRows </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 class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is the const version of <a class="el" href="classEigen_1_1SparseMatrixBase.html#a77933058fb3cd3319a86dd0ac4c88d38">topRows&lt;int&gt;()</a>. </p>

</div>
</div>
<a class="anchor" id="a21092ba41e46066d1f128b38cdbdbbed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">SparseSymmetricPermutationProduct&lt;<a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; ,<a class="el" href="group__enums.html#ggab59c1bec446b10af208f977a871d910bae70afef0d3ff7aca74e17e85ff6c9f2e">Upper</a>|<a class="el" href="group__enums.html#ggab59c1bec446b10af208f977a871d910baf886b397626076218462d53d50eb96bc">Lower</a>&gt; twistedBy </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1PermutationMatrix.html">PermutationMatrix</a>&lt; Dynamic, Dynamic, Index &gt; &amp;&#160;</td>
          <td class="paramname"><em>perm</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of P H P^-1 where H is the matrix represented by <code>*this</code> </dd></dl>

</div>
</div>
<a class="anchor" id="a23fc4bf97168dee2516f85edcfd4cfe7"></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_1CwiseUnaryOp.html">CwiseUnaryOp</a>&lt;CustomUnaryOp, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; unaryExpr </td>
          <td>(</td>
          <td class="paramtype">const CustomUnaryOp &amp;&#160;</td>
          <td class="paramname"><em>func</em> = <code>CustomUnaryOp()</code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Apply a unary operator coefficient-wise. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>Functor implementing the unary operator </td></tr>
  </table>
  </dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">CustomUnaryOp</td><td>Type of <em>func</em> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An expression of a custom coefficient-wise unary operator <em>func</em> of *this</dd></dl>
<p>The function <code>ptr_fun()</code> from the C++ standard library can be used to make functors out of normal functions.</p>
<p>Example: </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;Eigen/Core&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><span class="keyword">using namespace </span>Eigen;</div>
<div class="line"><span class="keyword">using namespace </span>std;</div>
<div class="line"></div>
<div class="line"><span class="comment">// define function to be applied coefficient-wise</span></div>
<div class="line"><span class="keywordtype">double</span> ramp(<span class="keywordtype">double</span> x)</div>
<div class="line">{</div>
<div class="line">  <span class="keywordflow">if</span> (x &gt; 0)</div>
<div class="line">    <span class="keywordflow">return</span> x;</div>
<div class="line">  <span class="keywordflow">else</span> </div>
<div class="line">    <span class="keywordflow">return</span> 0;</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span>, <span class="keywordtype">char</span>**)</div>
<div class="line">{</div>
<div class="line">  <a class="code" href="classEigen_1_1Matrix.html">Matrix4d</a> m1 = Matrix4d::Random();</div>
<div class="line">  cout &lt;&lt; m1 &lt;&lt; endl &lt;&lt; <span class="stringliteral">&quot;becomes: &quot;</span> &lt;&lt; endl &lt;&lt; m1.<a class="code" href="classEigen_1_1MatrixBase.html#a23fc4bf97168dee2516f85edcfd4cfe7">unaryExpr</a>(ptr_fun(ramp)) &lt;&lt; endl;</div>
<div class="line">  <span class="keywordflow">return</span> 0;</div>
<div class="line">}</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">   0.68   0.823  -0.444   -0.27
 -0.211  -0.605   0.108  0.0268
  0.566   -0.33 -0.0452   0.904
  0.597   0.536   0.258   0.832
becomes: 
  0.68  0.823      0      0
     0      0  0.108 0.0268
 0.566      0      0  0.904
 0.597  0.536  0.258  0.832
</pre><p>Genuine functors allow for more possibilities, for instance it may contain a state.</p>
<p>Example: </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;Eigen/Core&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><span class="keyword">using namespace </span>Eigen;</div>
<div class="line"><span class="keyword">using namespace </span>std;</div>
<div class="line"></div>
<div class="line"><span class="comment">// define a custom template unary functor</span></div>
<div class="line"><span class="keyword">template</span>&lt;<span class="keyword">typename</span> Scalar&gt;</div>
<div class="line"><span class="keyword">struct </span>CwiseClampOp {</div>
<div class="line">  CwiseClampOp(<span class="keyword">const</span> Scalar&amp; inf, <span class="keyword">const</span> Scalar&amp; sup) : m_inf(inf), m_sup(sup) {}</div>
<div class="line">  <span class="keyword">const</span> Scalar operator()(<span class="keyword">const</span> Scalar&amp; x)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> x&lt;m_inf ? m_inf : (x&gt;m_sup ? m_sup : x); }</div>
<div class="line">  Scalar m_inf, m_sup;</div>
<div class="line">};</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span>, <span class="keywordtype">char</span>**)</div>
<div class="line">{</div>
<div class="line">  <a class="code" href="classEigen_1_1Matrix.html">Matrix4d</a> m1 = Matrix4d::Random();</div>
<div class="line">  cout &lt;&lt; m1 &lt;&lt; endl &lt;&lt; <span class="stringliteral">&quot;becomes: &quot;</span> &lt;&lt; endl &lt;&lt; m1.<a class="code" href="classEigen_1_1MatrixBase.html#a23fc4bf97168dee2516f85edcfd4cfe7">unaryExpr</a>(CwiseClampOp&lt;double&gt;(-0.5,0.5)) &lt;&lt; endl;</div>
<div class="line">  <span class="keywordflow">return</span> 0;</div>
<div class="line">}</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">   0.68   0.823  -0.444   -0.27
 -0.211  -0.605   0.108  0.0268
  0.566   -0.33 -0.0452   0.904
  0.597   0.536   0.258   0.832
becomes: 
    0.5     0.5  -0.444   -0.27
 -0.211    -0.5   0.108  0.0268
    0.5   -0.33 -0.0452     0.5
    0.5     0.5   0.258     0.5
</pre><dl class="section see"><dt>See Also</dt><dd>class CwiseUnaryOp, class CwiseBinaryOp </dd></dl>

</div>
</div>
<a class="anchor" id="aba9ae3923f6caa962ef3418d6872c369"></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_1CwiseUnaryView.html">CwiseUnaryView</a>&lt;CustomViewOp, const <a class="el" href="classEigen_1_1SparseMatrix.html">SparseMatrix</a>&lt; _Scalar, _Options, _Index &gt; &gt; unaryViewExpr </td>
          <td>(</td>
          <td class="paramtype">const CustomViewOp &amp;&#160;</td>
          <td class="paramname"><em>func</em> = <code>CustomViewOp()</code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>an expression of a custom coefficient-wise unary operator <em>func</em> of *this</dd></dl>
<p>The template parameter <em>CustomUnaryOp</em> is the type of the functor of the custom unary operator.</p>
<p>Example: </p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;Eigen/Core&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><span class="keyword">using namespace </span>Eigen;</div>
<div class="line"><span class="keyword">using namespace </span>std;</div>
<div class="line"></div>
<div class="line"><span class="comment">// define a custom template unary functor</span></div>
<div class="line"><span class="keyword">template</span>&lt;<span class="keyword">typename</span> Scalar&gt;</div>
<div class="line"><span class="keyword">struct </span>CwiseClampOp {</div>
<div class="line">  CwiseClampOp(<span class="keyword">const</span> Scalar&amp; inf, <span class="keyword">const</span> Scalar&amp; sup) : m_inf(inf), m_sup(sup) {}</div>
<div class="line">  <span class="keyword">const</span> Scalar operator()(<span class="keyword">const</span> Scalar&amp; x)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> x&lt;m_inf ? m_inf : (x&gt;m_sup ? m_sup : x); }</div>
<div class="line">  Scalar m_inf, m_sup;</div>
<div class="line">};</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span>, <span class="keywordtype">char</span>**)</div>
<div class="line">{</div>
<div class="line">  <a class="code" href="classEigen_1_1Matrix.html">Matrix4d</a> m1 = Matrix4d::Random();</div>
<div class="line">  cout &lt;&lt; m1 &lt;&lt; endl &lt;&lt; <span class="stringliteral">&quot;becomes: &quot;</span> &lt;&lt; endl &lt;&lt; m1.<a class="code" href="classEigen_1_1MatrixBase.html#a23fc4bf97168dee2516f85edcfd4cfe7">unaryExpr</a>(CwiseClampOp&lt;double&gt;(-0.5,0.5)) &lt;&lt; endl;</div>
<div class="line">  <span class="keywordflow">return</span> 0;</div>
<div class="line">}</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">   0.68   0.823  -0.444   -0.27
 -0.211  -0.605   0.108  0.0268
  0.566   -0.33 -0.0452   0.904
  0.597   0.536   0.258   0.832
becomes: 
    0.5     0.5  -0.444   -0.27
 -0.211    -0.5   0.108  0.0268
    0.5   -0.33 -0.0452     0.5
    0.5     0.5   0.258     0.5
</pre><dl class="section see"><dt>See Also</dt><dd>class CwiseUnaryOp, class CwiseBinaryOp </dd></dl>

</div>
</div>
<a class="anchor" id="a5ef2ab1570917494405e20d95b606684"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void uncompress </td>
          <td>(</td>
          <td class="paramname"></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>Turns the matrix into the uncompressed mode </p>

</div>
</div>
<a class="anchor" id="aa44fe8c6de1533193f303ab7c4d43692"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Scalar* valuePtr </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 pointer to the array of values. This function is aimed at interoperability with other libraries. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrix.html#ac5204064425a0d6c87688ed48dd1d745">innerIndexPtr()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#aa6555eda454250b6cc9cd42e1ba137a1">outerIndexPtr()</a> </dd></dl>

<p>Referenced by <a class="el" href="namespaceEigen.html#ab3b27d71e21e833c5287fcbe49509478">Eigen::viewAsCholmod()</a>.</p>

</div>
</div>
<a class="anchor" id="a68fdb1898144415299720626410f021d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Scalar* valuePtr </td>
          <td>(</td>
          <td class="paramname"></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">
<dl class="section return"><dt>Returns</dt><dd>a non-const pointer to the array of values. This function is aimed at interoperability with other libraries. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1SparseMatrix.html#ac5204064425a0d6c87688ed48dd1d745">innerIndexPtr()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#aa6555eda454250b6cc9cd42e1ba137a1">outerIndexPtr()</a> </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="SparseMatrix_8h_source.html">SparseMatrix.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_1SparseMatrix.html">SparseMatrix</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>