symfem.polynomials.legendre

Orthogonal (Legendre) polynomials.

Module Contents

Functions

_jrc(→ Tuple[sympy.core.expr.Expr, ...)

Get the Jacobi recurrence relation coefficients.

orthogonal_basis_interval(...)

Create a basis of orthogonal polynomials.

orthogonal_basis_triangle(...)

Create a basis of orthogonal polynomials.

orthogonal_basis_quadrilateral(...)

Create a basis of orthogonal polynomials.

orthogonal_basis_tetrahedron(...)

Create a basis of orthogonal polynomials.

orthogonal_basis_hexahedron(...)

Create a basis of orthogonal polynomials.

orthogonal_basis_prism(...)

Create a basis of orthogonal polynomials.

orthogonal_basis_pyramid(...)

Create a basis of orthogonal polynomials.

orthogonal_basis(...)

Create a basis of orthogonal polynomials.

orthonormal_basis(...)

Create a basis of orthonormal polynomials.

symfem.polynomials.legendre._jrc(a, n) Tuple[sympy.core.expr.Expr, sympy.core.expr.Expr, sympy.core.expr.Expr]

Get the Jacobi recurrence relation coefficients.

Parameters:
  • a – The parameter a

  • n – The parameter n

Returns:

The Jacobi coefficients

symfem.polynomials.legendre.orthogonal_basis_interval(order: int, derivs: int, variables: symfem.symbols.AxisVariablesNotSingle = [x[0]]) List[List[symfem.functions.ScalarFunction]]

Create a basis of orthogonal polynomials.

Parameters:
  • order – The maximum polynomial degree

  • derivs – The number of derivatives to include

  • variables – The variables to use

Returns:

A set of orthogonal polynomials

symfem.polynomials.legendre.orthogonal_basis_triangle(order: int, derivs: int, variables: symfem.symbols.AxisVariablesNotSingle = [x[0], x[1]]) List[List[symfem.functions.ScalarFunction]]

Create a basis of orthogonal polynomials.

Parameters:
  • order – The maximum polynomial degree

  • derivs – The number of derivatives to include

  • variables – The variables to use

Returns:

A set of orthogonal polynomials

symfem.polynomials.legendre.orthogonal_basis_quadrilateral(order: int, derivs: int, variables: symfem.symbols.AxisVariablesNotSingle = [x[0], x[1]]) List[List[symfem.functions.ScalarFunction]]

Create a basis of orthogonal polynomials.

Parameters:
  • order – The maximum polynomial degree

  • derivs – The number of derivatives to include

  • variables – The variables to use

Returns:

A set of orthogonal polynomials

symfem.polynomials.legendre.orthogonal_basis_tetrahedron(order: int, derivs: int, variables: symfem.symbols.AxisVariablesNotSingle = x) List[List[symfem.functions.ScalarFunction]]

Create a basis of orthogonal polynomials.

Parameters:
  • order – The maximum polynomial degree

  • derivs – The number of derivatives to include

  • variables – The variables to use

Returns:

A set of orthogonal polynomials

symfem.polynomials.legendre.orthogonal_basis_hexahedron(order: int, derivs: int, variables: symfem.symbols.AxisVariablesNotSingle = x) List[List[symfem.functions.ScalarFunction]]

Create a basis of orthogonal polynomials.

Parameters:
  • order – The maximum polynomial degree

  • derivs – The number of derivatives to include

  • variables – The variables to use

Returns:

A set of orthogonal polynomials

symfem.polynomials.legendre.orthogonal_basis_prism(order: int, derivs: int, variables: symfem.symbols.AxisVariablesNotSingle = x) List[List[symfem.functions.ScalarFunction]]

Create a basis of orthogonal polynomials.

Parameters:
  • order – The maximum polynomial degree

  • derivs – The number of derivatives to include

  • variables – The variables to use

Returns:

A set of orthogonal polynomials

symfem.polynomials.legendre.orthogonal_basis_pyramid(order: int, derivs: int, variables: symfem.symbols.AxisVariablesNotSingle = x) List[List[symfem.functions.ScalarFunction]]

Create a basis of orthogonal polynomials.

Parameters:
  • order – The maximum polynomial degree

  • derivs – The number of derivatives to include

  • variables – The variables to use

Returns:

A set of orthogonal polynomials

symfem.polynomials.legendre.orthogonal_basis(cell: str, order: int, derivs: int, variables: symfem.symbols.AxisVariablesNotSingle | None = None) List[List[symfem.functions.ScalarFunction]]

Create a basis of orthogonal polynomials.

Parameters:
  • cell – The cell type

  • order – The maximum polynomial degree

  • derivs – The number of derivatives to include

  • variables – The variables to use

Returns:

A set of orthogonal polynomials

symfem.polynomials.legendre.orthonormal_basis(cell: str, order: int, derivs: int, variables: symfem.symbols.AxisVariablesNotSingle | None = None) List[List[symfem.functions.ScalarFunction]]

Create a basis of orthonormal polynomials.

Parameters:
  • cell – The cell type

  • order – The maximum polynomial degree

  • derivs – The number of derivatives to include

  • variables – The variables to use

Returns:

A set of orthonormal polynomials