Premade SciMLOperators

Direct Operator Definitions

SciMLOperators.ScalarOperatorType
ScalarOperator(val[; update_func])

(α::ScalarOperator)(a::Number) = α * a

Represents a time-dependent scalar/scaling operator. The update function is called by update_coefficients! and is assumed to have the following signature:

update_func(oldval,u,p,t) -> newval
SciMLOperators.MatrixOperatorType
MatrixOperator(A[; update_func])

Represents a time-dependent linear operator given by an AbstractMatrix. The update function is called by update_coefficients! and is assumed to have the following signature:

update_func(A::AbstractMatrix,u,p,t) -> [modifies A]
SciMLOperators.DiagonalOperatorFunction
DiagonalOperator(diag, [; update_func])

Represents a time-dependent elementwise scaling (diagonal-scaling) operation. The update function is called by update_coefficients! and is assumed to have the following signature:

update_func(diag::AbstractVector,u,p,t) -> [modifies diag]

When diag is an AbstractVector of length N, L=DiagonalOpeator(diag, ...) can be applied to AbstractArrays with size(u, 1) == N. Each column of the u will be scaled by diag, as in LinearAlgebra.Diagonal(diag) * u.

When diag is a multidimensional array, L = DiagonalOperator(diag, ...) forms an operator of size (N, N) where N = size(diag, 1) is the leading length of diag. L then is the elementwise-scaling operation on arrays of length(u) = length(diag) with leading length size(u, 1) = N.

SciMLOperators.AffineOperatorType
L = AffineOperator(A, B, b[; update_func])
L(u) = A*u + B*b

Represents a time-dependent affine operator. The update function is called by update_coefficients! and is assumed to have the following signature:

update_func(b::AbstractArray,u,p,t) -> [modifies b]

Lazy Operator Compositions

SciMLOperators.InvertibleOperatorType
InvertibleOperator(F)

Like MatrixOperator, but stores a Factorization instead.

Supports left division and ldiv! when applied to an array.

Missing docstring.

Missing docstring for SciMLOperators.AdjointedOperator. Check Documenter's build log for details.

Missing docstring.

Missing docstring for SciMLOperators.TransposedOperator. Check Documenter's build log for details.