public static double Cylindrical(Func <double, double, double, double> f, Integral1 integral1, Integral2 integral2, Integral3 integral3) { return(Integration.Integrate((r, theta, z) => r * f(r, theta, z), integral1, integral2, integral3)); }
public static double Spherical(Func <double, double, double, double> f, Integral1 integral1, Integral2 integral2, Integral3 integral3) { return(Integration.Integrate((r, theta, phi) => r * r * Math.Sin(theta) * f(r, theta, phi), integral1, integral2, integral3)); }
public static double Integrate(Func <double, double, double, double> f, Integral1 integral1, Integral2 integral2, Integral3 integral3) { return(Integration.Integrate( (x, y) => Integration.Integrate(z => f(x, y, z), new Integral1( () => integral3.Lower(x, y), () => integral3.Upper(x, y), integral3.Steps)), integral1, integral2)); }