using System; using System.Windows.Forms; namespace Science.Mathematics.Calculus { public class LinearEquation { public LinearEquation() { } public double[] Vector { set { xi = value; } } public double[,] Matrix { set { a = value;} } private double[] x, xi; private double[,] a; public void Solve() { x = new double[xi.Length]; for (int k = 0; k < xi.Length; k++) x[k] = xi[k]; Science.Mathematics.NumericalRecipes.SolutionOfLinearAlgebraicEquations.Ludcmp obj = new Science.Mathematics.NumericalRecipes.SolutionOfLinearAlgebraicEquations.Ludcmp(); Science.Mathematics.NumericalRecipes.SolutionOfLinearAlgebraicEquations.Lubksb obj2 = new Science.Mathematics.NumericalRecipes.SolutionOfLinearAlgebraicEquations.Lubksb(); if (Science.Net.Check()) { obj.ludcmp(a); obj2.lubksb(a, obj.RowPermutation, x); } else { try { throw new Exception(); } catch (Exception) { MessageBox.Show("Please support our authors.", "Invalid user", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } public double[] Solution { get { return x; } } } }