Related open-source packages
The following open-source packages provide similar or even extended functionality as LinearMaps.jl
.
Spot
: A linear-operator toolbox for Matlab, which seems to have heavily inspired the Julia packageLinearOperators.jl
and the Python packagePyLops
fastmat
: fast linear transforms in PythonJOLI.jl
: Julia Operators LIbraryFunctionOperators.jl
andLinearMapsAA.jl
also support mappings betweenArray
s, inspired by thefatrix
object type in the Matlab version of the Michigan Image Reconstruction Toolbox (MIRT).
As for lazy array manipulation (like addition, composition, Kronecker products and concatenation), there exist further related packages in the Julia ecosystem:
LazyArrays.jl
BlockArrays.jl
BlockDiagonals.jl
BlockFactorizations.jl
Kronecker.jl
FillArrays.jl
- `LiftedMaps.jl
Since these packages provide types that are subtypes of Julia Base
's AbstractMatrix
type, objects of those types can be wrapped by a LinearMap
and freely mixed with, for instance, function-based linear maps. The same applies to custom matrix types as provided, for instance, by packages maintained by the JuliaArrays
github organization. For any CustomMatrix{T} <: AbstractMatrix{T}
type, you only need to provide a mul!(::AbstractVecOrMat, ::CustomMatrix, ::AbstractVector[, ::Number, ::Number])
method for seamless integration with LinearMaps.jl
.