Skip to content

Commit

Permalink
add 1D PCE functionality
Browse files Browse the repository at this point in the history
  • Loading branch information
joannajzou committed Jan 30, 2025
1 parent e669f1a commit d6820f5
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion src/interactions/pce.jl
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,11 @@ function construct_grad_basis(p::Int, d::Int, BasisFamily)
return gbas
end

function eval_basis(x::Real, bas::Vector)
N = length(bas)
Φ = [bas[n][1](x) for n = 1:N]
return Φ
end
function eval_basis(x::Vector, bas::Vector)
N = length(bas)
Φ = Vector{Float64}(undef, N)
Expand All @@ -127,6 +132,9 @@ function eval_basis(x::Vector, inter::PolynomialChaos)
return eval_basis(xs, inter.basis)
end

function eval_grad_basis(x::Real, gbas::Vector)
return [eval_basis(x, gbas[1])]
end
function eval_grad_basis(x::Vector, gbas::Vector)
d = length(gbas)
= Vector{Vector{Float64}}(undef, d)
Expand All @@ -135,7 +143,7 @@ function eval_grad_basis(x::Vector, gbas::Vector)
end
return
end
function eval_grad_basis(x::Vector, inter::PolynomialChaos)
function eval_grad_basis(x::Union{Vector, Real}, inter::PolynomialChaos)
xs = rescale(x, inter.xscl, domain(inter))
return eval_grad_basis(xs, inter.gbasis)
end
Expand Down

0 comments on commit d6820f5

Please sign in to comment.