Sophie

Sophie

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

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: ComplexEigenSolver&lt; _MatrixType &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_1ComplexEigenSolver.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_1ComplexEigenSolver-members.html">List of all members</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">ComplexEigenSolver&lt; _MatrixType &gt; Class Template Reference<div class="ingroups"><a class="el" href="group__Eigenvalues__Module.html">Eigenvalues module</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename _MatrixType&gt;<br/>
class Eigen::ComplexEigenSolver&lt; _MatrixType &gt;</h3>

<p>Computes eigenvalues and eigenvectors of general complex matrices. </p>
<p>This is defined in the Eigenvalues module.</p>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;Eigen/Eigenvalues&gt;</span> </div>
</div><!-- fragment --><dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">_MatrixType</td><td>the type of the matrix of which we are computing the eigendecomposition; this is expected to be an instantiation of the <a class="el" href="classEigen_1_1Matrix.html" title="The matrix class, also used for vectors and row-vectors. ">Matrix</a> class template.</td></tr>
  </table>
  </dd>
</dl>
<p>The eigenvalues and eigenvectors of a matrix <img class="formulaInl" alt="$ A $" src="form_1.png"/> are scalars <img class="formulaInl" alt="$ \lambda $" src="form_38.png"/> and vectors <img class="formulaInl" alt="$ v $" src="form_13.png"/> such that <img class="formulaInl" alt="$ Av = \lambda v $" src="form_39.png"/>. If <img class="formulaInl" alt="$ D $" src="form_10.png"/> is a diagonal matrix with the eigenvalues on the diagonal, and <img class="formulaInl" alt="$ V $" src="form_40.png"/> is a matrix with the eigenvectors as its columns, then <img class="formulaInl" alt="$ A V = V D $" src="form_41.png"/>. The matrix <img class="formulaInl" alt="$ V $" src="form_40.png"/> is almost always invertible, in which case we have <img class="formulaInl" alt="$ A = V D V^{-1} $" src="form_42.png"/>. This is called the eigendecomposition.</p>
<p>The main function in this class is <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a5c53421aa899f6214349c62bad5f36f8" title="Computes eigendecomposition of given matrix. ">compute()</a>, which computes the eigenvalues and eigenvectors of a given function. The documentation for that function contains an example showing the main features of the class.</p>
<dl class="section see"><dt>See Also</dt><dd>class <a class="el" href="classEigen_1_1EigenSolver.html" title="Computes eigenvalues and eigenvectors of general matrices. ">EigenSolver</a>, class <a class="el" href="classEigen_1_1SelfAdjointEigenSolver.html" title="Computes eigenvalues and eigenvectors of selfadjoint matrices. ">SelfAdjointEigenSolver</a> </dd></dl>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a1b9bc0a45616064df3a6168395e3cfcc"><td class="memItemLeft" align="right" valign="top">typedef std::complex&lt; RealScalar &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1ComplexEigenSolver.html#a1b9bc0a45616064df3a6168395e3cfcc">ComplexScalar</a></td></tr>
<tr class="memdesc:a1b9bc0a45616064df3a6168395e3cfcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Complex scalar type for <a class="el" href="classEigen_1_1ComplexEigenSolver.html#aeb6c0eb89cc982629305f6c7e0791caf" title="Synonym for the template parameter _MatrixType. ">MatrixType</a>.  <a href="#a1b9bc0a45616064df3a6168395e3cfcc">More...</a><br/></td></tr>
<tr class="separator:a1b9bc0a45616064df3a6168395e3cfcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bacc53058a77ef90a61b1f24eac57ea"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classEigen_1_1Matrix.html">Matrix</a>&lt; <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a1b9bc0a45616064df3a6168395e3cfcc">ComplexScalar</a>, <br class="typebreak"/>
ColsAtCompileTime, 1, Options <br class="typebreak"/>
&amp;(~<a class="el" href="group__enums.html#gga0c5bde183ecefe103f70b49ad9740bcda1e16fa1b92ed7a058cd4ce7a9a0db044">RowMajor</a>), <br class="typebreak"/>
MaxColsAtCompileTime, 1 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1ComplexEigenSolver.html#a1bacc53058a77ef90a61b1f24eac57ea">EigenvalueType</a></td></tr>
<tr class="memdesc:a1bacc53058a77ef90a61b1f24eac57ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type for vector of eigenvalues as returned by <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a1165fd63a951c6afaf239174d22e9945" title="Returns the eigenvalues of given matrix. ">eigenvalues()</a>.  <a href="#a1bacc53058a77ef90a61b1f24eac57ea">More...</a><br/></td></tr>
<tr class="separator:a1bacc53058a77ef90a61b1f24eac57ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab56d974ddc62e97452c463987159c040"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classEigen_1_1Matrix.html">Matrix</a>&lt; <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a1b9bc0a45616064df3a6168395e3cfcc">ComplexScalar</a>, <br class="typebreak"/>
RowsAtCompileTime, <br class="typebreak"/>
ColsAtCompileTime, Options, <br class="typebreak"/>
MaxRowsAtCompileTime, <br class="typebreak"/>
MaxColsAtCompileTime &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1ComplexEigenSolver.html#ab56d974ddc62e97452c463987159c040">EigenvectorType</a></td></tr>
<tr class="memdesc:ab56d974ddc62e97452c463987159c040"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type for matrix of eigenvectors as returned by <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a810ff7d8ff9ee9bfc5641d4f3f904eb6" title="Returns the eigenvectors of given matrix. ">eigenvectors()</a>.  <a href="#ab56d974ddc62e97452c463987159c040">More...</a><br/></td></tr>
<tr class="separator:ab56d974ddc62e97452c463987159c040"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb6c0eb89cc982629305f6c7e0791caf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb6c0eb89cc982629305f6c7e0791caf"></a>
typedef _MatrixType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1ComplexEigenSolver.html#aeb6c0eb89cc982629305f6c7e0791caf">MatrixType</a></td></tr>
<tr class="memdesc:aeb6c0eb89cc982629305f6c7e0791caf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Synonym for the template parameter <code>_MatrixType</code>. <br/></td></tr>
<tr class="separator:aeb6c0eb89cc982629305f6c7e0791caf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f6fc00047c205ee590f676934aab28f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f6fc00047c205ee590f676934aab28f"></a>
typedef MatrixType::Scalar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1ComplexEigenSolver.html#a3f6fc00047c205ee590f676934aab28f">Scalar</a></td></tr>
<tr class="memdesc:a3f6fc00047c205ee590f676934aab28f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scalar type for matrices of type <a class="el" href="classEigen_1_1ComplexEigenSolver.html#aeb6c0eb89cc982629305f6c7e0791caf" title="Synonym for the template parameter _MatrixType. ">MatrixType</a>. <br/></td></tr>
<tr class="separator:a3f6fc00047c205ee590f676934aab28f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:a6df2ea6989cb34f6febf45c6a961560f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1ComplexEigenSolver.html#a6df2ea6989cb34f6febf45c6a961560f">ComplexEigenSolver</a> ()</td></tr>
<tr class="memdesc:a6df2ea6989cb34f6febf45c6a961560f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="#a6df2ea6989cb34f6febf45c6a961560f">More...</a><br/></td></tr>
<tr class="separator:a6df2ea6989cb34f6febf45c6a961560f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24a667e12f56defc879c90eee4ba1971"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1ComplexEigenSolver.html#a24a667e12f56defc879c90eee4ba1971">ComplexEigenSolver</a> (Index size)</td></tr>
<tr class="memdesc:a24a667e12f56defc879c90eee4ba1971"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor with memory preallocation.  <a href="#a24a667e12f56defc879c90eee4ba1971">More...</a><br/></td></tr>
<tr class="separator:a24a667e12f56defc879c90eee4ba1971"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7c9eab1a5d3a2b3a6acdf599b917953"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1ComplexEigenSolver.html#af7c9eab1a5d3a2b3a6acdf599b917953">ComplexEigenSolver</a> (const <a class="el" href="classEigen_1_1ComplexEigenSolver.html#aeb6c0eb89cc982629305f6c7e0791caf">MatrixType</a> &amp;matrix, bool computeEigenvectors=true)</td></tr>
<tr class="memdesc:af7c9eab1a5d3a2b3a6acdf599b917953"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor; computes eigendecomposition of given matrix.  <a href="#af7c9eab1a5d3a2b3a6acdf599b917953">More...</a><br/></td></tr>
<tr class="separator:af7c9eab1a5d3a2b3a6acdf599b917953"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c53421aa899f6214349c62bad5f36f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classEigen_1_1ComplexEigenSolver.html">ComplexEigenSolver</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1ComplexEigenSolver.html#a5c53421aa899f6214349c62bad5f36f8">compute</a> (const <a class="el" href="classEigen_1_1ComplexEigenSolver.html#aeb6c0eb89cc982629305f6c7e0791caf">MatrixType</a> &amp;matrix, bool computeEigenvectors=true)</td></tr>
<tr class="memdesc:a5c53421aa899f6214349c62bad5f36f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes eigendecomposition of given matrix.  <a href="#a5c53421aa899f6214349c62bad5f36f8">More...</a><br/></td></tr>
<tr class="separator:a5c53421aa899f6214349c62bad5f36f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1165fd63a951c6afaf239174d22e9945"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a1bacc53058a77ef90a61b1f24eac57ea">EigenvalueType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1ComplexEigenSolver.html#a1165fd63a951c6afaf239174d22e9945">eigenvalues</a> () const </td></tr>
<tr class="memdesc:a1165fd63a951c6afaf239174d22e9945"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the eigenvalues of given matrix.  <a href="#a1165fd63a951c6afaf239174d22e9945">More...</a><br/></td></tr>
<tr class="separator:a1165fd63a951c6afaf239174d22e9945"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a810ff7d8ff9ee9bfc5641d4f3f904eb6"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classEigen_1_1ComplexEigenSolver.html#ab56d974ddc62e97452c463987159c040">EigenvectorType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1ComplexEigenSolver.html#a810ff7d8ff9ee9bfc5641d4f3f904eb6">eigenvectors</a> () const </td></tr>
<tr class="memdesc:a810ff7d8ff9ee9bfc5641d4f3f904eb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the eigenvectors of given matrix.  <a href="#a810ff7d8ff9ee9bfc5641d4f3f904eb6">More...</a><br/></td></tr>
<tr class="separator:a810ff7d8ff9ee9bfc5641d4f3f904eb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6f0a63ea1d26cef5e748207043eb43e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab6f0a63ea1d26cef5e748207043eb43e"></a>
Index&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1ComplexEigenSolver.html#ab6f0a63ea1d26cef5e748207043eb43e">getMaxIterations</a> ()</td></tr>
<tr class="memdesc:ab6f0a63ea1d26cef5e748207043eb43e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the maximum number of iterations. <br/></td></tr>
<tr class="separator:ab6f0a63ea1d26cef5e748207043eb43e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c06d5c2034ebb329c54235369643ad2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__enums.html#ga51bc1ac16f26ebe51eae1abb77bd037b">ComputationInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1ComplexEigenSolver.html#a0c06d5c2034ebb329c54235369643ad2">info</a> () const </td></tr>
<tr class="memdesc:a0c06d5c2034ebb329c54235369643ad2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reports whether previous computation was successful.  <a href="#a0c06d5c2034ebb329c54235369643ad2">More...</a><br/></td></tr>
<tr class="separator:a0c06d5c2034ebb329c54235369643ad2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b1b6c1fccb22b96c7ecc6d8c0a11a1e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b1b6c1fccb22b96c7ecc6d8c0a11a1e"></a>
<a class="el" href="classEigen_1_1ComplexEigenSolver.html">ComplexEigenSolver</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEigen_1_1ComplexEigenSolver.html#a3b1b6c1fccb22b96c7ecc6d8c0a11a1e">setMaxIterations</a> (Index maxIters)</td></tr>
<tr class="memdesc:a3b1b6c1fccb22b96c7ecc6d8c0a11a1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the maximum number of iterations allowed. <br/></td></tr>
<tr class="separator:a3b1b6c1fccb22b96c7ecc6d8c0a11a1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="a1b9bc0a45616064df3a6168395e3cfcc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::complex&lt;RealScalar&gt; <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a1b9bc0a45616064df3a6168395e3cfcc">ComplexScalar</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Complex scalar type for <a class="el" href="classEigen_1_1ComplexEigenSolver.html#aeb6c0eb89cc982629305f6c7e0791caf" title="Synonym for the template parameter _MatrixType. ">MatrixType</a>. </p>
<p>This is <code>std::complex&lt;Scalar&gt;</code> if <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a3f6fc00047c205ee590f676934aab28f" title="Scalar type for matrices of type MatrixType. ">Scalar</a> is real (e.g., <code>float</code> or <code>double</code>) and just <code>Scalar</code> if <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a3f6fc00047c205ee590f676934aab28f" title="Scalar type for matrices of type MatrixType. ">Scalar</a> is complex. </p>

