Class Polynomialf


  • public class Polynomialf
    extends PolynomialNDfFloat
    Representation of an ordinary polynomial with scalar coefficients (that can be both
    real and complex).

    Representation of a polynomial of the following form:

    f(x) = c_n x^n + c_(n-1) x^(n-1) + c_2 x^2 + c_1 x + c_0

    The polynomial is represented as a list of coefficients ordered from lowest-order term to
    highest-order term, {c_0,c_1,...,c_n} .
    • Constructor Detail

      • Polynomialf

        public Polynomialf​(long cPtr,
                           boolean cMemoryOwn)
      • Polynomialf

        public Polynomialf​(long order)
        Create polynomial with coefficients initialized to zero.
        Parameters:
        order - [in] the order of the polynomial.
      • Polynomialf

        public Polynomialf​(VectorFloat coefficients)
        Create polynomial from vector.
        Parameters:
        coefficients - [in] the coefficients ordered from lowest-order term to highest-order
        term.
      • Polynomialf

        public Polynomialf​(Polynomialf p)
        Create polynomial from other polynomial.
        Parameters:
        p - [in] the polynomial to copy.
      • Polynomialf

        public Polynomialf​(PolynomialNDfFloat p)
        Create polynomial from other polynomial.
        Parameters:
        p - [in] the polynomial to copy.
    • Method Detail

      • getCPtr

        public static long getCPtr​(Polynomialf obj)
      • evaluate

        public float evaluate​(float x)
        <T,T>::evaluate
        Overrides:
        evaluate in class PolynomialNDfFloat
        Parameters:
        x - [in] the input parameter.
        Returns:
        the value f(x) .
      • evaluateDerivatives

        public VectorFloat evaluateDerivatives​(float x,
                                               long n)
        <T,T>::evaluateDerivatives
        Overrides:
        evaluateDerivatives in class PolynomialNDfFloat
        Parameters:
        x - [in] the input parameter.
        n - [in] the number of derivatives to find (default is the first derivative only)
        Returns:
        a vector of values {f(x),\dot{f}(x),\ddot{f}(x),\cdots} .
      • evaluateDerivatives

        public VectorFloat evaluateDerivatives​(float x)
        <T,T>::evaluateDerivatives
        Overrides:
        evaluateDerivatives in class PolynomialNDfFloat
        Parameters:
        x - [in] the input parameter.

        Returns:
        a vector of values {f(x),\dot{f}(x),\ddot{f}(x),\cdots} .
      • deflate

        public Polynomialf deflate​(float x)
        <T,T>::deflate
        Overrides:
        deflate in class PolynomialNDfFloat
        Parameters:
        x - [in] a root of the polynomial.
        Returns:
        a new polynomial of same order minus one.
        Note: There is no check that the given root is in fact a root of the polynomial.
      • derivative

        public Polynomialf derivative​(long n)
        <T,T>::derivative
        Overrides:
        derivative in class PolynomialNDfFloat
        Parameters:
        n - [in] gives the n'th derivative (default is n=1).
        Returns:
        a new polynomial of same order minus one.
        Note: To evaluate derivatives use the evaluate derivative method which is more precise.
      • derivative

        public Polynomialf derivative()
        <T,T>::derivative
        Overrides:
        derivative in class PolynomialNDfFloat
        Returns:
        a new polynomial of same order minus one.
        Note: To evaluate derivatives use the evaluate derivative method which is more precise.
      • add

        public Polynomialf add​(float s)
        Scalar addition
        Parameters:
        s - [in] scalar to add.
        Returns:
        new polynomial after addition.
      • subtract

        public Polynomialf subtract​(float s)
        Scalar subtraction
        Parameters:
        s - [in] scalar to subtract.
        Returns:
        new polynomial after subtraction.
      • multiply

        public Polynomialf multiply​(float s)
        Scalar multiplication
        Overrides:
        multiply in class PolynomialNDfFloat
        Parameters:
        s - [in] scalar to multiply with.
        Returns:
        new polynomial after multiplication.
      • multiply

        public Polynomialf multiply​(Polynomialf polynomial)
        Polynomial multiplication

        This multiplication functions uses a convolution of the coefficients.
        More efficient implementations are possible.

        Parameters:
        polynomial - [in] polynomial to multiply with.
        Returns:
        new polynomial after multiplication.
      • multiply

        public PolynomialNDEigenVector3fFloat multiply​(EigenVector3f a)
        Multiply polynomial with scalar coefficients with a vector.

        Parameters:
        a - [in] vector to multiply with.
        Returns:
        a 3D polynomial vector.
      • multiply

        public PolynomialNDEigenMatrix3fFloat multiply​(EigenMatrix3f A)
        Multiply polynomial with scalar coefficients with a matrix.

        Parameters:
        A - [in] matrix to multiply with.
        Returns:
        a 3D polynomial matrix.
      • divide

        public Polynomialf divide​(float s)
        Scalar division
        Overrides:
        divide in class PolynomialNDfFloat
        Parameters:
        s - [in] scalar to divide with.
        Returns:
        new polynomial after division.
      • addAssign

        public Polynomialf addAssign​(float s)
        Scalar addition
        Parameters:
        s - [in] scalar to add.
        Returns:
        same polynomial with coefficients changed.
      • subtractAssign

        public Polynomialf subtractAssign​(float s)
        Scalar subtraction
        Parameters:
        s - [in] scalar to subtract.
        Returns:
        same polynomial with coefficients changed.
      • multiplyAssign

        public Polynomialf multiplyAssign​(float s)
        Scalar multiplication
        Overrides:
        multiplyAssign in class PolynomialNDfFloat
        Parameters:
        s - [in] the scalar to multiply with.
        Returns:
        reference to same polynomial with changed coefficients.
      • devideAssign

        public Polynomialf devideAssign​(float s)
        Scalar division
        Overrides:
        devideAssign in class PolynomialNDfFloat
        Parameters:
        s - [in] the scalar to divide with.
        Returns:
        reference to same polynomial with changed coefficients.
      • subtract

        public Polynomialf subtract​(Polynomialf b)
        Polynomial subtraction.
        Parameters:
        b - [in] polynomial of to subtract.
        Returns:
        new polynomial after subtraction.
      • subtractAssign

        public Polynomialf subtractAssign​(Polynomialf b)
        Polynomial subtraction.
        Parameters:
        b - [in] polynomial to subtract.
        Returns:
        same polynomial with different coefficients after subtraction.
      • add

        public Polynomialf add​(Polynomialf b)
        Polynomial addition.
        Parameters:
        b - [in] polynomial to add.
        Returns:
        new polynomial after addition.
      • addAssign

        public Polynomialf addAssign​(Polynomialf b)
        Polynomial addition.
        Parameters:
        b - [in] polynomial to add.
        Returns:
        same polynomial with different coefficients after addition.
      • equals

        public boolean equals​(Polynomialf b)
        Check if polynomials are equal.
        Parameters:
        b - [in] the polynomial to compare with.
        Returns:
        true if equal, false if not.