Class PolynomialNDEigenMatrix3fFloat


  • public class PolynomialNDEigenMatrix3fFloat
    extends java.lang.Object
    Representation of a polynomial that can have non-scalar coefficients (polynomial
    matrix).

    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

      • PolynomialNDEigenMatrix3fFloat

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

        public PolynomialNDEigenMatrix3fFloat​(long order)
        Create polynomial with uninitialized coefficients.
        Parameters:
        order - [in] the order of the polynomial.
      • PolynomialNDEigenMatrix3fFloat

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

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

      • delete

        public void delete()
      • order

        public long order()
        Get the order of the polynomial (the highest power).
        Returns:
        the order.
      • increaseOrder

        public void increaseOrder​(long increase,
                                  EigenMatrix3f value)
        Increase the order of this polynomial.
        Parameters:
        increase - [in] how much to increase the order (default is 1).
        value - [in] initialize new coefficients to this value.
      • increaseOrder

        public void increaseOrder​(long increase)
      • increaseOrder

        public void increaseOrder()
      • evaluate

        public EigenMatrix3f evaluate​(float x)
        Evaluate the polynomial using Horner's Method.
        Parameters:
        x - [in] the input parameter.
        Returns:
        the value f(x).
      • evaluateDerivatives

        public VectorEigenMatrix3f evaluateDerivatives​(float x,
                                                       long n)
        Evaluate the first n derivatives of the polynomial using Horner's Method.
        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 VectorEigenMatrix3f evaluateDerivatives​(float x)
        Evaluate the first n derivatives of the polynomial using Horner's Method.
        Parameters:
        x - [in] the input parameter.

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

        public PolynomialNDEigenMatrix3fFloat deflate​(float x)
        Perform deflation of polynomial.
        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 PolynomialNDEigenMatrix3fFloat derivative​(long n)
        Get the derivative polynomial.
        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 PolynomialNDEigenMatrix3fFloat derivative()
        Get the derivative polynomial.

        Returns:
        a new polynomial of same order minus one.
        Note: To evaluate derivatives use the evaluate derivative method which is more precise.
      • multiply

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

        public PolynomialNDEigenMatrix3fFloat divide​(float s)
        Scalar division
        Parameters:
        s - [in] scalar to divide with.
        Returns:
        new polynomial after division.
      • multiplyAssign

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

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

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

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