symfem.elements.lagrange

Lagrange elements on simplices.

Classes

Lagrange

Lagrange finite element.

VectorLagrange

Vector Lagrange finite element.

MatrixLagrange

Matrix Lagrange finite element.

SymmetricMatrixLagrange

Symmetric matrix Lagrange finite element.

Module Contents

class symfem.elements.lagrange.Lagrange(reference: symfem.references.Reference, order: int, variant: str = 'equispaced')

Bases: symfem.finite_element.CiarletElement

Lagrange finite element.

variant = 'equispaced'
init_kwargs() dict[str, Any]

Return the kwargs used to create this element.

Returns:

Keyword argument dictionary

property lagrange_subdegree: int

Get the Lagrange subdegree of the element.

This is the degree of the highest degree Lagrange space whose polynomial space is a subspace of this element’s polynomial space.

property lagrange_superdegree: int | None

Get the Lagrange superdegree of the element.

This is the degree of the highest degree Lagrange space whose polynomial space is a superspace of this element’s polynomial space.

property polynomial_subdegree: int

Get the polynomial subdegree of the element.

This is the degree of the highest degree complete polynomial space that is a subspace of this element’s polynomial space.

property polynomial_superdegree: int | None

Get the polynomial superdegree of the element.

This is the degree of the highest degree complete polynomial space that is a superspace of this element’s polynomial space.

names = ['Lagrange', 'P']
references = ['interval', 'triangle', 'tetrahedron']
min_order = 0
continuity = 'C0'
value_type = 'scalar'
last_updated = '2025.12'
class symfem.elements.lagrange.VectorLagrange(reference: symfem.references.Reference, order: int, variant: str = 'equispaced')

Bases: symfem.finite_element.CiarletElement

Vector Lagrange finite element.

variant = 'equispaced'
init_kwargs() dict[str, Any]

Return the kwargs used to create this element.

Returns:

Keyword argument dictionary

property lagrange_subdegree: int

Get the Lagrange subdegree of the element.

This is the degree of the highest degree Lagrange space whose polynomial space is a subspace of this element’s polynomial space.

property lagrange_superdegree: int | None

Get the Lagrange superdegree of the element.

This is the degree of the highest degree Lagrange space whose polynomial space is a superspace of this element’s polynomial space.

property polynomial_subdegree: int

Get the polynomial subdegree of the element.

This is the degree of the highest degree complete polynomial space that is a subspace of this element’s polynomial space.

property polynomial_superdegree: int | None

Get the polynomial superdegree of the element.

This is the degree of the highest degree complete polynomial space that is a superspace of this element’s polynomial space.

names = ['vector Lagrange', 'vP']
references = ['interval', 'triangle', 'tetrahedron']
min_order = 0
continuity = 'C0'
value_type = 'vector'
last_updated = '2025.12'
class symfem.elements.lagrange.MatrixLagrange(reference: symfem.references.Reference, order: int, variant: str = 'equispaced')

Bases: symfem.finite_element.CiarletElement

Matrix Lagrange finite element.

variant = 'equispaced'
init_kwargs() dict[str, Any]

Return the kwargs used to create this element.

Returns:

Keyword argument dictionary

property lagrange_subdegree: int

Get the Lagrange subdegree of the element.

This is the degree of the highest degree Lagrange space whose polynomial space is a subspace of this element’s polynomial space.

property lagrange_superdegree: int | None

Get the Lagrange superdegree of the element.

This is the degree of the highest degree Lagrange space whose polynomial space is a superspace of this element’s polynomial space.

property polynomial_subdegree: int

Get the polynomial subdegree of the element.

This is the degree of the highest degree complete polynomial space that is a subspace of this element’s polynomial space.

property polynomial_superdegree: int | None

Get the polynomial superdegree of the element.

This is the degree of the highest degree complete polynomial space that is a superspace of this element’s polynomial space.

names = ['matrix Lagrange']
references = ['triangle', 'tetrahedron']
min_order = 0
continuity = 'L2'
value_type = 'matrix'
last_updated = '2025.12'
class symfem.elements.lagrange.SymmetricMatrixLagrange(reference: symfem.references.Reference, order: int, variant: str = 'equispaced')

Bases: symfem.finite_element.CiarletElement

Symmetric matrix Lagrange finite element.

variant = 'equispaced'
init_kwargs() dict[str, Any]

Return the kwargs used to create this element.

Returns:

Keyword argument dictionary

property lagrange_subdegree: int

Get the Lagrange subdegree of the element.

This is the degree of the highest degree Lagrange space whose polynomial space is a subspace of this element’s polynomial space.

property lagrange_superdegree: int | None

Get the Lagrange superdegree of the element.

This is the degree of the highest degree Lagrange space whose polynomial space is a superspace of this element’s polynomial space.

property polynomial_subdegree: int

Get the polynomial subdegree of the element.

This is the degree of the highest degree complete polynomial space that is a subspace of this element’s polynomial space.

property polynomial_superdegree: int | None

Get the polynomial superdegree of the element.

This is the degree of the highest degree complete polynomial space that is a superspace of this element’s polynomial space.

names = ['symmetric matrix Lagrange']
references = ['triangle', 'tetrahedron']
min_order = 0
continuity = 'L2'
value_type = 'symmetric matrix'
last_updated = '2025.12'