</div>
</div>
<a class="anchor" id="a1bacc53058a77ef90a61b1f24eac57ea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classEigen_1_1Matrix.html">Matrix</a>&lt;<a class="el" href="classEigen_1_1ComplexEigenSolver.html#a1b9bc0a45616064df3a6168395e3cfcc">ComplexScalar</a>, ColsAtCompileTime, 1, Options&amp;(~<a class="el" href="group__enums.html#gga0c5bde183ecefe103f70b49ad9740bcda1e16fa1b92ed7a058cd4ce7a9a0db044">RowMajor</a>), MaxColsAtCompileTime, 1&gt; <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a1bacc53058a77ef90a61b1f24eac57ea">EigenvalueType</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Type for vector of eigenvalues as returned by <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a1165fd63a951c6afaf239174d22e9945" title="Returns the eigenvalues of given matrix. ">eigenvalues()</a>. </p>
<p>This is a column vector with entries of type <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a1b9bc0a45616064df3a6168395e3cfcc" title="Complex scalar type for MatrixType. ">ComplexScalar</a>. The length of the vector is the size of <a class="el" href="classEigen_1_1ComplexEigenSolver.html#aeb6c0eb89cc982629305f6c7e0791caf" title="Synonym for the template parameter _MatrixType. ">MatrixType</a>. </p>

