Methods list
LinearMapsAA.LinearMapsAALinearMapsAA.LinearMapAMLinearMapsAA.LinearMapAOLinearMapsAA.LinearMapAOLinearMapsAA.LinearMapAXBase.:*Base.:*Base.hcatBase.hvcatBase.kronBase.showBase.vcatLinearAlgebra.mul!LinearMapsAA.LinearMapAALinearMapsAA.LinearMapAALinearMapsAA.LinearMapAALinearMapsAA.LinearMapAALinearMapsAA.block_diagLinearMapsAA.lmaa_hcatLinearMapsAA.lmaa_hvcatLinearMapsAA.lmaa_vcatLinearMapsAA.lmao_mul!LinearMapsAA.redimLinearMapsAA.undim
Methods usage
LinearMapsAA.LinearMapsAA — Module
module LinearMapsAA
Provides AbstractArray (actually AbstractMatrix) or "Ann Arbor" version of LinearMap objects
LinearMapsAA.LinearMapAX — Type
struct LinearMapAX{T,Do,Di,LM,P}Union of LinearMapAM and LinearMapAO because most operations apply to both AM and AO types.
T:eltypeDo: output dimensionalityDi: input dimensionalityLM:LinearMaptypeP:NamedTupletype
LinearMapsAA.LinearMapAM — Type
struct LinearMapAM{T,Do,Di,LM,P} <: AbstractMatrix{T}"matrix" version that is quite akin to a matrix in its behavior
LinearMapsAA.LinearMapAO — Type
struct LinearMapAO{T,Do,Di,LM,P}"Tensor" version that can map from arrays to arrays. (It is not a subtype of AbstractArray.)
LinearMapsAA.LinearMapAO — Method
B = LinearMapAO(A::LinearMapAX)Make an AO from an AM, despite idim and odim being 1D, for expert users who want B*X to be an Array. Somewhat an opposite of undim.
Base.hvcat — Method
hvcat(rows, As::LinearMapAO...)hvcat that discards special idim and odim information (too hard!) # todo?
LinearAlgebra.mul! — Method
mul!(yv, AO::LinearMapAO, xv, α, β)Fancy 5-arg multiply when yv and xv are each a Vector of AbstractArrays. Basically does mul!(yv[i], A, xv[i], α, β) for i in 1:length(xv).
LinearMapsAA.LinearMapAA — Method
A = LinearMapAA(L::AbstractMatrix ; ...)Constructor given an AbstractMatrix.
LinearMapsAA.LinearMapAA — Method
A = LinearMapAA(f::Function, fc::Function, D::Dims{2} [, prop::NamedTuple)]
; T::Type = Float32, idim::Dims, odim::Dims)Constructor given forward f and adjoint function fc.
LinearMapsAA.LinearMapAA — Method
A = LinearMapAA(f::Function, D::Dims{2} [, prop::NamedTuple]; kwargs...)Constructor given just forward function f.
LinearMapsAA.LinearMapAA — Method
A = LinearMapAA(L::LinearMap ; ...)Constructor for LinearMapAM or LinearMapAO given a LinearMap.
Options
prop::NamedTuple = NamedTuple(); cannot include the fields_lmap,_prop,_idim,_odimT::Type = eltype(L)idim::Dims = (size(L,2),)odim::Dims = (size(L,1),)operator::Boolby default:falseif bothidim&odimare 1D.
Output A is LinearMapAO if operator is true, else LinearMapAM.
LinearMapsAA.block_diag — Method
B = block_diag(As::LinearMapAX... ; tryop::Bool)Make block diagonal LinearMapAX object from blocks.
Return a LinearMapAM unless tryop and all blocks have same idim and odim.
Default for tryop is true if all blocks are type LinearMapAO.
LinearMapsAA.lmaa_hcat — Method
B = lmaa_hcat(A1, A2, ...) hcat of multiple objects
LinearMapsAA.lmaa_hvcat — Method
B = lmaa_hvcat(rows, A1, A2, ...) hvcat of multiple objects
LinearMapsAA.lmaa_vcat — Method
B = lmaa_vcat(A1, A2, ...) vcat of multiple objects
LinearMapsAA.lmao_mul! — Method
lmao_mul!(Y, A, X, α, β ; idim, odim)Core routine for 5-arg multiply. If A._idim = (2,3,4) and A._odim = (5,6) and if input X has size (2,3,4, 7,8) then output Y will have size (5,6, 7,8)
LinearMapsAA.redim — Method
redim(A::LinearMapAX ; idim::Dims=A._idim, odim::Dims=A._odim)"Reinterpret" the idim and odim of A
LinearMapsAA.undim — Method
undim(A::LinearMapAX)"Reinterpret" the idim and odim of A to be of AM type