<!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: PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > 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>  <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_1PermutationMatrix.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"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </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_1PermutationMatrix-members.html">List of all members</a> | <a href="#pub-methods">Public Member Functions</a> </div> <div class="headertitle"> <div class="title">PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > Class Template Reference<div class="ingroups"><a class="el" href="group__Core__Module.html">Core 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<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType><br/> class Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType ></h3> <p>Permutation matrix. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">SizeAtCompileTime</td><td>the number of rows/cols, or Dynamic </td></tr> <tr><td class="paramname">MaxSizeAtCompileTime</td><td>the maximum number of rows/cols, or Dynamic. This optional parameter defaults to SizeAtCompileTime. Most of the time, you should not have to specify it. </td></tr> <tr><td class="paramname">IndexType</td><td>the interger type of the indices</td></tr> </table> </dd> </dl> <p>This class represents a permutation matrix, internally stored as a vector of integers.</p> <dl class="section see"><dt>See Also</dt><dd>class <a class="el" href="classEigen_1_1PermutationBase.html" title="Base class for permutations. ">PermutationBase</a>, class <a class="el" href="classEigen_1_1PermutationWrapper.html" title="Class to view a vector of integers as a permutation matrix. ">PermutationWrapper</a>, class <a class="el" href="classEigen_1_1DiagonalMatrix.html" title="Represents a diagonal matrix with its storage. ">DiagonalMatrix</a> </dd></dl> </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 PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >:</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_1PermutationMatrix__inherit__graph.png" border="0" usemap="#PermutationMatrix_3_01SizeAtCompileTime_00_01MaxSizeAtCompileTime_00_01IndexType_01_4_inherit__map" alt="Inheritance graph"/></div> <map name="PermutationMatrix_3_01SizeAtCompileTime_00_01MaxSizeAtCompileTime_00_01IndexType_01_4_inherit__map" id="PermutationMatrix_3_01SizeAtCompileTime_00_01MaxSizeAtCompileTime_00_01IndexType_01_4_inherit__map"> <area shape="rect" id="node2" href="classEigen_1_1PermutationBase.html" title="{PermutationBase\< Permutation\lMatrix\< SizeAtCompileTime,\l MaxSizeAtCompileTime, IndexType \> \>\n||+ applyTranspositionOnTheLeft()\l+ applyTranspositionOnTheRight()\l+ cols()\l+ indices()\l+ indices()\l+ inverse()\l+ operator*()\l+ operator*()\l+ operator=()\l+ operator=()\land 7 more...\l}" alt="" coords="10,323,269,576"/><area shape="rect" id="node3" href="structEigen_1_1EigenBase.html" title="{EigenBase\< PermutationMatrix\l\< SizeAtCompileTime, MaxSizeAtCompile\lTime, IndexType \> \>\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="5,6,275,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:a975548d0fd92d4b2a2cb09c2adf10ce6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1PermutationMatrix.html">PermutationMatrix</a><br class="typebreak"/> < SizeAtCompileTime, <br class="typebreak"/> MaxSizeAtCompileTime, <br class="typebreak"/> IndexType > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationBase.html#a975548d0fd92d4b2a2cb09c2adf10ce6">applyTranspositionOnTheLeft</a> (Index i, Index j)</td></tr> <tr class="separator:a975548d0fd92d4b2a2cb09c2adf10ce6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3f93571373e20799e196513109f5b26e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1PermutationMatrix.html">PermutationMatrix</a><br class="typebreak"/> < SizeAtCompileTime, <br class="typebreak"/> MaxSizeAtCompileTime, <br class="typebreak"/> IndexType > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationBase.html#a3f93571373e20799e196513109f5b26e">applyTranspositionOnTheRight</a> (Index i, Index j)</td></tr> <tr class="separator:a3f93571373e20799e196513109f5b26e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaca1908a5ec508a25ff0a8bca803e5f3"><td class="memItemLeft" align="right" valign="top">Index </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationBase.html#aaca1908a5ec508a25ff0a8bca803e5f3">cols</a> () const</td></tr> <tr class="separator:aaca1908a5ec508a25ff0a8bca803e5f3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa84222add803ad7c9db07dd4dd91d5d9"><td class="memItemLeft" align="right" valign="top">Derived & </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"> </td></tr> <tr class="memitem:a2850de52161dfe2bb6e380f1892276b8"><td class="memItemLeft" align="right" valign="top">const Derived & </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"> </td></tr> <tr class="memitem:a8876d615d17aad77b054a8f58b699e7d"><td class="memItemLeft" align="right" valign="top">const IndicesType & </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationMatrix.html#a8876d615d17aad77b054a8f58b699e7d">indices</a> () const </td></tr> <tr class="separator:a8876d615d17aad77b054a8f58b699e7d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a53f29dec699d5e93db152c51545bc20a"><td class="memItemLeft" align="right" valign="top">IndicesType & </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationMatrix.html#a53f29dec699d5e93db152c51545bc20a">indices</a> ()</td></tr> <tr class="separator:a53f29dec699d5e93db152c51545bc20a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a594deabd0f368a746801f5dd14a0db2a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Transpose.html">Transpose</a>< <a class="el" href="classEigen_1_1PermutationBase.html">PermutationBase</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationBase.html#a594deabd0f368a746801f5dd14a0db2a">inverse</a> () const</td></tr> <tr class="separator:a594deabd0f368a746801f5dd14a0db2a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa06f5ef5169ce3e671abbc8776d2c339"><td class="memItemLeft" align="right" valign="top">PlainPermutationType </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationBase.html#aa06f5ef5169ce3e671abbc8776d2c339">operator*</a> (const <a class="el" href="classEigen_1_1PermutationBase.html">PermutationBase</a>< Other > &other) const</td></tr> <tr class="separator:aa06f5ef5169ce3e671abbc8776d2c339"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0f768ef1b4347d9e26ffdaeda5ceaa65"><td class="memItemLeft" align="right" valign="top">PlainPermutationType </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationBase.html#a0f768ef1b4347d9e26ffdaeda5ceaa65">operator*</a> (const <a class="el" href="classEigen_1_1Transpose.html">Transpose</a>< <a class="el" href="classEigen_1_1PermutationBase.html">PermutationBase</a>< Other > > &other) const</td></tr> <tr class="separator:a0f768ef1b4347d9e26ffdaeda5ceaa65"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5218236626301bb766d28ef2c2bc36cc"><td class="memTemplParams" colspan="2">template<typename Other > </td></tr> <tr class="memitem:a5218236626301bb766d28ef2c2bc36cc"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1PermutationMatrix.html">PermutationMatrix</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationMatrix.html#a5218236626301bb766d28ef2c2bc36cc">operator=</a> (const <a class="el" href="classEigen_1_1PermutationBase.html">PermutationBase</a>< Other > &other)</td></tr> <tr class="separator:a5218236626301bb766d28ef2c2bc36cc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac7eda93f7802af3cbaa59c7af0735e09"><td class="memTemplParams" colspan="2">template<typename Other > </td></tr> <tr class="memitem:ac7eda93f7802af3cbaa59c7af0735e09"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1PermutationMatrix.html">PermutationMatrix</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationMatrix.html#ac7eda93f7802af3cbaa59c7af0735e09">operator=</a> (const TranspositionsBase< Other > &tr)</td></tr> <tr class="separator:ac7eda93f7802af3cbaa59c7af0735e09"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a31817dd0a636b267980d8449e0f28eee"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationMatrix.html#a31817dd0a636b267980d8449e0f28eee">PermutationMatrix</a> (int <a class="el" href="classEigen_1_1PermutationBase.html#a76f5bc8a03ec105ab4be1f2b91b7b5d5">size</a>)</td></tr> <tr class="separator:a31817dd0a636b267980d8449e0f28eee"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1230f979cf18fff312776e5464410ca5"><td class="memTemplParams" colspan="2">template<typename OtherDerived > </td></tr> <tr class="memitem:a1230f979cf18fff312776e5464410ca5"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationMatrix.html#a1230f979cf18fff312776e5464410ca5">PermutationMatrix</a> (const <a class="el" href="classEigen_1_1PermutationBase.html">PermutationBase</a>< OtherDerived > &other)</td></tr> <tr class="separator:a1230f979cf18fff312776e5464410ca5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2fd31b16ca8fcd38623fb2c29c98b673"><td class="memTemplParams" colspan="2">template<typename Other > </td></tr> <tr class="memitem:a2fd31b16ca8fcd38623fb2c29c98b673"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationMatrix.html#a2fd31b16ca8fcd38623fb2c29c98b673">PermutationMatrix</a> (const <a class="el" href="classEigen_1_1MatrixBase.html">MatrixBase</a>< Other > &a_indices)</td></tr> <tr class="separator:a2fd31b16ca8fcd38623fb2c29c98b673"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a93ded22c952fab17f1c74cf421f8e352"><td class="memTemplParams" colspan="2">template<typename Other > </td></tr> <tr class="memitem:a93ded22c952fab17f1c74cf421f8e352"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationMatrix.html#a93ded22c952fab17f1c74cf421f8e352">PermutationMatrix</a> (const TranspositionsBase< Other > &tr)</td></tr> <tr class="separator:a93ded22c952fab17f1c74cf421f8e352"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aeac38cb29a1a50007d60782ae0d41138"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationBase.html#aeac38cb29a1a50007d60782ae0d41138">resize</a> (Index newSize)</td></tr> <tr class="separator:aeac38cb29a1a50007d60782ae0d41138"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5552abd83dbd03c85cea6d61fd8875a5"><td class="memItemLeft" align="right" valign="top">Index </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationBase.html#a5552abd83dbd03c85cea6d61fd8875a5">rows</a> () const</td></tr> <tr class="separator:a5552abd83dbd03c85cea6d61fd8875a5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a382e6ad7e6721b121e510959e1011be3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationBase.html#a382e6ad7e6721b121e510959e1011be3">setIdentity</a> ()</td></tr> <tr class="separator:a382e6ad7e6721b121e510959e1011be3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a10a4bb6bdbaef170276db5837c1e4742"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationBase.html#a10a4bb6bdbaef170276db5837c1e4742">setIdentity</a> (Index newSize)</td></tr> <tr class="separator:a10a4bb6bdbaef170276db5837c1e4742"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a76f5bc8a03ec105ab4be1f2b91b7b5d5"><td class="memItemLeft" align="right" valign="top">Index </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationBase.html#a76f5bc8a03ec105ab4be1f2b91b7b5d5">size</a> () const</td></tr> <tr class="separator:a76f5bc8a03ec105ab4be1f2b91b7b5d5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac4bd143bb38762fd91e546dbda01069b"><td class="memItemLeft" align="right" valign="top">DenseMatrixType </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationBase.html#ac4bd143bb38762fd91e546dbda01069b">toDenseMatrix</a> () const</td></tr> <tr class="separator:ac4bd143bb38762fd91e546dbda01069b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a71ed95486aeea9fb396e85461ad5b73a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1Transpose.html">Transpose</a>< <a class="el" href="classEigen_1_1PermutationBase.html">PermutationBase</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1PermutationBase.html#a71ed95486aeea9fb396e85461ad5b73a">transpose</a> () const</td></tr> <tr class="separator:a71ed95486aeea9fb396e85461ad5b73a"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="a31817dd0a636b267980d8449e0f28eee"></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_1PermutationMatrix.html">PermutationMatrix</a> </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>size</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Constructs an uninitialized permutation matrix of given size. </p> </div> </div> <a class="anchor" id="a1230f979cf18fff312776e5464410ca5"></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_1PermutationMatrix.html">PermutationMatrix</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1PermutationBase.html">PermutationBase</a>< OtherDerived > & </td> <td class="paramname"><em>other</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Copy constructor. </p> </div> </div> <a class="anchor" id="a2fd31b16ca8fcd38623fb2c29c98b673"></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_1PermutationMatrix.html">PermutationMatrix</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1MatrixBase.html">MatrixBase</a>< Other > & </td> <td class="paramname"><em>a_indices</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Generic constructor from expression of the indices. The indices array has the meaning that the permutations sends each integer i to indices[i].</p> <dl class="section warning"><dt>Warning</dt><dd>It is your responsibility to check that the indices array that you passes actually describes a permutation, i.e., each value between 0 and n-1 occurs exactly once, where n is the array's size. </dd></dl> </div> </div> <a class="anchor" id="a93ded22c952fab17f1c74cf421f8e352"></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_1PermutationMatrix.html">PermutationMatrix</a> </td> <td>(</td> <td class="paramtype">const TranspositionsBase< Other > & </td> <td class="paramname"><em>tr</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Convert the <a class="el" href="classEigen_1_1Transpositions.html" title="Represents a sequence of transpositions (row/column interchange) ">Transpositions</a> <em>tr</em> to a permutation matrix </p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="a975548d0fd92d4b2a2cb09c2adf10ce6"></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_1PermutationMatrix.html">PermutationMatrix</a>< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > & applyTranspositionOnTheLeft </td> <td>(</td> <td class="paramtype">Index </td> <td class="paramname"><em>i</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">Index </td> <td class="paramname"><em>j</em> </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"> <p>Multiplies *this by the transposition <img class="formulaInl" alt="$(ij)$" src="form_26.png"/> on the left.</p> <dl class="section return"><dt>Returns</dt><dd>a reference to *this.</dd></dl> <dl class="section warning"><dt>Warning</dt><dd>This is much slower than applyTranspositionOnTheRight(int,int): this has linear complexity and requires a lot of branching.</dd></dl> <dl class="section see"><dt>See Also</dt><dd>applyTranspositionOnTheRight(int,int) </dd></dl> <p>References <a class="el" href="structEigen_1_1EigenBase.html#aa84222add803ad7c9db07dd4dd91d5d9">EigenBase< Derived >::derived()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#a8876d615d17aad77b054a8f58b699e7d">PermutationBase< Derived >::indices()</a>, and <a class="el" href="classEigen_1_1PermutationBase.html#a76f5bc8a03ec105ab4be1f2b91b7b5d5">PermutationBase< Derived >::size()</a>.</p> </div> </div> <a class="anchor" id="a3f93571373e20799e196513109f5b26e"></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_1PermutationMatrix.html">PermutationMatrix</a>< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > & applyTranspositionOnTheRight </td> <td>(</td> <td class="paramtype">Index </td> <td class="paramname"><em>i</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">Index </td> <td class="paramname"><em>j</em> </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"> <p>Multiplies *this by the transposition <img class="formulaInl" alt="$(ij)$" src="form_26.png"/> on the right.</p> <dl class="section return"><dt>Returns</dt><dd>a reference to *this.</dd></dl> <p>This is a fast operation, it only consists in swapping two indices.</p> <dl class="section see"><dt>See Also</dt><dd>applyTranspositionOnTheLeft(int,int) </dd></dl> <p>References <a class="el" href="structEigen_1_1EigenBase.html#aa84222add803ad7c9db07dd4dd91d5d9">EigenBase< Derived >::derived()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#a8876d615d17aad77b054a8f58b699e7d">PermutationBase< Derived >::indices()</a>, and <a class="el" href="classEigen_1_1PermutationBase.html#a76f5bc8a03ec105ab4be1f2b91b7b5d5">PermutationBase< Derived >::size()</a>.</p> </div> </div> <a class="anchor" id="aaca1908a5ec508a25ff0a8bca803e5f3"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">Index cols </td> <td>(</td> <td class="paramtype">void </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 columns </dd></dl> <p>References <a class="el" href="classEigen_1_1PermutationBase.html#a8876d615d17aad77b054a8f58b699e7d">PermutationBase< Derived >::indices()</a>, and <a class="el" href="classEigen_1_1PermutationBase.html#a76f5bc8a03ec105ab4be1f2b91b7b5d5">PermutationBase< Derived >::size()</a>.</p> </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& 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< Derived >::applyOnTheLeft()</a>, <a class="el" href="classEigen_1_1MatrixBase.html#a6e5b1e71a1916ddd01e7c324831c40dc">MatrixBase< Derived >::applyOnTheRight()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#a975548d0fd92d4b2a2cb09c2adf10ce6">PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >::applyTranspositionOnTheLeft()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#a3f93571373e20799e196513109f5b26e">PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >::applyTranspositionOnTheRight()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#ae762210a1ab89bed1673edc09a6ec8b7">SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::binaryExpr()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a878151caf2ff25ebbc76186485f81207">SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::bottomLeftCorner()</a>, <a class="el" href="structEigen_1_1EigenBase.html#aaca1908a5ec508a25ff0a8bca803e5f3">EigenBase< SparseSymmetricPermutationProduct< MatrixType, UpLo > >::cols()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#aaca1908a5ec508a25ff0a8bca803e5f3">SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::cols()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a571c36d7211bd03dd1a06ac46c002fe5">SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::eval()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#a8876d615d17aad77b054a8f58b699e7d">PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >::indices()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#a594deabd0f368a746801f5dd14a0db2a">PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >::inverse()</a>, <a class="el" href="classEigen_1_1RotationBase.html#acd4f0475d084e54c0dde2ef3f78822c0">RotationBase< Derived, 3 >::operator*()</a>, <a class="el" href="classEigen_1_1SparseSelfAdjointView.html#a6becf66c0294e516cbe73141c4276452">SparseSelfAdjointView< MatrixType, UpLo >::operator*()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#aa06f5ef5169ce3e671abbc8776d2c339">PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >::operator*()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#ae7d7083917427445e50f3c4b5bf8ba6a">SparseMatrixBase< Derived >::operator*()</a>, <a class="el" href="classEigen_1_1Transform.html#a3846f7a4b892ed530881f52a5460ddf6">Transform< Scalar, Dim, Mode, _Options >::operator*()</a>, <a class="el" href="namespaceEigen.html#a81fb70d0dc1c6deb42e9816647607247">Eigen::operator*()</a>, <a class="el" href="classEigen_1_1MatrixBase.html#ac9beaa3954c989bbbc59b361d9423e78">MatrixBase< Derived >::operator*=()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#ac96d811c408d8e282ad0036b1b9ed42f">PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >::operator=()</a>, <a class="el" href="classEigen_1_1DenseBase.html#acde54311cdc2b5731a6d27f7a5f7ad1b">DenseBase< Derived >::operator=()</a>, <a class="el" href="classEigen_1_1Transform.html#a746fdf41f0377f203f231a1705cf6012">Transform< Scalar, Dim, Mode, _Options >::operator=()</a>, <a class="el" href="classEigen_1_1PlainObjectBase.html#a65a58af12990c2e395a7f0b4012d3b94">PlainObjectBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::operator=()</a>, <a class="el" href="classEigen_1_1PlainObjectBase.html#ab5207d4c7f9d20e5fc74bfc9b54620b4">PlainObjectBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::PlainObjectBase()</a>, <a class="el" href="classEigen_1_1PlainObjectBase.html#abe7b7417203825a6e434449cf0ac6529">PlainObjectBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::resizeLike()</a>, <a class="el" href="structEigen_1_1EigenBase.html#a5552abd83dbd03c85cea6d61fd8875a5">EigenBase< SparseSymmetricPermutationProduct< MatrixType, UpLo > >::rows()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#a5552abd83dbd03c85cea6d61fd8875a5">SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::rows()</a>, <a class="el" href="classEigen_1_1SimplicialCholeskyBase.html#abe2318376d9cb41fa612b793035da397">SimplicialCholeskyBase< SimplicialLDLT< _MatrixType, _UpLo > >::solve()</a>, <a class="el" href="classEigen_1_1IterativeSolverBase.html#a7892f6fbc52bfa658e1324a63d376d1c">IterativeSolverBase< ConjugateGradient< _MatrixType, _UpLo, _Preconditioner > >::solve()</a>, <a class="el" href="classEigen_1_1SparseLU.html#a39062d90ea647b4e7668452647b04b17">SparseLU< _MatrixType, _OrderingType >::solve()</a>, <a class="el" href="classEigen_1_1UmfPackLU.html#a6c606e11055ed3d815183705c57b22b4">UmfPackLU< _MatrixType >::solve()</a>, <a class="el" href="classEigen_1_1CholmodBase.html#a81db76105fedf365cdbc200774911847">CholmodBase< _MatrixType, _UpLo, CholmodSimplicialLLT< _MatrixType, _UpLo > >::solve()</a>, <a class="el" href="classEigen_1_1SuperLUBase.html#a0bf5dc2154e2f03bf871eca997c6e6e6">SuperLUBase< _MatrixType, SuperILU< _MatrixType > >::solve()</a>, <a class="el" href="classEigen_1_1SparseMatrix.html#ab42390876ea7ef3fe4845b936c281c99">SparseMatrix< Scalar, RowMajor >::SparseMatrix()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#ac4bd143bb38762fd91e546dbda01069b">PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >::toDenseMatrix()</a>, <a class="el" href="classEigen_1_1SparseMatrixBase.html#ae06d0a5c4008014fb717866aec8d30c7">SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::topLeftCorner()</a>, <a class="el" href="classEigen_1_1Transform.html#ae80ecf3abb4b22d409c5adbd19850aa8">Transform< Scalar, Dim, Mode, _Options >::Transform()</a>, <a class="el" href="classEigen_1_1PermutationBase.html#a71ed95486aeea9fb396e85461ad5b73a">PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >::transpose()</a>, and <a class="el" href="classEigen_1_1SparseMatrixBase.html#aba9ae3923f6caa962ef3418d6872c369">SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::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& 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="a8876d615d17aad77b054a8f58b699e7d"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const IndicesType& indices </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>const version of <a class="el" href="classEigen_1_1PermutationMatrix.html#a53f29dec699d5e93db152c51545bc20a">indices()</a>. </p> <p>Referenced by <a class="el" href="classEigen_1_1SparseLU.html#a6f2a135bd741b6b2f2558e6a404581ff">SparseLU< _MatrixType, _OrderingType >::analyzePattern()</a>, <a class="el" href="classEigen_1_1SPQR.html#a60c6e65462cb1cab3a89d3afb37b35a0">SPQR< MatrixType >::colsPermutation()</a>, and <a class="el" href="classEigen_1_1COLAMDOrdering.html#ac34b06dbd6ced375bdcafe85f0ccd3e4">COLAMDOrdering< Index >::operator()()</a>.</p> </div> </div> <a class="anchor" id="a53f29dec699d5e93db152c51545bc20a"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">IndicesType& indices </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd>a reference to the stored array representing the permutation. </dd></dl> </div> </div> <a class="anchor" id="a594deabd0f368a746801f5dd14a0db2a"></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_1Transpose.html">Transpose</a><<a class="el" href="classEigen_1_1PermutationBase.html">PermutationBase</a>> inverse </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 inverse permutation matrix.</dd></dl> <dl class="section note"><dt>Note</dt><dd>This function returns the result by value. In order to make that efficient, it is implemented as just a return statement using a special constructor, hopefully allowing the compiler to perform a RVO (return value optimization). </dd></dl> <p>References <a class="el" href="structEigen_1_1EigenBase.html#aa84222add803ad7c9db07dd4dd91d5d9">EigenBase< Derived >::derived()</a>.</p> </div> </div> <a class="anchor" id="aa06f5ef5169ce3e671abbc8776d2c339"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">PlainPermutationType operator* </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1PermutationBase.html">PermutationBase</a>< Other > & </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>the product permutation matrix.</dd></dl> <dl class="section note"><dt>Note</dt><dd>This function returns the result by value. In order to make that efficient, it is implemented as just a return statement using a special constructor, hopefully allowing the compiler to perform a RVO (return value optimization). </dd></dl> <p>References <a class="el" href="structEigen_1_1EigenBase.html#aa84222add803ad7c9db07dd4dd91d5d9">EigenBase< Derived >::derived()</a>.</p> </div> </div> <a class="anchor" id="a0f768ef1b4347d9e26ffdaeda5ceaa65"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">PlainPermutationType operator* </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1Transpose.html">Transpose</a>< <a class="el" href="classEigen_1_1PermutationBase.html">PermutationBase</a>< Other > > & </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>the product of a permutation with another inverse permutation.</dd></dl> <dl class="section note"><dt>Note</dt><dd>This function returns the result by value. In order to make that efficient, it is implemented as just a return statement using a special constructor, hopefully allowing the compiler to perform a RVO (return value optimization). </dd></dl> </div> </div> <a class="anchor" id="a5218236626301bb766d28ef2c2bc36cc"></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_1PermutationMatrix.html">PermutationMatrix</a>& operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classEigen_1_1PermutationBase.html">PermutationBase</a>< Other > & </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>Copies the other permutation into *this </p> </div> </div> <a class="anchor" id="ac7eda93f7802af3cbaa59c7af0735e09"></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_1PermutationMatrix.html">PermutationMatrix</a>& operator= </td> <td>(</td> <td class="paramtype">const TranspositionsBase< Other > & </td> <td class="paramname"><em>tr</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>Assignment from the <a class="el" href="classEigen_1_1Transpositions.html" title="Represents a sequence of transpositions (row/column interchange) ">Transpositions</a> <em>tr</em> </p> </div> </div> <a class="anchor" id="aeac38cb29a1a50007d60782ae0d41138"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void resize </td> <td>(</td> <td class="paramtype">Index </td> <td class="paramname"><em>newSize</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"> <p>Resizes to given size. </p> <p>References <a class="el" href="classEigen_1_1PermutationBase.html#a8876d615d17aad77b054a8f58b699e7d">PermutationBase< Derived >::indices()</a>.</p> </div> </div> <a class="anchor" id="a5552abd83dbd03c85cea6d61fd8875a5"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">Index rows </td> <td>(</td> <td class="paramtype">void </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 rows </dd></dl> <p>References <a class="el" href="classEigen_1_1PermutationBase.html#a8876d615d17aad77b054a8f58b699e7d">PermutationBase< Derived >::indices()</a>, and <a class="el" href="classEigen_1_1PermutationBase.html#a76f5bc8a03ec105ab4be1f2b91b7b5d5">PermutationBase< Derived >::size()</a>.</p> </div> </div> <a class="anchor" id="a382e6ad7e6721b121e510959e1011be3"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void setIdentity </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Sets *this to be the identity permutation matrix </p> <p>References <a class="el" href="classEigen_1_1PermutationBase.html#a8876d615d17aad77b054a8f58b699e7d">PermutationBase< Derived >::indices()</a>, and <a class="el" href="classEigen_1_1PermutationBase.html#a76f5bc8a03ec105ab4be1f2b91b7b5d5">PermutationBase< Derived >::size()</a>.</p> </div> </div> <a class="anchor" id="a10a4bb6bdbaef170276db5837c1e4742"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void setIdentity </td> <td>(</td> <td class="paramtype">Index </td> <td class="paramname"><em>newSize</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"> <p>Sets *this to be the identity permutation matrix of given size. </p> <p>References <a class="el" href="classEigen_1_1PermutationBase.html#aeac38cb29a1a50007d60782ae0d41138">PermutationBase< Derived >::resize()</a>, and <a class="el" href="classEigen_1_1PermutationBase.html#a382e6ad7e6721b121e510959e1011be3">PermutationBase< Derived >::setIdentity()</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 size of a side of the respective square matrix, i.e., the number of indices </dd></dl> <p>References <a class="el" href="classEigen_1_1PermutationBase.html#a8876d615d17aad77b054a8f58b699e7d">PermutationBase< Derived >::indices()</a>, and <a class="el" href="classEigen_1_1PermutationBase.html#a76f5bc8a03ec105ab4be1f2b91b7b5d5">PermutationBase< Derived >::size()</a>.</p> </div> </div> <a class="anchor" id="ac4bd143bb38762fd91e546dbda01069b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">DenseMatrixType toDenseMatrix </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 Matrix object initialized from this permutation matrix. Notice that it is inefficient to return this Matrix object by value. For efficiency, favor using the Matrix constructor taking EigenBase objects. </dd></dl> <p>References <a class="el" href="structEigen_1_1EigenBase.html#aa84222add803ad7c9db07dd4dd91d5d9">EigenBase< Derived >::derived()</a>.</p> </div> </div> <a class="anchor" id="a71ed95486aeea9fb396e85461ad5b73a"></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_1Transpose.html">Transpose</a><<a class="el" href="classEigen_1_1PermutationBase.html">PermutationBase</a>> transpose </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 tranpose permutation matrix.</dd></dl> <dl class="section note"><dt>Note</dt><dd>This function returns the result by value. In order to make that efficient, it is implemented as just a return statement using a special constructor, hopefully allowing the compiler to perform a RVO (return value optimization). </dd></dl> <p>References <a class="el" href="structEigen_1_1EigenBase.html#aa84222add803ad7c9db07dd4dd91d5d9">EigenBase< Derived >::derived()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="PermutationMatrix_8h_source.html">PermutationMatrix.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_1PermutationMatrix.html">PermutationMatrix</a></li> <li class="footer">Generated on Mon Oct 28 2013 11:04:30 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>