</div>
</div>
<a class="anchor" id="ab56d974ddc62e97452c463987159c040"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classEigen_1_1Matrix.html">Matrix</a>&lt;<a class="el" href="classEigen_1_1ComplexEigenSolver.html#a1b9bc0a45616064df3a6168395e3cfcc">ComplexScalar</a>, RowsAtCompileTime, ColsAtCompileTime, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime&gt; <a class="el" href="classEigen_1_1ComplexEigenSolver.html#ab56d974ddc62e97452c463987159c040">EigenvectorType</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Type for matrix of eigenvectors as returned by <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a810ff7d8ff9ee9bfc5641d4f3f904eb6" title="Returns the eigenvectors of given matrix. ">eigenvectors()</a>. </p>
<p>This is a square matrix with entries of type <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a1b9bc0a45616064df3a6168395e3cfcc" title="Complex scalar type for MatrixType. ">ComplexScalar</a>. The size is the same as the size of <a class="el" href="classEigen_1_1ComplexEigenSolver.html#aeb6c0eb89cc982629305f6c7e0791caf" title="Synonym for the template parameter _MatrixType. ">MatrixType</a>. </p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a6df2ea6989cb34f6febf45c6a961560f"></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_1ComplexEigenSolver.html">ComplexEigenSolver</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default constructor. </p>
<p>The default constructor is useful in cases in which the user intends to perform decompositions via <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a5c53421aa899f6214349c62bad5f36f8" title="Computes eigendecomposition of given matrix. ">compute()</a>. </p>

