# Related open-source packages

The following open-source packages provide similar or even extended functionality as LinearMaps.jl.

As for lazy array manipulation (like addition, composition, Kronecker products and concatenation), there exist further related packages in the Julia ecosystem:

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.