TensorBasis#
- class skfda.representation.basis.TensorBasis(basis_list)[source]#
Tensor basis.
Basis for multivariate functions constructed as a tensor product of \(\mathbb{R} \to \mathbb{R}\) bases.
- Attributes:
domain_range (tuple) – a tuple of length
dim_domain
containing the range of input values for each dimension.n_basis (int) – number of functions in the basis.
- Parameters:
Examples
Defines a tensor basis over the interval \([0, 5] \times [0, 3]\) consisting on the functions
\[1, v, u, uv, u^2, u^2v\]>>> from skfda.representation.basis import TensorBasis, MonomialBasis >>> >>> basis_x = MonomialBasis(domain_range=(0,5), n_basis=3) >>> basis_y = MonomialBasis(domain_range=(0,3), n_basis=2) >>> >>> basis = TensorBasis([basis_x, basis_y])
And evaluates all the functions in the basis in a list of descrete values.
>>> basis([(0., 2.), (3., 0), (2., 3.)]) array([[[ 1.], [ 1.], [ 1.]], [[ 2.], [ 0.], [ 3.]], [[ 0.], [ 3.], [ 2.]], [[ 0.], [ 0.], [ 6.]], [[ 0.], [ 9.], [ 4.]], [[ 0.], [ 0.], [ 12.]]])
Methods
coordinate_basis_and_coefs
(coefs, key)Return a fdatabasis for the coordinate functions indexed by key.
copy
([domain_range])Basis copy.
derivative
(*[, order])Construct a FDataBasis object containing the derivative.
derivative_basis_and_coefs
(coefs[, order])Return basis and coefficients of the derivative.
evaluate
(eval_points, *[, derivative])Evaluate Basis objects and its derivatives.
Return the Gram Matrix of a basis.
inner_product_matrix
([other])Return the Inner Product Matrix of a pair of basis.
Return wether the domain range has been set explicitly.
plot
(*args, **kwargs)Plot the basis object or its derivatives.
rescale
([domain_range])Return a copy of the basis with a new domain range.
to_basis
()Convert the Basis to FDatabasis.
- coordinate_basis_and_coefs(coefs, key)[source]#
Return a fdatabasis for the coordinate functions indexed by key.
- derivative(*, order=1)[source]#
Construct a FDataBasis object containing the derivative.
- Parameters:
order (int) – Order of the derivative. Defaults to 1.
- Returns:
Derivative object.
- Return type:
- derivative_basis_and_coefs(coefs, order=1)[source]#
Return basis and coefficients of the derivative.
- evaluate(eval_points, *, derivative=0)[source]#
Evaluate Basis objects and its derivatives.
Evaluates the basis functions at a list of given values.
Deprecated since version 0.8: Use normal calling notation instead.
- Parameters:
eval_points (ArrayLike) – List of points where the basis is evaluated.
derivative (int) –
order of the derivative.
Deprecated since version 0.4: Use derivative method instead.
- Returns:
Matrix whose rows are the values of the each basis function or its derivatives at the values specified in eval_points.
- Return type:
- gram_matrix()[source]#
Return the Gram Matrix of a basis.
The Gram Matrix is defined as
\[G_{ij} = \langle\phi_i, \phi_j\rangle\]where \(\phi_i\) is the ith element of the basis. This is a symmetric matrix and positive-semidefinite.
- inner_product_matrix(other=None)[source]#
Return the Inner Product Matrix of a pair of basis.
The Inner Product Matrix is defined as
\[I_{ij} = \langle\phi_i, \theta_j\rangle\]where \(\phi_i\) is the ith element of the basis and \(\theta_j\) is the jth element of the second basis. This matrix helps on the calculation of the inner product between objects on two basis and for the change of basis.
- is_domain_range_fixed()[source]#
Return wether the domain range has been set explicitly.
This is useful when using a basis for converting a dataset, since if this is not explicitly assigned it can be changed to the domain of the data.
- Returns:
True if the domain range has been fixed. False otherwise.
- Return type: