Approximation
ANOVAapprox.approx — TypeapproxA struct to hold the scattered data function approximation.
Fields
basis::String- basis of the function space; currently choice of"per"(exponential functions),"cos"(cosine functions),"cheb"(Chebyshev basis),"std"(transformed exponential functions),"chui1"(Haar wavelets),"chui2"(Chui-Wang wavelets of order 2),"chui3"(Chui-Wang wavelets of order 3) ,"chui4"(Chui-Wang wavelets of order 4)X::Matrix{Float64}- scattered data nodes with d rows and M columnsy::Union{Vector{ComplexF64},Vector{Float64}}- M function values (complex forbasis = "per", real ortherwise)U::Vector{Vector{Int}}- a vector containing susbets of coordinate indicesN::Vector{Int}- bandwdiths for each ANOVA termtrafo::GroupedTransform- holds the grouped transformationfc::Dict{Float64,GroupedCoefficients}- holds the GroupedCoefficients after approximation for every different regularization parameters
Constructor
approx( X::Matrix{Float64}, y::Union{Vector{ComplexF64},Vector{Float64}}, U::Vector{Vector{Int}}, N::Vector{Int}, basis::String = "cos" )Additional Constructor
approx( X::Matrix{Float64}, y::Union{Vector{ComplexF64},Vector{Float64}}, ds::Int, N::Vector{Int}, basis::String = "cos" )ANOVAapprox.approximate — Methodapproximate( a::approx; lambda::Vector{Float64} = exp.(range(0, 5, length = 5)), max_iter::Int = 50, weights::Union{Vector{Float64},Nothing} = nothing, verbose::Bool = false, solver::String = "lsqr" )::NothingThis function computes the approximation for the regularization parameters contained in lambda.
ANOVAapprox.evaluate — Methodevaluate( a::approx; λ::Float64 )::Union{Vector{ComplexF64},Vector{Float64}}This function evaluates the approximation on the nodes a.X for the regularization parameter λ.
ANOVAapprox.evaluate — Methodevaluate( a::approx; X::Matrix{Float64}, λ::Float64 )::Union{Vector{ComplexF64},Vector{Float64}}This function evaluates the approximation on the nodes X for the regularization parameter λ.
ANOVAapprox.evaluate — Methodevaluate( a::approx; X::Matrix{Float64} )::Dict{Float64,Union{Vector{ComplexF64},Vector{Float64}}}This function evaluates the approximation on the nodes X for all regularization parameters.
ANOVAapprox.evaluate — Methodevaluate( a::approx )::Dict{Float64,Union{Vector{ComplexF64},Vector{Float64}}}This function evaluates the approximation on the nodes a.X for all regularization parameters.
ANOVAapprox.evaluateANOVAterms — MethodevaluateANOVAterms( a::approx; X::Matrix{Float64}, λ::Float64 )::Union{Matrix{ComplexF64},Matrix{Float64}}This function evaluates the single ANOVA terms of the approximation on the nodes X for the regularization parameter λ.
ANOVAapprox.evaluateANOVAterms — MethodevaluateANOVAterms( a::approx; X::Matrix{Float64} )::Dict{Float64,Union{Matrix{ComplexF64},Matrix{Float64}}}This function evaluates the single ANOVA terms of the approximation on the nodes X for all regularization parameters.
ANOVAapprox.evaluateSHAPterms — MethodevaluateSHAPterms( a::approx; X::Matrix{Float64}, λ::Float64 )::Union{Matrix{ComplexF64},Matrix{Float64}}This function evaluates for each dimension the Shapley contribution to the overall approximation on the nodes X for the regularization parameter λ.
ANOVAapprox.evaluateSHAPterms — MethodevaluateSHAPterms( a::approx; X::Matrix{Float64} )::Dict{Float64,Union{Matrix{ComplexF64},Matrix{Float64}}}This function evaluates for each dimension the Shapley contribution to the overall approximation on the nodes X for all regularization parameters.