Skip to main content

Structure

This class defines the Polynomials in one argument.

ConstructorMethods​

Polynomial1D function​

We can create an instance by calling Polynomial1D function.

Interface

MODULE PURE FUNCTION Polynomial1D(coeff, degree, varname) &
& RESULT(ans)
REAL(DFP), INTENT(IN) :: coeff(:)
INTEGER(I4B), INTENT(IN) :: degree(:)
CHARACTER(LEN=*), INTENT(IN) :: varname
TYPE(Polynomial1D_) :: ans
END FUNCTION Polynomial1D
  • coeff coefficient of polynomial
  • degree degress of monomials
  • varname variable name

!!! example "Example"

  • [[Polynomial1D_test_1]]

Polynomial1D_Pointer​

Same as Polynomial1D function, but returns the pointer to a newly created instance of Polynomial.

Deallocate​

Deallocate the Polynomial.

CALL obj%Deallocate()

GetMethods​

Eval​

Evaluate the function at a given point.

Interface:

MODULE PURE FUNCTION Polynomial1D(coeff, degree, &
& varname) RESULT(ans)
REAL(DFP), INTENT(IN) :: coeff(:)
INTEGER(I4B), INTENT(IN) :: degree(:)
CHARACTER(LEN=*), INTENT(IN) :: varname
TYPE(Polynomial1D_) :: ans
END FUNCTION Polynomial1D

!!! example "Example"

  • [[Polynomial1D_test_2]]

EvalGradient​

Evaluate first derivative of the polynomial at a given point.

Interface:

MODULE ELEMENTAL FUNCTION EvalGradient(obj, x) RESULT(ans)
CLASS(Polynomial1D_), INTENT(IN) :: obj
REAL(DFP), INTENT(IN) :: x
REAL(DFP) :: ans
END FUNCTION EvalGradient

!!! example "Example"

  • [[Polynomial1D_test_2]]

Grad​

Returns the gradient of the polynomial as an instance of a polynomial.

Interface:

MODULE ELEMENTAL FUNCTION Grad(obj) RESULT(ans)
CLASS(Polynomial1D_), INTENT(IN) :: obj
TYPE(Polynomial1D_) :: ans
END FUNCTION Grad

!!! example "Example"

  • [[Polynomial1D_test_2]]

GetStringForUID​

Returns the string for creating the UID. This routine is for internal use only.

GetDegree​

Returns the degrees of monomials.

!!! example "Example"

  • [[Polynomial1D_test_2]]

GetDisplayString​

REturns the string for displaying the contents of the Polynomial.

GetCoeff​

Returns the coefficient of the polynomials. See, [[Polynomial1D_test_2]]

GetOrder​

Returns the order of the Polynomial.

IOMethods​

Display​

Display the content of the polynomial.

OperatorMethods​

OPERATOR(+)​

  • We can add two instances of [[Monomial1D_]] to obtain an instance of [[Polynomial1D_]].
  • We can add a [[Monomial1D_]] and a scalar to get an instance of [[Polynomial1D_]]
  • We can add an instance of [[Polynomial1D_]] and an instance of [[Monomial1D_]] to get an instance of [[Polynomial1D_]].
  • We can add two instances of [[Polynomial1D_]] to get an instance of [[Polynomial1D_]].Grad.
  • We can add an instance of [[Polynomial1D_]] and a scalar to get an instance of [[Polynomial1D_]].

!!! example "Examples"

  • [[Polynomial1D_test_5.md]]

OPERATOR(*)​

  • We can multiply two instances of [[Monomial1D_]] to obtain an instance of [[Polynomial1D_]].
  • We can multiply a [[Monomial1D_]] and a scalar to get an instance of [[Polynomial1D_]]
  • We can multiply an instance of [[Polynomial1D_]] and an instance of [[Monomial1D_]] to get an instance of [[Polynomial1D_]].
  • We can multiply two instances of [[Polynomial1D_]] to get an instance of [[Polynomial1D_]].Grad.
  • We can multiply an instance of [[Polynomial1D_]] and a scalar to get an instance of [[Polynomial1D_]].

!!! example "Examples"

  • [[Polynomial1D_test_4.md]]

OPERATOR(-)​

  • We can subtract two instances of [[Monomial1D_]] to obtain an instance of [[Polynomial1D_]].
  • We can subtract a [[Monomial1D_]] and a scalar to get an instance of [[Polynomial1D_]]
  • We can subtract an instance of [[Polynomial1D_]] and an instance of [[Monomial1D_]] to get an instance of [[Polynomial1D_]].
  • We can subtract two instances of [[Polynomial1D_]] to get an instance of [[Polynomial1D_]].Grad.
  • We can subtract an instance of [[Polynomial1D_]] and a scalar to get an instance of [[Polynomial1D_]].

!!! example "Examples"

  • [[Polynomial1D_test_6.md]]

ASSIGNMENT(=)​

  • Poly=Poly
  • Poly=Mono
  • Poly=Scalar