using System; using System.Collections.Generic; using System.Linq; using System.Text; using V = Science.Mathematics.VectorCalculus; namespace VectorCalculus5Ed.Chapter3.Section4 { public class Example04 { public Example04() { } private string result; public string Result { get{return result;} } public void Compute() { Science.Mathematics.Function.ToLastType f = new Science.Mathematics.Function.ToLastType(func); Science.Mathematics.Function.ToLastType g = new Science.Mathematics.Function.ToLastType(gf); double[] x = { 1.0, 1.0, 2.0 }; double[] l = { 0.1 }; V.LagrangeMultiplierMethod obj = new V.LagrangeMultiplierMethod(f, g, x, l); obj.Compute(); result += obj.CriticalPoint[0].ToString() + "\r\n"; result += obj.CriticalPoint[1].ToString() + "\r\n"; result += obj.CriticalPoint[2].ToString() + "\r\n"; result += obj.LagrangeMultiplier[0].ToString() + "\r\n"; } private double func(double[] x) { return x[0]*x[1]*x[2]; } private double[] gf(double[] x) { double[] y = new double[1]; y[0] = x[0] * x[1] + x[1] * x[2] + x[2] * x[0] - 5.0; return y; } } } /* 1.2909944487356 1.29099444873548 1.29099444873634 0.645497224367902 */