a simple math library written in java
- supports infinite multivariables
- parsing from postfix
- symbolic derivatives
- numeric derivatives
- numeric integration
- outputs latex code
- basic level simplification
- get real and imaginary part of a function
- taylor series(numeric and symbolic)
func f = func.parse("e^(x^2)");
System.out.println(f.derivative());
Output: (e^(x^2))*x*2
func f = func.parse("e^-x*x^5");//gamma
System.out.println(f.integrate("x",0,cons.INF));
Output: 120
//e^x
func f = func.parse("e^x");
System.out.println(taylor(0,5));
Output: 1+x+(x^2)*0.5+(x^3)*0.16666666666666666+(x^4)*0.041666666666666664+(x^5)*0.008333333333333333
//Lambert-W
func f = func.parse("x*e^x");
System.out.println(f.inverse().taylor(0,5));
Output: x-x^2+(x^3)*1.5-(x^4)*2.6666666666666665+(x^5)*5.208333333333333
System.out.println(new pset(100));
Ouptut: p{2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97}
System.out.println(factor.factorize(1000));
Output: 2^3*5^3
func f = func.parse("e^(i*x)");
System.out.println(f.getReal()); //cos(x)
System.out.println(f.getImaginary()); //sin(x)
func f = func.parse("ln(x+i)^i");
System.out.println(f.getReal());
Output: (e^(-atan((atan(1/x))/(ln(sqrt(x^2+1))))))*cos(ln(sqrt(ln(sqrt(x^2+1))^2+(atan(1/x))^2)))
System.out.println(f.getImaginary());
Output: (e^(-atan((atan(1/x))/(ln(sqrt(x^2+1))))))*sin(ln(sqrt(ln(sqrt(x^2+1))^2+(atan(1/x))^2)))