Module operator

Module operator 

Source
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§

CompactMatrixOperator
Wrapper to mark a matrix operator as compact.
CompositeOperator
Composition of two operators: (S ∘ T)(x) = S(T(x)).
FiniteRankOperator
A finite-rank operator represented as a sum of rank-1 operators.
FredholmMatrixOperator
Wrapper to mark a matrix operator as Fredholm.
IdentityOperator
The identity operator I: x ↦ x.
MatrixOperator
A linear operator represented as a matrix.
ProjectionOperator
Orthogonal projection operator onto a subspace.
ScalingOperator
Scaling operator αI: x ↦ αx.
ZeroOperator
The zero operator 0: x ↦ 0.

Traits§

AdjointableOperator
An operator that has an adjoint.
BoundedOperator
A bounded linear operator.
CompactOperator
Trait for compact operators.
FredholmOperator
Trait for Fredholm operators.
LinearOperator
A linear operator between vector spaces.
OperatorNorm
Trait for computing operator norms.
SelfAdjointOperator
A self-adjoint operator (T = T*).