Package com.polytechnik.utils
Class Polynomials
java.lang.Object
com.polytechnik.utils.Polynomials
Simple polynomials utils (monomials basis).
See
BasisPolynomials
for
a general basis with a much more advanced functionality.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static void
_differentiatePolynomial
(double[] pol, double[] pcoefs, int nels) private static void
_integratePolynomial
(double[] res, double[] pcoefs, int nels) static final long
C
(int n, int k) static final long
fact
(int n) static final long
fact2
(int n) static double[]
get1mxP
(double[] p) Multiply p by (1-x).static double[]
getConfederateMatrix
(double[] coefs) Calculates confederate matrix(=companion matrix for monomials basis) to solve polynomial equations P(x)=0.static double
getD0
(double[] coefs, double x) static double
getD1
(double[] coefs, double x) static double
getD2
(double[] coefs, double x) static double[]
getKK
(int n, double[] QQ) static double[]
getPolynomialArgumentScaled
(double[] coefs, double scale) Converts sum a_k x^k to sum a_k (x*scale)^k.static double[]
getPolynomialDifferentiated
(double[] pcoefs) static double[]
getPolynomialExpFIntegrated
(double[] f) \int_x^{infinity} f(x) exp(-x) dx = i(x) exp(-x).static double[]
getPolynomialIntegrated
(double[] pcoefs) static double[]
getPolynomialShifted
(double[] coefs, double shift) Converts sum a_k x^k to sum a_k (x+shift)^k.static double[]
getQQMatr
(int n, double[] moms) static double[]
getSecondKindOrthogonalPolynomialFromFirstKind
(double[] p, double[] pmom) Converts first kind orthogonal polynomial to second kind orthogonal polynomial.static double[]
getxP
(double[] p) Multiply p by x.static void
private static void
matchmul
(double[] p, double[] d, double[] q, double[] r, double eps) Check p==d*q+r.static double[]
mult2Pol
(double[] p1, double[] p2) private static double[]
mult2PolTest
(double[] p1, double[] p2) private static void
printAllQuadratures
(int nmax, Random r) private static void
printQuadratures
(int neq) static SDivRes
sdiv
(double[] p, double[] d) static SDivRes
sdiv_stable
(double[] p, double[] d) Stable (more or less) sdiv.static SDivRes
sdiv1
(double[] p, double x0) static void
shiftPOffsetInPlace
(int nmoms, double[] p0moms, double[] p1moms, double[] p2moms, double[] p3moms, double dpo) Shift p^0,p^1,p^2,p^3 offset in place for an array of moments.private static void
sumMult2Pol
(double[] res, double[] p1, int n1, double[] p2, int n2) private static void
test_C()
private static void
test_getxP
(Random r, int n_tests, double eps) private static void
test_mult2Pol
(Random r, int n_tests, double eps) private static void
private static void
test_sdiv1
(Random r, int n_tests, double eps) private static void
-
Constructor Details
-
Polynomials
public Polynomials()
-
-
Method Details
-
sdiv
-
sdiv_stable
Stable (more or less) sdiv. -
sdiv1
-
mult2Pol
public static double[] mult2Pol(double[] p1, double[] p2) -
sumMult2Pol
private static void sumMult2Pol(double[] res, double[] p1, int n1, double[] p2, int n2) -
getPolynomialArgumentScaled
public static double[] getPolynomialArgumentScaled(double[] coefs, double scale) Converts sum a_k x^k to sum a_k (x*scale)^k. -
getPolynomialShifted
public static double[] getPolynomialShifted(double[] coefs, double shift) Converts sum a_k x^k to sum a_k (x+shift)^k. -
shiftPOffsetInPlace
public static void shiftPOffsetInPlace(int nmoms, double[] p0moms, double[] p1moms, double[] p2moms, double[] p3moms, double dpo) Shift p^0,p^1,p^2,p^3 offset in place for an array of moments. -
getxP
public static double[] getxP(double[] p) Multiply p by x. -
get1mxP
public static double[] get1mxP(double[] p) Multiply p by (1-x). -
mult2PolTest
private static double[] mult2PolTest(double[] p1, double[] p2) -
getD0
public static double getD0(double[] coefs, double x) -
getD1
public static double getD1(double[] coefs, double x) -
getD2
public static double getD2(double[] coefs, double x) -
getPolynomialExpFIntegrated
public static double[] getPolynomialExpFIntegrated(double[] f) \int_x^{infinity} f(x) exp(-x) dx = i(x) exp(-x). Prudnikov, Brychkov, Marichev, volume 1, 2002, formulae 1.3.2.9, page 113. -
getPolynomialIntegrated
public static double[] getPolynomialIntegrated(double[] pcoefs) -
_integratePolynomial
private static void _integratePolynomial(double[] res, double[] pcoefs, int nels) -
getPolynomialDifferentiated
public static double[] getPolynomialDifferentiated(double[] pcoefs) -
_differentiatePolynomial
private static void _differentiatePolynomial(double[] pol, double[] pcoefs, int nels) -
getQQMatr
public static double[] getQQMatr(int n, double[] moms) -
getKK
public static double[] getKK(int n, double[] QQ) -
getSecondKindOrthogonalPolynomialFromFirstKind
public static double[] getSecondKindOrthogonalPolynomialFromFirstKind(double[] p, double[] pmom) Converts first kind orthogonal polynomial to second kind orthogonal polynomial. An operation some kind similar to derivative. Calculations in monomials moments basis as an expansion of <(P(x)-P(t))/(x-t)>_t/<1>_t.- Parameters:
p
- Orthogonal polynomial.pmom
- Moments of <t^k>_t.- Returns:
- Second kind orthogonal polynomial.
-
getConfederateMatrix
public static double[] getConfederateMatrix(double[] coefs) Calculates confederate matrix(=companion matrix for monomials basis) to solve polynomial equations P(x)=0.- See Also:
-
fact
public static final long fact(int n) -
fact2
public static final long fact2(int n) -
C
public static final long C(int n, int k) -
test_C
private static void test_C() -
matchmul
private static void matchmul(double[] p, double[] d, double[] q, double[] r, double eps) Check p==d*q+r. -
test_sdiv
-
test_sdiv1
-
test_mult2Pol
-
test_getxP
-
printAllQuadratures
-
printQuadratures
private static void printQuadratures(int neq) -
testPolynomialOperations
private static void testPolynomialOperations() -
main
-