package org.jlinalg.demo; import org.jlinalg.DoubleWrapper; import org.jlinalg.FieldElement; import org.jlinalg.Matrix; /** * * @author Andreas Keilhauer * */ public class EigenvaluesDemo { public static void main(String[] argv) { DoubleWrapper d0, d1, d2, d3; d0 = new DoubleWrapper(0.0); d1 = new DoubleWrapper(1.0); d2 = new DoubleWrapper(2.0); d3 = new DoubleWrapper(3.0); // The eigenvalues of a diagonal matrix are always the diagonal entries: Matrix diagonalMatrix = new Matrix(new FieldElement[][] { { d1, d0, d0 }, { d0, d2, d0 }, { d0, d0, d3 } }); System.out.println("Diagonal Matrix: \n" + diagonalMatrix); System.out.println("All eigenvalues: " + diagonalMatrix.eig()); // In general, the eigenvalues of a real matrix can be complex: Matrix m = new Matrix(new FieldElement[][] { { d1, d1.negate() }, { d1, d1 } }); System.out.println("New matrix: \n" + m); System.out.println("All eigenvalues: " + m.eig()); } }