| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> |
| <title>EigenDecomposition (Apache Commons Math 3.3 API)</title> |
| <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="EigenDecomposition (Apache Commons Math 3.3 API)"; |
| } |
| //--> |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a name="navbar_top"> |
| <!-- --> |
| </a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/EigenDecomposition.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../../../org/apache/commons/math3/linear/DiagonalMatrix.html" title="class in org.apache.commons.math3.linear"><span class="strong">Prev Class</span></a></li> |
| <li><a href="../../../../../org/apache/commons/math3/linear/FieldDecompositionSolver.html" title="interface in org.apache.commons.math3.linear"><span class="strong">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../index.html?org/apache/commons/math3/linear/EigenDecomposition.html" target="_top">Frames</a></li> |
| <li><a href="EigenDecomposition.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_top"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li><a href="#constructor_summary">Constr</a> | </li> |
| <li><a href="#method_summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor_detail">Constr</a> | </li> |
| <li><a href="#method_detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip-navbar_top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="subTitle">org.apache.commons.math3.linear</div> |
| <h2 title="Class EigenDecomposition" class="title">Class EigenDecomposition</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.commons.math3.linear.EigenDecomposition</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <hr> |
| <br> |
| <pre>public class <span class="strong">EigenDecomposition</span> |
| extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre> |
| <div class="block">Calculates the eigen decomposition of a real matrix. |
| <p>The eigen decomposition of matrix A is a set of two matrices: |
| V and D such that A = V × D × V<sup>T</sup>. |
| A, V and D are all m × m matrices.</p> |
| <p>This class is similar in spirit to the <code>EigenvalueDecomposition</code> |
| class from the <a href="http://math.nist.gov/javanumerics/jama/">JAMA</a> |
| library, with the following changes:</p> |
| <ul> |
| <li>a <a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getVT()"><code>getVt</code></a> method has been added,</li> |
| <li>two <a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getRealEigenvalue(int)"><code>getRealEigenvalue</code></a> and <a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getImagEigenvalue(int)"><code>getImagEigenvalue</code></a> methods to pick up a single eigenvalue have been added,</li> |
| <li>a <a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getEigenvector(int)"><code>getEigenvector</code></a> method to pick up a single |
| eigenvector has been added,</li> |
| <li>a <a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getDeterminant()"><code>getDeterminant</code></a> method has been added.</li> |
| <li>a <a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getSolver()"><code>getSolver</code></a> method has been added.</li> |
| </ul> |
| <p> |
| As of 3.1, this class supports general real matrices (both symmetric and non-symmetric): |
| </p> |
| <p> |
| If A is symmetric, then A = V*D*V' where the eigenvalue matrix D is diagonal and the eigenvector |
| matrix V is orthogonal, i.e. A = V.multiply(D.multiply(V.transpose())) and |
| V.multiply(V.transpose()) equals the identity matrix. |
| </p> |
| <p> |
| If A is not symmetric, then the eigenvalue matrix D is block diagonal with the real eigenvalues |
| in 1-by-1 blocks and any complex eigenvalues, lambda + i*mu, in 2-by-2 blocks: |
| <pre> |
| [lambda, mu ] |
| [ -mu, lambda] |
| </pre> |
| The columns of V represent the eigenvectors in the sense that A*V = V*D, |
| i.e. A.multiply(V) equals V.multiply(D). |
| The matrix V may be badly conditioned, or even singular, so the validity of the equation |
| A = V*D*inverse(V) depends upon the condition of V. |
| </p> |
| <p> |
| This implementation is based on the paper by A. Drubrulle, R.S. Martin and |
| J.H. Wilkinson "The Implicit QL Algorithm" in Wilksinson and Reinsch (1971) |
| Handbook for automatic computation, vol. 2, Linear algebra, Springer-Verlag, |
| New-York |
| </p></div> |
| <dl><dt><span class="strong">Since:</span></dt> |
| <dd>2.0 (changed to concrete class in 3.0)</dd> |
| <dt><span class="strong">Version:</span></dt> |
| <dd>$Id: EigenDecomposition.java 1538368 2013-11-03 13:57:37Z erans $</dd> |
| <dt><span class="strong">See Also:</span></dt><dd><a href="http://mathworld.wolfram.com/EigenDecomposition.html">MathWorld</a>, |
| <a href="http://en.wikipedia.org/wiki/Eigendecomposition_of_a_matrix">Wikipedia</a></dd></dl> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor_summary"> |
| <!-- --> |
| </a> |
| <h3>Constructor Summary</h3> |
| <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> |
| <caption><span>Constructors</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colOne" scope="col">Constructor and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#EigenDecomposition(double[], double[])">EigenDecomposition</a></strong>(double[] main, |
| double[] secondary)</code> |
| <div class="block">Calculates the eigen decomposition of the symmetric tridiagonal |
| matrix.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#EigenDecomposition(double[], double[], double)">EigenDecomposition</a></strong>(double[] main, |
| double[] secondary, |
| double splitTolerance)</code> |
| <div class="block"><strong>Deprecated.</strong> |
| <div class="block"><i>in 3.1 (to be removed in 4.0) due to unused parameter</i></div> |
| </div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#EigenDecomposition(org.apache.commons.math3.linear.RealMatrix)">EigenDecomposition</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a> matrix)</code> |
| <div class="block">Calculates the eigen decomposition of the given real matrix.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#EigenDecomposition(org.apache.commons.math3.linear.RealMatrix, double)">EigenDecomposition</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a> matrix, |
| double splitTolerance)</code> |
| <div class="block"><strong>Deprecated.</strong> |
| <div class="block"><i>in 3.1 (to be removed in 4.0) due to unused parameter</i></div> |
| </div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method_summary"> |
| <!-- --> |
| </a> |
| <h3>Method Summary</h3> |
| <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> |
| <caption><span>Methods</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Method and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getD()">getD</a></strong>()</code> |
| <div class="block">Gets the block diagonal matrix D of the decomposition.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>double</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getDeterminant()">getDeterminant</a></strong>()</code> |
| <div class="block">Computes the determinant of the matrix.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getEigenvector(int)">getEigenvector</a></strong>(int i)</code> |
| <div class="block">Gets a copy of the i<sup>th</sup> eigenvector of the original matrix.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>double</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getImagEigenvalue(int)">getImagEigenvalue</a></strong>(int i)</code> |
| <div class="block">Gets the imaginary part of the i<sup>th</sup> eigenvalue of the original |
| matrix.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>double[]</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getImagEigenvalues()">getImagEigenvalues</a></strong>()</code> |
| <div class="block">Gets a copy of the imaginary parts of the eigenvalues of the original |
| matrix.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>double</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getRealEigenvalue(int)">getRealEigenvalue</a></strong>(int i)</code> |
| <div class="block">Returns the real part of the i<sup>th</sup> eigenvalue of the original |
| matrix.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>double[]</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getRealEigenvalues()">getRealEigenvalues</a></strong>()</code> |
| <div class="block">Gets a copy of the real parts of the eigenvalues of the original matrix.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/DecompositionSolver.html" title="interface in org.apache.commons.math3.linear">DecompositionSolver</a></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getSolver()">getSolver</a></strong>()</code> |
| <div class="block">Gets a solver for finding the A × X = B solution in exact |
| linear sense.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getSquareRoot()">getSquareRoot</a></strong>()</code> |
| <div class="block">Computes the square-root of the matrix.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getV()">getV</a></strong>()</code> |
| <div class="block">Gets the matrix V of the decomposition.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getVT()">getVT</a></strong>()</code> |
| <div class="block">Gets the transpose of the matrix V of the decomposition.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#hasComplexEigenvalues()">hasComplexEigenvalues</a></strong>()</code> |
| <div class="block">Returns whether the calculated eigen values are complex or real.</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3> |
| <code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor_detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a name="EigenDecomposition(org.apache.commons.math3.linear.RealMatrix)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>EigenDecomposition</h4> |
| <pre>public EigenDecomposition(<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a> matrix) |
| throws <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block">Calculates the eigen decomposition of the given real matrix. |
| <p> |
| Supports decomposition of a general matrix since 3.1.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>matrix</code> - Matrix to decompose.</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MaxCountExceededException.html" title="class in org.apache.commons.math3.exception">MaxCountExceededException</a></code> - if the algorithm fails to converge.</dd> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the decomposition of a general matrix |
| results in a matrix with zero norm</dd><dt><span class="strong">Since:</span></dt> |
| <dd>3.1</dd></dl> |
| </li> |
| </ul> |
| <a name="EigenDecomposition(org.apache.commons.math3.linear.RealMatrix, double)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>EigenDecomposition</h4> |
| <pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public EigenDecomposition(<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a> matrix, |
| double splitTolerance) |
| throws <a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block"><span class="strong">Deprecated.</span> <i>in 3.1 (to be removed in 4.0) due to unused parameter</i></div> |
| <div class="block">Calculates the eigen decomposition of the given real matrix.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>matrix</code> - Matrix to decompose.</dd><dd><code>splitTolerance</code> - Dummy parameter (present for backward |
| compatibility only).</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the decomposition of a general matrix |
| results in a matrix with zero norm</dd> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MaxCountExceededException.html" title="class in org.apache.commons.math3.exception">MaxCountExceededException</a></code> - if the algorithm fails to converge.</dd></dl> |
| </li> |
| </ul> |
| <a name="EigenDecomposition(double[], double[])"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>EigenDecomposition</h4> |
| <pre>public EigenDecomposition(double[] main, |
| double[] secondary)</pre> |
| <div class="block">Calculates the eigen decomposition of the symmetric tridiagonal |
| matrix. The Householder matrix is assumed to be the identity matrix.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>main</code> - Main diagonal of the symmetric tridiagonal form.</dd><dd><code>secondary</code> - Secondary of the tridiagonal form.</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MaxCountExceededException.html" title="class in org.apache.commons.math3.exception">MaxCountExceededException</a></code> - if the algorithm fails to converge.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>3.1</dd></dl> |
| </li> |
| </ul> |
| <a name="EigenDecomposition(double[], double[], double)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>EigenDecomposition</h4> |
| <pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> |
| public EigenDecomposition(double[] main, |
| double[] secondary, |
| double splitTolerance)</pre> |
| <div class="block"><span class="strong">Deprecated.</span> <i>in 3.1 (to be removed in 4.0) due to unused parameter</i></div> |
| <div class="block">Calculates the eigen decomposition of the symmetric tridiagonal |
| matrix. The Householder matrix is assumed to be the identity matrix.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>main</code> - Main diagonal of the symmetric tridiagonal form.</dd><dd><code>secondary</code> - Secondary of the tridiagonal form.</dd><dd><code>splitTolerance</code> - Dummy parameter (present for backward |
| compatibility only).</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MaxCountExceededException.html" title="class in org.apache.commons.math3.exception">MaxCountExceededException</a></code> - if the algorithm fails to converge.</dd></dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ============ METHOD DETAIL ========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method_detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a name="getV()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getV</h4> |
| <pre>public <a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a> getV()</pre> |
| <div class="block">Gets the matrix V of the decomposition. |
| V is an orthogonal matrix, i.e. its transpose is also its inverse. |
| The columns of V are the eigenvectors of the original matrix. |
| No assumption is made about the orientation of the system axes formed |
| by the columns of V (e.g. in a 3-dimension space, V can form a left- |
| or right-handed system).</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>the V matrix.</dd></dl> |
| </li> |
| </ul> |
| <a name="getD()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getD</h4> |
| <pre>public <a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a> getD()</pre> |
| <div class="block">Gets the block diagonal matrix D of the decomposition. |
| D is a block diagonal matrix. |
| Real eigenvalues are on the diagonal while complex values are on |
| 2x2 blocks { {real +imaginary}, {-imaginary, real} }.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>the D matrix.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getRealEigenvalues()"><code>getRealEigenvalues()</code></a>, |
| <a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getImagEigenvalues()"><code>getImagEigenvalues()</code></a></dd></dl> |
| </li> |
| </ul> |
| <a name="getVT()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getVT</h4> |
| <pre>public <a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a> getVT()</pre> |
| <div class="block">Gets the transpose of the matrix V of the decomposition. |
| V is an orthogonal matrix, i.e. its transpose is also its inverse. |
| The columns of V are the eigenvectors of the original matrix. |
| No assumption is made about the orientation of the system axes formed |
| by the columns of V (e.g. in a 3-dimension space, V can form a left- |
| or right-handed system).</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>the transpose of the V matrix.</dd></dl> |
| </li> |
| </ul> |
| <a name="hasComplexEigenvalues()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>hasComplexEigenvalues</h4> |
| <pre>public boolean hasComplexEigenvalues()</pre> |
| <div class="block">Returns whether the calculated eigen values are complex or real. |
| <p>The method performs a zero check for each element of the |
| <a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getImagEigenvalues()"><code>getImagEigenvalues()</code></a> array and returns <code>true</code> if any |
| element is not equal to zero.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the eigen values are complex, <code>false</code> otherwise</dd><dt><span class="strong">Since:</span></dt> |
| <dd>3.1</dd></dl> |
| </li> |
| </ul> |
| <a name="getRealEigenvalues()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getRealEigenvalues</h4> |
| <pre>public double[] getRealEigenvalues()</pre> |
| <div class="block">Gets a copy of the real parts of the eigenvalues of the original matrix.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>a copy of the real parts of the eigenvalues of the original matrix.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getD()"><code>getD()</code></a>, |
| <a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getRealEigenvalue(int)"><code>getRealEigenvalue(int)</code></a>, |
| <a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getImagEigenvalues()"><code>getImagEigenvalues()</code></a></dd></dl> |
| </li> |
| </ul> |
| <a name="getRealEigenvalue(int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getRealEigenvalue</h4> |
| <pre>public double getRealEigenvalue(int i)</pre> |
| <div class="block">Returns the real part of the i<sup>th</sup> eigenvalue of the original |
| matrix.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>i</code> - index of the eigenvalue (counting from 0)</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>real part of the i<sup>th</sup> eigenvalue of the original |
| matrix.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getD()"><code>getD()</code></a>, |
| <a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getRealEigenvalues()"><code>getRealEigenvalues()</code></a>, |
| <a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getImagEigenvalue(int)"><code>getImagEigenvalue(int)</code></a></dd></dl> |
| </li> |
| </ul> |
| <a name="getImagEigenvalues()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getImagEigenvalues</h4> |
| <pre>public double[] getImagEigenvalues()</pre> |
| <div class="block">Gets a copy of the imaginary parts of the eigenvalues of the original |
| matrix.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>a copy of the imaginary parts of the eigenvalues of the original |
| matrix.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getD()"><code>getD()</code></a>, |
| <a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getImagEigenvalue(int)"><code>getImagEigenvalue(int)</code></a>, |
| <a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getRealEigenvalues()"><code>getRealEigenvalues()</code></a></dd></dl> |
| </li> |
| </ul> |
| <a name="getImagEigenvalue(int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getImagEigenvalue</h4> |
| <pre>public double getImagEigenvalue(int i)</pre> |
| <div class="block">Gets the imaginary part of the i<sup>th</sup> eigenvalue of the original |
| matrix.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>i</code> - Index of the eigenvalue (counting from 0).</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>the imaginary part of the i<sup>th</sup> eigenvalue of the original |
| matrix.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getD()"><code>getD()</code></a>, |
| <a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getImagEigenvalues()"><code>getImagEigenvalues()</code></a>, |
| <a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getRealEigenvalue(int)"><code>getRealEigenvalue(int)</code></a></dd></dl> |
| </li> |
| </ul> |
| <a name="getEigenvector(int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getEigenvector</h4> |
| <pre>public <a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a> getEigenvector(int i)</pre> |
| <div class="block">Gets a copy of the i<sup>th</sup> eigenvector of the original matrix.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>i</code> - Index of the eigenvector (counting from 0).</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>a copy of the i<sup>th</sup> eigenvector of the original matrix.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/EigenDecomposition.html#getD()"><code>getD()</code></a></dd></dl> |
| </li> |
| </ul> |
| <a name="getDeterminant()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getDeterminant</h4> |
| <pre>public double getDeterminant()</pre> |
| <div class="block">Computes the determinant of the matrix.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>the determinant of the matrix.</dd></dl> |
| </li> |
| </ul> |
| <a name="getSquareRoot()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getSquareRoot</h4> |
| <pre>public <a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a> getSquareRoot()</pre> |
| <div class="block">Computes the square-root of the matrix. |
| This implementation assumes that the matrix is symmetric and positive |
| definite.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>the square-root of the matrix.</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathUnsupportedOperationException.html" title="class in org.apache.commons.math3.exception">MathUnsupportedOperationException</a></code> - if the matrix is not |
| symmetric or not positive definite.</dd><dt><span class="strong">Since:</span></dt> |
| <dd>3.1</dd></dl> |
| </li> |
| </ul> |
| <a name="getSolver()"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>getSolver</h4> |
| <pre>public <a href="../../../../../org/apache/commons/math3/linear/DecompositionSolver.html" title="interface in org.apache.commons.math3.linear">DecompositionSolver</a> getSolver()</pre> |
| <div class="block">Gets a solver for finding the A × X = B solution in exact |
| linear sense. |
| <p> |
| Since 3.1, eigen decomposition of a general matrix is supported, |
| but the <a href="../../../../../org/apache/commons/math3/linear/DecompositionSolver.html" title="interface in org.apache.commons.math3.linear"><code>DecompositionSolver</code></a> only supports real eigenvalues.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>a solver</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../org/apache/commons/math3/exception/MathUnsupportedOperationException.html" title="class in org.apache.commons.math3.exception">MathUnsupportedOperationException</a></code> - if the decomposition resulted in |
| complex eigenvalues</dd></dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a name="navbar_bottom"> |
| <!-- --> |
| </a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/EigenDecomposition.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../../../org/apache/commons/math3/linear/DiagonalMatrix.html" title="class in org.apache.commons.math3.linear"><span class="strong">Prev Class</span></a></li> |
| <li><a href="../../../../../org/apache/commons/math3/linear/FieldDecompositionSolver.html" title="interface in org.apache.commons.math3.linear"><span class="strong">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../index.html?org/apache/commons/math3/linear/EigenDecomposition.html" target="_top">Frames</a></li> |
| <li><a href="EigenDecomposition.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_bottom"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li><a href="#constructor_summary">Constr</a> | </li> |
| <li><a href="#method_summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor_detail">Constr</a> | </li> |
| <li><a href="#method_detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip-navbar_bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| <p class="legalCopy"><small>Copyright © 2003–2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </body> |
| </html> |