gram_schmidt¶
- probnum.utils.linalg.gram_schmidt(v, orthogonal_basis, inner_product=None, normalize=False)[source]¶
Orthogonalize a vector with respect to an orthogonal basis and inner product.
Computes a vector \(v'\) such that \(\langle v', b_i \rangle = 0\) for all basis vectors \(b_i \in B\) in the orthogonal basis.
- Parameters
v (
ndarray
) – Vector (or stack of vectors) to orthogonalize againstorthogonal_basis
.inner_product (
Union
[ndarray
,LinearOperator
,Callable
[[ndarray
,ndarray
],ndarray
],None
]) – Inner product defining orthogonality. Can be either a :class`numpy.ndarray` or aCallable
defining the inner product. Defaults to the euclidean inner product.normalize (
bool
) – Normalize the output vector, s.t. \(\langle v', v' \rangle = 1\).
- Returns
Orthogonalized vector.
- Return type
v_orth