Sophie

Sophie

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

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: SparseVector&lt; _Scalar, _Flags, _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_1SparseVector.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_1SparseVector-members.html">List of all members</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">SparseVector&lt; _Scalar, _Flags, _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 _Flags = 0, typename _Index = int&gt;<br/>
class Eigen::SparseVector&lt; _Scalar, _Flags, _Index &gt;</h3>

<p>a sparse vector class </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>
  </table>
  </dd>
</dl>
<p>See <a href="http://www.netlib.org/linalg/html_templates/node91.html">http://www.netlib.org/linalg/html_templates/node91.html</a> for details on the storage scheme.</p>
<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_SPARSEVECTOR_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 SparseVector&lt; _Scalar, _Flags, _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_1SparseVector__inherit__graph.png" border="0" usemap="#SparseVector_3_01__Scalar_00_01__Flags_00_01__Index_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="SparseVector_3_01__Scalar_00_01__Flags_00_01__Index_01_4_inherit__map" id="SparseVector_3_01__Scalar_00_01__Flags_00_01__Index_01_4_inherit__map">
<area shape="rect" id="node2" href="classEigen_1_1SparseMatrixBase.html" title="{SparseMatrixBase\&lt; Sparse\lVector\&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="17,323,199,605"/><area shape="rect" id="node3" href="structEigen_1_1EigenBase.html" title="{EigenBase\&lt; SparseVector\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="20,6,196,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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;::Scalar, <br class="typebreak"/>
NewType &gt;, const <a class="el" href="classEigen_1_1SparseVector.html">SparseVector</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:a628cc6bf467f74c3c2d54b0cc414e98b"><td class="memItemLeft" align="right" valign="top">Scalar &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseVector.html#a628cc6bf467f74c3c2d54b0cc414e98b">coeffRef</a> (Index i)</td></tr>
<tr class="separator:a628cc6bf467f74c3c2d54b0cc414e98b"><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: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: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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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:a571c36d7211bd03dd1a06ac46c002fe5"><td class="memItemLeft" align="right" valign="top">const internal::eval<br class="typebreak"/>
&lt; <a class="el" href="classEigen_1_1SparseVector.html">SparseVector</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: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: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_1SparseVector.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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;::Scalar &gt;<br class="typebreak"/>
, const <a class="el" href="classEigen_1_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</a>&lt; _Scalar, <br class="typebreak"/>
_Options, _Index &gt; &gt;::Scalar &gt;<br class="typebreak"/>
, const <a class="el" href="classEigen_1_1SparseVector.html">SparseVector</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: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: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: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: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:a50aa7e3daf217e806abef0a44a54ce96"><td class="memItemLeft" align="right" valign="top">Scalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseVector.html#a50aa7e3daf217e806abef0a44a54ce96">sum</a> () const </td></tr>
<tr class="separator:a50aa7e3daf217e806abef0a44a54ce96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4c953fb9e8b7ce8457c288601d6b4ea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseVector.html#aa4c953fb9e8b7ce8457c288601d6b4ea">swap</a> (<a class="el" href="classEigen_1_1SparseVector.html">SparseVector</a> &amp;other)</td></tr>
<tr class="separator:aa4c953fb9e8b7ce8457c288601d6b4ea"><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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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:a5f5e6bacb0ddda1f48d6ec87564b9dc1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1SparseVector.html#a5f5e6bacb0ddda1f48d6ec87564b9dc1">~SparseVector</a> ()</td></tr>
<tr class="separator:a5f5e6bacb0ddda1f48d6ec87564b9dc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a5f5e6bacb0ddda1f48d6ec87564b9dc1"></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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</a>&lt; _Scalar, _Options, _Index &gt; &gt;::Scalar, NewType&gt;, const <a class="el" href="classEigen_1_1SparseVector.html">SparseVector</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="a628cc6bf467f74c3c2d54b0cc414e98b"></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>i</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">
<dl class="section return"><dt>Returns</dt><dd>a reference to the coefficient value at given index <em>i</em> This operation involes a log(rho*size) binary search. If the coefficient does not exist yet, then a sorted insertion into a sequential buffer is performed.</dd></dl>
<p>This insertion might be very costly if the number of nonzeros above <em>i</em> is large. </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>

</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="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="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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</a>&lt; _Scalar, _Options, _Index &gt;  ::Scalar, typename OtherDerived ::Scalar &gt;, const <a class="el" href="classEigen_1_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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="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_1SparseVector.html">SparseVector</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="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="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>

</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</a>&lt; _Scalar, _Options, _Index &gt; &gt;::Scalar&gt;, const <a class="el" href="classEigen_1_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</a>&lt; _Scalar, _Options, _Index &gt; &gt;::Scalar&gt;, const <a class="el" href="classEigen_1_1SparseVector.html">SparseVector</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="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="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>

</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="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="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="a50aa7e3daf217e806abef0a44a54ce96"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">internal::traits&lt; <a class="el" href="classEigen_1_1SparseVector.html">SparseVector</a>&lt; _Scalar, _Options, _Index &gt; &gt;::Scalar sum </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Overloaded for performance </p>

</div>
</div>
<a class="anchor" id="aa4c953fb9e8b7ce8457c288601d6b4ea"></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_1SparseVector.html">SparseVector</a>&lt; _Scalar, _Flags, _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 values of <code>*this</code> and <em>other</em>. Overloaded for performance: this version performs a <em>shallow</em> swap by swaping pointers and attributes only. </p>
<dl class="section see"><dt>See Also</dt><dd>SparseMatrixBase::swap() </dd></dl>

</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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_1SparseVector.html">SparseVector</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>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="SparseUtil_8h_source.html">SparseUtil.h</a></li>
<li><a class="el" href="SparseVector_8h_source.html">SparseVector.h</a></li>
<li><a class="el" href="SparseRedux_8h_source.html">SparseRedux.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_1SparseVector.html">SparseVector</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>