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"
or"mixed"
setting::Vector{NamedTuple{(:u, :mode, :bandwidths, :bases),Tuple{Vector{Int},Module,Vector{Int},Vector{String}}}}
- vector of the dimensions, mode, bandwidths and bases for each term/group, see alsoget_setting(system::String,d::Int,ds::Int,N::Vector{Int},basis_vect::Vector{String})::Vector{NamedTuple{(:u, :mode, :bandwidths, :bases),Tuple{Vector{Int},Module,Vector{Int},Vector{String}}}}
andget_setting(system::String,U::Vector{Vector{Int}},N::Vector{Int},basis_vect::Vector{String})::Vector{NamedTuple{(:u, :mode, :bandwidths, :bases),Tuple{Vector{Int},Module,Vector{Int},Vector{String}}}}
X::Array{Float64}
- array of nodestransforms::Vector{LinearMap}
- holds the low-dimensional sub transformationsbasis_vect::Vector{String}
- holds for every dimension if a cosinus basis [true] or exponential basis [false] is used
Constructor
GroupedTransform( system, setting, X, basis_vect::Vector{String} = Vector{String}([]) )
Additional Constructor
GroupedTransform( system, d, ds, N::Vector{Int}, X, basis_vect::Vector{String} = Vector{String}([]) )
GroupedTransform( system, U, N, X, basis_vect::Vector{String} = Vector{String}([]) )
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
.