using System; using System.Collections.Generic; using System.Linq; using System.Text; using L = Science.Mathematics.LinearAlgebra; namespace Strang3Ed.Chapter03.Section2 { public class Example03 { public Example03() { } private string result; public string Result { get { return result; } } public void Compute() { double[,] a = { { 1.0, 2.0 }, { 3.0, 8.0 }}; L.Matrix A = new L.Matrix(a); L.Nullspace NA = new L.Nullspace(A); result += NA.Dimension.ToString()+"\r\n"; L.Matrix[,] A2A = new L.Matrix[2, 1]; A2A[0, 0] = A; A2A[1, 0] = 2.0 * A; L.Matrix B = new L.BlockMatrix(A2A); L.Nullspace NB = new L.Nullspace(B); result += NB.Dimension.ToString() + "\r\n"; L.Matrix[,] A2 = new L.Matrix[1, 2]; A2[0, 0] = A; A2[0, 1] = 2.0 * A; L.Matrix C = new L.BlockMatrix(A2); L.Nullspace NC = new L.Nullspace(C); result += NC.Dimension.ToString() + "\r\n"; L.FactorizationEAeqR obj = new L.FactorizationEAeqR(C); obj.Compute(); result += obj.ReducedRowEchelonForm.ToString(); } } } /* 0 0 2 1 0 2 0 0 1 0 2 */