StrctTerm.diagonalize_penalty()#
- StrctTerm.diagonalize_penalty(atol=1e-06)[source]#
Diagonalize the penalty via an eigenvalue decomposition.
This method computes a transformation that diagonalizes the penalty matrix and updates the internal basis function such that subsequent evaluations use the accordingly transformed basis. The penalty is updated to the diagonalized version.
- Return type:
Self- Returns:
The modified term instance (self).
See also
Basis.diagonalize_penaltyThe term calls this method internally. More details are documented there.
Examples
>>> x = jnp.linspace(0.0, 1.0, 4) >>> basis = Basis( ... jnp.column_stack([jnp.ones_like(x), x]), ... xname="x", ... penalty=jnp.eye(2), ... ) >>> term = StrctTerm.f(basis, scale=1.0).diagonalize_penalty() >>> bool(is_diagonal(term.basis.penalty.value)) True