using System; using System.Collections.Generic; using System.Linq; using System.Text; using L = Science.Mathematics.LinearAlgebra; namespace Strang3Ed.Chapter02.Section5 { public class Example03 { public Example03() { } private string result; public string Result { get { return result; } } public void Compute() { double[,] x = {{1.0,0.0,0.0}, {-5.0,1.0,0.0}, {0.0,0.0,1.0}}; L.Matrix E = new L.Matrix(x); L.Matrix Ei = E.Inverse; double[,] y = {{1.0,0.0,0.0}, {0.0,1.0,0.0}, {0.0,-4.0,1.0}}; L.Matrix F = new L.Matrix(y); L.Matrix Fi = F.Inverse; L.Matrix FE = F * E; result += FE[0, 0].ToString() + " "; result += FE[0, 1].ToString() + " "; result += FE[0, 2].ToString() + "\r\n"; result += FE[1, 0].ToString() + " "; result += FE[1, 1].ToString() + " "; result += FE[1, 2].ToString() + "\r\n"; result += FE[2, 0].ToString() + " "; result += FE[2, 1].ToString() + " "; result += FE[2, 2].ToString() + "\r\n" + "\r\n"; L.Matrix EiFi = Ei * Fi; result += EiFi[0, 0].ToString() + " "; result += EiFi[0, 1].ToString() + " "; result += EiFi[0, 2].ToString() + "\r\n"; result += EiFi[1, 0].ToString() + " "; result += EiFi[1, 1].ToString() + " "; result += EiFi[1, 2].ToString() + "\r\n"; result += EiFi[2, 0].ToString() + " "; result += EiFi[2, 1].ToString() + " "; result += EiFi[2, 2].ToString() + "\r\n" + "\r\n"; } } } /* 1 0 0 -5 1 0 20 -4 1 1 0 0 5 1 0 0 4 1 */