:py:mod:`symfem.polynomials` ============================ .. py:module:: symfem.polynomials .. autoapi-nested-parse:: Polynomials. Submodules ---------- .. toctree:: :titlesonly: :maxdepth: 1 dual/index.rst legendre/index.rst lobatto/index.rst polysets/index.rst Package Contents ---------------- Functions ~~~~~~~~~ .. autoapisummary:: symfem.polynomials.l2_dual symfem.polynomials.orthogonal_basis symfem.polynomials.orthonormal_basis symfem.polynomials.lobatto_basis symfem.polynomials.lobatto_dual_basis symfem.polynomials.Hcurl_polynomials symfem.polynomials.Hcurl_quolynomials symfem.polynomials.Hcurl_serendipity symfem.polynomials.Hdiv_polynomials symfem.polynomials.Hdiv_quolynomials symfem.polynomials.Hdiv_serendipity symfem.polynomials.polynomial_set_1d symfem.polynomials.polynomial_set_vector symfem.polynomials.prism_polynomial_set_1d symfem.polynomials.prism_polynomial_set_vector symfem.polynomials.pyramid_polynomial_set_1d symfem.polynomials.pyramid_polynomial_set_vector symfem.polynomials.quolynomial_set_1d symfem.polynomials.quolynomial_set_vector symfem.polynomials.serendipity_indices symfem.polynomials.serendipity_set_1d symfem.polynomials.serendipity_set_vector .. py:function:: l2_dual(cell: str, poly: List[symfem.functions.ScalarFunction]) -> List[symfem.functions.ScalarFunction] Compute the L2 dual of a set of polynomials. :param cell: The cell type :param poly: The set of polynomial :returns: The L2 dual polynomials .. py:function:: orthogonal_basis(cell: str, order: int, derivs: int, variables: Optional[symfem.symbols.AxisVariablesNotSingle] = None) -> List[List[symfem.functions.ScalarFunction]] Create a basis of orthogonal polynomials. :param cell: The cell type :param order: The maximum polynomial degree :param derivs: The number of derivatives to include :param variables: The variables to use :returns: A set of orthogonal polynomials .. py:function:: orthonormal_basis(cell: str, order: int, derivs: int, variables: Optional[symfem.symbols.AxisVariablesNotSingle] = None) -> List[List[symfem.functions.ScalarFunction]] Create a basis of orthonormal polynomials. :param cell: The cell type :param order: The maximum polynomial degree :param derivs: The number of derivatives to include :param variables: The variables to use :returns: A set of orthonormal polynomials .. py:function:: lobatto_basis(cell: str, order: int, include_endpoints: bool = True) -> List[symfem.functions.ScalarFunction] Get Lobatto polynomials. :param cell: The cell type :param order: The maximum polynomial degree :param include_endpoint: should polynomials that are non-zero on the boundary be included? :returns: Lobatto polynomials .. py:function:: lobatto_dual_basis(cell: str, order: int, include_endpoints: bool = True) -> List[symfem.functions.ScalarFunction] Get L2 dual of Lobatto polynomials. :param cell: The cell type :param order: The maximum polynomial degree :param include_endpoint: should polynomials that are non-zero on the boundary be included? :returns: Lobatto polynomials .. py:function:: Hcurl_polynomials(domain_dim: int, range_dim: int, order: int, variables: symfem.symbols.AxisVariablesNotSingle = x) -> List[symfem.functions.VectorFunction] Hcurl conforming polynomial set. :param domain_dim: The number of variables :param range_dim: The dimension of the output vector :param order: The maximum polynomial degree :param variables: The variables to use :returns: A set of polynomials .. py:function:: Hcurl_quolynomials(domain_dim: int, range_dim: int, order: int, variables: symfem.symbols.AxisVariablesNotSingle = x) -> List[symfem.functions.VectorFunction] Hcurl conforming quolynomial set. :param domain_dim: The number of variables :param range_dim: The dimension of the output vector :param order: The maximum polynomial degree :param variables: The variables to use :returns: A set of polynomials .. py:function:: Hcurl_serendipity(domain_dim: int, range_dim: int, order: int, variables: symfem.symbols.AxisVariablesNotSingle = x) -> List[symfem.functions.VectorFunction] Hcurl conforming serendipity set. :param domain_dim: The number of variables :param range_dim: The dimension of the output vector :param order: The maximum polynomial degree :param variables: The variables to use :returns: A set of polynomials .. py:function:: Hdiv_polynomials(domain_dim: int, range_dim: int, order: int, variables: symfem.symbols.AxisVariablesNotSingle = x) -> List[symfem.functions.VectorFunction] Hdiv conforming polynomial set. :param domain_dim: The number of variables :param range_dim: The dimension of the output vector :param order: The maximum polynomial degree :param variables: The variables to use :returns: A set of polynomials .. py:function:: Hdiv_quolynomials(domain_dim: int, range_dim: int, order: int, variables: symfem.symbols.AxisVariablesNotSingle = x) -> List[symfem.functions.VectorFunction] Hdiv conforming quolynomial set. :param domain_dim: The number of variables :param range_dim: The dimension of the output vector :param order: The maximum polynomial degree :param variables: The variables to use :returns: A set of polynomials .. py:function:: Hdiv_serendipity(domain_dim: int, range_dim: int, order: int, variables: symfem.symbols.AxisVariablesNotSingle = x) -> List[symfem.functions.VectorFunction] Hdiv conforming serendipity set. :param domain_dim: The number of variables :param range_dim: The dimension of the output vector :param order: The maximum polynomial degree :param variables: The variables to use :returns: A set of polynomials .. py:function:: polynomial_set_1d(dim: int, order: int, variables: symfem.symbols.AxisVariablesNotSingle = x) -> List[symfem.functions.ScalarFunction] One dimensional polynomial set. :param dim: The number of variables :param order: The maximum polynomial degree :param variables: The variables to use :returns: A set of polynomials .. py:function:: polynomial_set_vector(domain_dim: int, range_dim: int, order: int, variables: symfem.symbols.AxisVariablesNotSingle = x) -> List[symfem.functions.VectorFunction] Polynomial set. :param domain_dim: The number of variables :param range_dim: The dimension of the output vector :param order: The maximum polynomial degree :param variables: The variables to use :returns: A set of polynomials .. py:function:: prism_polynomial_set_1d(dim: int, order: int, variables: symfem.symbols.AxisVariablesNotSingle = x) -> List[symfem.functions.ScalarFunction] One dimensional polynomial set. :param dim: The number of variables :param order: The maximum polynomial degree :param variables: The variables to use :returns: A set of polynomials .. py:function:: prism_polynomial_set_vector(domain_dim: int, range_dim: int, order: int, variables: symfem.symbols.AxisVariablesNotSingle = x) -> List[symfem.functions.VectorFunction] Polynomial set for a prism. :param domain_dim: The number of variables :param range_dim: The dimension of the output vector :param order: The maximum polynomial degree :param variables: The variables to use :returns: A set of polynomials .. py:function:: pyramid_polynomial_set_1d(dim: int, order: int, variables: symfem.symbols.AxisVariablesNotSingle = x) -> List[symfem.functions.ScalarFunction] One dimensional polynomial set. :param dim: The number of variables :param order: The maximum polynomial degree :param variables: The variables to use :returns: A set of polynomials .. py:function:: pyramid_polynomial_set_vector(domain_dim: int, range_dim: int, order: int, variables: symfem.symbols.AxisVariablesNotSingle = x) -> List[symfem.functions.VectorFunction] Polynomial set for a pyramid. :param domain_dim: The number of variables :param range_dim: The dimension of the output vector :param order: The maximum polynomial degree :param variables: The variables to use :returns: A set of polynomials .. py:function:: quolynomial_set_1d(dim: int, order: int, variables: symfem.symbols.AxisVariablesNotSingle = x) -> List[symfem.functions.ScalarFunction] One dimensional quolynomial set. :param dim: The number of variables :param order: The maximum polynomial degree :param variables: The variables to use :returns: A set of polynomials .. py:function:: quolynomial_set_vector(domain_dim: int, range_dim: int, order: int, variables: symfem.symbols.AxisVariablesNotSingle = x) -> List[symfem.functions.VectorFunction] Quolynomial set. :param domain_dim: The number of variables :param range_dim: The dimension of the output vector :param order: The maximum polynomial degree :param variables: The variables to use :returns: A set of polynomials .. py:function:: serendipity_indices(total: int, linear: int, dim: int, done: Optional[List[int]] = None) -> List[List[int]] Get the set indices for a serendipity polynomial set. :param dim: The number of variables :param order: The maximum polynomial degree :param variables: The variables to use :returns: A set of polynomials .. py:function:: serendipity_set_1d(dim: int, order: int, variables: symfem.symbols.AxisVariablesNotSingle = x) -> List[symfem.functions.ScalarFunction] One dimensional serendipity set. :param dim: The number of variables :param order: The maximum polynomial degree :param variables: The variables to use :returns: A set of polynomials .. py:function:: serendipity_set_vector(domain_dim: int, range_dim: int, order: int, variables: symfem.symbols.AxisVariablesNotSingle = x) -> List[symfem.functions.VectorFunction] Serendipity set. :param domain_dim: The number of variables :param range_dim: The dimension of the output vector :param order: The maximum polynomial degree :param variables: The variables to use :returns: A set of polynomials