using System; namespace Science.Mathematics.VectorCalculus { public class ImplicitFunctionTheorem { private double[] f; private double[] t; private Function.ToLastType Fm; public ImplicitFunctionTheorem(Function.ToLastType function, double[] x0, double[] z0) { f = x0; t = z0; Fm = function; } private int i = 0; public void FindDeterminant() { Function.ToLastType fff; Gradient obj; MatrixSquare ma = new MatrixSquare(t.Length); for(int j = 0; j < t.Length; j++) { i = j; fff = new Function.ToLastType(ff); obj = new Gradient(fff, t); obj.Compute(); for (int k = 0; k < t.Length; k++) { ma[j, k] = obj.Result[k]; } } d = ma.Determinant; } private double ff(double[] xx) { return Fm(f, xx)[i]; } private double d; public double Determinant { get { return d; } } } }