GroupedTransform
GroupedTransforms.GroupedTransform
— TypeGroupedTransform
A struct to describe a GroupedTransformation
Fields
system::String
- choice of"exp"
or"cos"
or"chui1"
or"chui2"
or"chui3"
or"chui4"
setting::Vector{NamedTuple{(:u, :mode, :bandwidths),Tuple{Vector{Int},Module,Vector{Int}}}}
- vector of the dimensions, mode, and bandwidths for each term/group, see alsoget_setting(system::String,d::Int,ds::Int,N::Vector{Int})::Vector{NamedTuple{(:u, :mode, :bandwidths),Tuple{Vector{Int},Module,Vector{Int}}}}
andget_setting(system::String,U::Vector{Vector{Int}},N::Vector{Int})::Vector{NamedTuple{(:u, :mode, :bandwidths),Tuple{Vector{Int},Module,Vector{Int}}}}
X::Array{Float64}
- array of nodestransforms::Vector{Tuple{Int64,Int64}}
- holds the low-dimensional sub transformations
Constructor
GroupedTransform( system, setting, X )
Additional Constructor
GroupedTransform( system, d, ds, N::Vector{Int}, X )
GroupedTransform( system, U, N, X )
Base.:*
— Method*( F::GroupedTransform, fhat::GroupedCoefficients )::Vector{<:Number}
Overloads the *
notation in order to achieve f = F*fhat
.
Base.:*
— Method*( F::GroupedTransform, f::Vector{<:Number} )::GroupedCoefficients
Overloads the * notation in order to achieve the adjoint transform f = F*f
.
Base.adjoint
— Methodadjoint( F::GroupedTransform )::GroupedTransform
Overloads the F'
notation and gives back the same GroupdTransform. GroupedTransform decides by the input if it is the normal trafo or the adjoint so this is only for convinience.
Base.getindex
— MethodF::GroupedTransform[u::Vector{Int}]::LinearMap{<:Number} or SparseArray
This function overloads getindex of GroupedTransform such that you can do F[[1,3]]
to obtain the transform of the corresponding ANOVA term defined by u
.
GroupedTransforms.get_matrix
— Methodget_matrix( F::GroupedTransform )::Matrix{<:Number}
This function returns the actual matrix of the transformation. This is not available for the wavelet basis