Expand description
Linear operators on function spaces.
This module provides traits and types for linear operators between Hilbert spaces, including bounded operators, compact operators, and self-adjoint operators.
§Operator Hierarchy
LinearOperator
↓
BoundedOperator (adds ||T|| < ∞)
↓
CompactOperator (maps bounded sets to precompact sets)
↓
FiniteRankOperator (finite-dimensional range)§Example
ⓘ
use amari_functional::operator::{LinearOperator, IdentityOperator};
use amari_functional::space::MultivectorHilbertSpace;
let space: MultivectorHilbertSpace<2, 0, 0> = MultivectorHilbertSpace::new();
let identity = IdentityOperator::new();
let x = space.from_coefficients(&[1.0, 2.0, 0.0, 0.0]).unwrap();
let y = identity.apply(&x)?;
assert_eq!(x, y);Structs§
- Compact
Matrix Operator - Wrapper to mark a matrix operator as compact.
- Composite
Operator - Composition of two operators: (S ∘ T)(x) = S(T(x)).
- Finite
Rank Operator - A finite-rank operator represented as a sum of rank-1 operators.
- Fredholm
Matrix Operator - Wrapper to mark a matrix operator as Fredholm.
- Identity
Operator - The identity operator I: x ↦ x.
- Matrix
Operator - A linear operator represented as a matrix.
- Projection
Operator - Orthogonal projection operator onto a subspace.
- Scaling
Operator - Scaling operator αI: x ↦ αx.
- Zero
Operator - The zero operator 0: x ↦ 0.
Traits§
- Adjointable
Operator - An operator that has an adjoint.
- Bounded
Operator - A bounded linear operator.
- Compact
Operator - Trait for compact operators.
- Fredholm
Operator - Trait for Fredholm operators.
- Linear
Operator - A linear operator between vector spaces.
- Operator
Norm - Trait for computing operator norms.
- Self
Adjoint Operator - A self-adjoint operator (T = T*).