</div>
</div>
<a class="anchor" id="a24a667e12f56defc879c90eee4ba1971"></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_1ComplexEigenSolver.html">ComplexEigenSolver</a> </td>
          <td>(</td>
          <td class="paramtype">Index&#160;</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>Default Constructor with memory preallocation. </p>
<p>Like the default constructor but with preallocation of the internal data according to the specified problem <em>size</em>. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classEigen_1_1ComplexEigenSolver.html#a6df2ea6989cb34f6febf45c6a961560f" title="Default constructor. ">ComplexEigenSolver()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="af7c9eab1a5d3a2b3a6acdf599b917953"></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_1ComplexEigenSolver.html">ComplexEigenSolver</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1ComplexEigenSolver.html#aeb6c0eb89cc982629305f6c7e0791caf">MatrixType</a> &amp;&#160;</td>
          <td class="paramname"><em>matrix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>computeEigenvectors</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor; computes eigendecomposition of given matrix. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">matrix</td><td>Square matrix whose eigendecomposition is to be computed. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">computeEigenvectors</td><td>If true, both the eigenvectors and the eigenvalues are computed; if false, only the eigenvalues are computed.</td></tr>
  </table>
  </dd>
</dl>
<p>This constructor calls <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a5c53421aa899f6214349c62bad5f36f8" title="Computes eigendecomposition of given matrix. ">compute()</a> to compute the eigendecomposition. </p>

<p>References <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a5c53421aa899f6214349c62bad5f36f8">ComplexEigenSolver&lt; _MatrixType &gt;::compute()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a5c53421aa899f6214349c62bad5f36f8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classEigen_1_1ComplexEigenSolver.html">ComplexEigenSolver</a>&lt; <a class="el" href="classEigen_1_1ComplexEigenSolver.html#aeb6c0eb89cc982629305f6c7e0791caf">MatrixType</a> &gt; &amp; compute </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classEigen_1_1ComplexEigenSolver.html#aeb6c0eb89cc982629305f6c7e0791caf">MatrixType</a> &amp;&#160;</td>
          <td class="paramname"><em>matrix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>computeEigenvectors</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Computes eigendecomposition of given matrix. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">matrix</td><td>Square matrix whose eigendecomposition is to be computed. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">computeEigenvectors</td><td>If true, both the eigenvectors and the eigenvalues are computed; if false, only the eigenvalues are computed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to <code>*this</code> </dd></dl>
<p>This function computes the eigenvalues of the complex matrix <code>matrix</code>. The <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a1165fd63a951c6afaf239174d22e9945" title="Returns the eigenvalues of given matrix. ">eigenvalues()</a> function can be used to retrieve them. If <code>computeEigenvectors</code> is true, then the eigenvectors are also computed and can be retrieved by calling <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a810ff7d8ff9ee9bfc5641d4f3f904eb6" title="Returns the eigenvectors of given matrix. ">eigenvectors()</a>.</p>
<p>The matrix is first reduced to Schur form using the <a class="el" href="classEigen_1_1ComplexSchur.html" title="Performs a complex Schur decomposition of a real or complex square matrix. ">ComplexSchur</a> class. The Schur decomposition is then used to compute the eigenvalues and eigenvectors.</p>
<p>The cost of the computation is dominated by the cost of the Schur decomposition, which is <img class="formulaInl" alt="$ O(n^3) $" src="form_44.png"/> where <img class="formulaInl" alt="$ n $" src="form_45.png"/> is the size of the matrix.</p>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#gaec02f1e32a13e5997899a554105ebfd4">MatrixXcf</a> A = <a class="code" href="classEigen_1_1DenseBase.html#a8e759dafdd9ecc446d397b7f5435f60a">MatrixXcf::Random</a>(4,4);</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Here is a random 4x4 matrix, A:&quot;</span> &lt;&lt; endl &lt;&lt; A &lt;&lt; endl &lt;&lt; endl;</div>
<div class="line"></div>
<div class="line">ComplexEigenSolver&lt;MatrixXcf&gt; ces;</div>
<div class="line">ces.compute(A);</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;The eigenvalues of A are:&quot;</span> &lt;&lt; endl &lt;&lt; ces.eigenvalues() &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;The matrix of eigenvectors, V, is:&quot;</span> &lt;&lt; endl &lt;&lt; ces.eigenvectors() &lt;&lt; endl &lt;&lt; endl;</div>
<div class="line"></div>
<div class="line">complex&lt;float&gt; lambda = ces.eigenvalues()[0];</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Consider the first eigenvalue, lambda = &quot;</span> &lt;&lt; lambda &lt;&lt; endl;</div>
<div class="line"><a class="code" href="group__matrixtypedefs.html#gae1c93041343a1ab92754065baed4ff7d">VectorXcf</a> v = ces.eigenvectors().col(0);</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;If v is the corresponding eigenvector, then lambda * v = &quot;</span> &lt;&lt; endl &lt;&lt; lambda * v &lt;&lt; endl;</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;... and A * v = &quot;</span> &lt;&lt; endl &lt;&lt; A * v &lt;&lt; endl &lt;&lt; endl;</div>
<div class="line"></div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;Finally, V * D * V^(-1) = &quot;</span> &lt;&lt; endl</div>
<div class="line">     &lt;&lt; ces.eigenvectors() * ces.eigenvalues().asDiagonal() * ces.eigenvectors().inverse() &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">Here is a random 4x4 matrix, A:
  (-0.211,0.68)  (0.108,-0.444)   (0.435,0.271) (-0.198,-0.687)
  (0.597,0.566) (0.258,-0.0452)  (0.214,-0.717)  (-0.782,-0.74)
 (-0.605,0.823)  (0.0268,-0.27) (-0.514,-0.967)  (-0.563,0.998)
  (0.536,-0.33)   (0.832,0.904)  (0.608,-0.726)  (0.678,0.0259)

The eigenvalues of A are:
(0.137,0.505)
(-0.758,1.22)
(1.52,-0.402)
(-0.691,-1.63)
The matrix of eigenvectors, V, is:
  (-0.246,-0.106)     (0.418,0.263)   (0.0417,-0.296)    (-0.122,0.271)
  (-0.205,-0.629)    (0.466,-0.457)    (0.244,-0.456)      (0.247,0.23)
 (-0.432,-0.0359) (-0.0651,-0.0146)    (-0.191,0.334)   (0.859,-0.0877)
    (-0.301,0.46)    (-0.41,-0.397)     (0.623,0.328)    (-0.116,0.195)

Consider the first eigenvalue, lambda = (0.137,0.505)
If v is the corresponding eigenvector, then lambda * v = 
(0.0197,-0.139)
(0.29,-0.19)
(-0.0412,-0.223)
(-0.274,-0.0891)
... and A * v = 
(0.0197,-0.139)
(0.29,-0.19)
(-0.0412,-0.223)
(-0.274,-0.0891)

Finally, V * D * V^(-1) = 
  (-0.211,0.68)  (0.108,-0.444)   (0.435,0.271) (-0.198,-0.687)
  (0.597,0.566) (0.258,-0.0452)  (0.214,-0.717)  (-0.782,-0.74)
 (-0.605,0.823)  (0.0268,-0.27) (-0.514,-0.967)  (-0.563,0.998)
  (0.536,-0.33)   (0.832,0.904)  (0.608,-0.726)  (0.678,0.0259)
</pre> 
<p>References <a class="el" href="group__enums.html#gga51bc1ac16f26ebe51eae1abb77bd037bafdfbdf3247bd36a1f17270d5cec74c9c">Eigen::Success</a>.</p>

<p>Referenced by <a class="el" href="classEigen_1_1ComplexEigenSolver.html#af7c9eab1a5d3a2b3a6acdf599b917953">ComplexEigenSolver&lt; _MatrixType &gt;::ComplexEigenSolver()</a>.</p>

</div>
</div>
<a class="anchor" id="a1165fd63a951c6afaf239174d22e9945"></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_1ComplexEigenSolver.html#a1bacc53058a77ef90a61b1f24eac57ea">EigenvalueType</a>&amp; eigenvalues </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>Returns the eigenvalues of given matrix. </p>
<dl class="section return"><dt>Returns</dt><dd>A const reference to the column vector containing the eigenvalues.</dd></dl>
<dl class="section pre"><dt>Precondition</dt><dd>Either the constructor <a class="el" href="classEigen_1_1ComplexEigenSolver.html#af7c9eab1a5d3a2b3a6acdf599b917953" title="Constructor; computes eigendecomposition of given matrix. ">ComplexEigenSolver(const MatrixType&amp; matrix, bool)</a> or the member function <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a5c53421aa899f6214349c62bad5f36f8" title="Computes eigendecomposition of given matrix. ">compute(const MatrixType&amp; matrix, bool)</a> has been called before to compute the eigendecomposition of a matrix.</dd></dl>
<p>This function returns a column vector containing the eigenvalues. Eigenvalues are repeated according to their algebraic multiplicity, so there are as many eigenvalues as rows in the matrix. The eigenvalues are not sorted in any particular order.</p>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#gaec02f1e32a13e5997899a554105ebfd4">MatrixXcf</a> ones = <a class="code" href="classEigen_1_1DenseBase.html#a2278addf9a3c977d40322571a0df8ac9">MatrixXcf::Ones</a>(3,3);</div>
<div class="line">ComplexEigenSolver&lt;MatrixXcf&gt; ces(ones, <span class="comment">/* computeEigenvectors = */</span> <span class="keyword">false</span>);</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;The eigenvalues of the 3x3 matrix of ones are:&quot;</span> </div>
<div class="line">     &lt;&lt; endl &lt;&lt; ces.eigenvalues() &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">The eigenvalues of the 3x3 matrix of ones are:
(0,-0)
(0,0)
(3,0)
</pre> 
</div>
</div>
<a class="anchor" id="a810ff7d8ff9ee9bfc5641d4f3f904eb6"></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_1ComplexEigenSolver.html#ab56d974ddc62e97452c463987159c040">EigenvectorType</a>&amp; eigenvectors </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>Returns the eigenvectors of given matrix. </p>
<dl class="section return"><dt>Returns</dt><dd>A const reference to the matrix whose columns are the eigenvectors.</dd></dl>
<dl class="section pre"><dt>Precondition</dt><dd>Either the constructor <a class="el" href="classEigen_1_1ComplexEigenSolver.html#af7c9eab1a5d3a2b3a6acdf599b917953" title="Constructor; computes eigendecomposition of given matrix. ">ComplexEigenSolver(const MatrixType&amp; matrix, bool)</a> or the member function <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a5c53421aa899f6214349c62bad5f36f8" title="Computes eigendecomposition of given matrix. ">compute(const MatrixType&amp; matrix, bool)</a> has been called before to compute the eigendecomposition of a matrix, and <code>computeEigenvectors</code> was set to true (the default).</dd></dl>
<p>This function returns a matrix whose columns are the eigenvectors. Column <img class="formulaInl" alt="$ k $" src="form_43.png"/> is an eigenvector corresponding to eigenvalue number <img class="formulaInl" alt="$ k $" src="form_43.png"/> as returned by <a class="el" href="classEigen_1_1ComplexEigenSolver.html#a1165fd63a951c6afaf239174d22e9945" title="Returns the eigenvalues of given matrix. ">eigenvalues()</a>. The eigenvectors are normalized to have (Euclidean) norm equal to one. The matrix returned by this function is the matrix <img class="formulaInl" alt="$ V $" src="form_40.png"/> in the eigendecomposition <img class="formulaInl" alt="$ A = V D V^{-1} $" src="form_42.png"/>, if it exists.</p>
<p>Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__matrixtypedefs.html#gaec02f1e32a13e5997899a554105ebfd4">MatrixXcf</a> ones = <a class="code" href="classEigen_1_1DenseBase.html#a2278addf9a3c977d40322571a0df8ac9">MatrixXcf::Ones</a>(3,3);</div>
<div class="line">ComplexEigenSolver&lt;MatrixXcf&gt; ces(ones);</div>
<div class="line">cout &lt;&lt; <span class="stringliteral">&quot;The first eigenvector of the 3x3 matrix of ones is:&quot;</span> </div>
<div class="line">     &lt;&lt; endl &lt;&lt; ces.eigenvectors().col(1) &lt;&lt; endl;</div>
</div><!-- fragment --><p> Output: </p>
<pre class="fragment">The first eigenvector of the 3x3 matrix of ones is:
(0.154,0)
(-0.772,0)
(0.617,0)
</pre> 
</div>
</div>
<a class="anchor" id="a0c06d5c2034ebb329c54235369643ad2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__enums.html#ga51bc1ac16f26ebe51eae1abb77bd037b">ComputationInfo</a> info </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reports whether previous computation was successful. </p>
<dl class="section return"><dt>Returns</dt><dd><code>Success</code> if computation was succesful, <code>NoConvergence</code> otherwise. </dd></dl>

<p>References <a class="el" href="classEigen_1_1ComplexSchur.html#a0c06d5c2034ebb329c54235369643ad2">ComplexSchur&lt; _MatrixType &gt;::info()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="ComplexEigenSolver_8h_source.html">ComplexEigenSolver.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_1ComplexEigenSolver.html">ComplexEigenSolver</a></li>
    <li class="footer">Generated on Mon Oct 28 2013 11:04:28 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>