using System; using System.Collections.Generic; using System.Linq; using System.Text; using L = Science.Mathematics.LinearAlgebra; namespace Strang3Ed.Chapter06.Section1 { public class ExampleB { public ExampleB() { } private string result; public string Result { get { return result; } } public void Compute() { double c = -1.0; double[,] x = { {2.0, -c}, {-1.0, 2.0}}; L.Matrix A = new L.Matrix(x); A.Diagonalize(); result += A.EigenvalueComplex[0].ToString() + "\r\n"; result += A.EigenvectorComplex[0].ToString() + "\r\n"; result += A.EigenvalueComplex[1].ToString() + "\r\n"; result += A.EigenvectorComplex[1].ToString() + "\r\n"; L.Matrix AtA = A.Transpose * A; AtA.Diagonalize(); result += AtA.EigenvalueComplex[0].ToString() + "\r\n"; result += AtA.EigenvectorComplex[0].ToString() + "\r\n"; result += AtA.EigenvalueComplex[1].ToString() + "\r\n"; result += AtA.EigenvectorComplex[1].ToString() + "\r\n"; } } } /* 2 +I 1 1 0 +I 1 2 -I 1 1 0 -I 1 5 1 0 5 0 1 */