Class Polynomials

java.lang.Object
com.polytechnik.utils.Polynomials

public class Polynomials extends Object
Simple polynomials utils (monomials basis). See BasisPolynomials for a general basis with a much more advanced functionality.
  • Constructor Details

    • Polynomials

      public Polynomials()
  • Method Details

    • sdiv

      public static SDivRes sdiv(double[] p, double[] d)
    • sdiv_stable

      public static SDivRes sdiv_stable(double[] p, double[] d)
      Stable (more or less) sdiv.
    • sdiv1

      public static SDivRes sdiv1(double[] p, double x0)
    • 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

      private static void test_sdiv(Random rn, int n_tests, double eps)
    • test_sdiv1

      private static void test_sdiv1(Random r, int n_tests, double eps)
    • test_mult2Pol

      private static void test_mult2Pol(Random r, int n_tests, double eps)
    • test_getxP

      private static void test_getxP(Random r, int n_tests, double eps)
    • printAllQuadratures

      private static void printAllQuadratures(int nmax, Random r)
    • printQuadratures

      private static void printQuadratures(int neq)
    • testPolynomialOperations

      private static void testPolynomialOperations()
    • main

      public static void main(String[] args)