Skip to content

Commit

Permalink
Changed test to include exact truncated solver
Browse files Browse the repository at this point in the history
  • Loading branch information
vincentcp committed Oct 19, 2017
1 parent 3a7a9e0 commit 25d57e3
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 23 deletions.
20 changes: 1 addition & 19 deletions src/frames/extensionframe.jl
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,6 @@ eval_element(s::ExtensionFrame, idx::Int, x) = eval_element(basis(s), idx, x)

grid(f::ExtensionFrame) = subgrid(grid(basis(f)),domain(f))

BasisFunctions.default_oversampling(f::ExtensionFrame) = length(subgrid(BasisFunctions.oversampled_grid(basis(f), BasisFunctions.default_oversampling(basis(f))), domain(f)))/length(basis(f))


"""
Make an ExtensionFrame, but match tensor product domains with tensor product sets
in a suitable way.
Expand Down Expand Up @@ -129,7 +126,7 @@ dot(span::Span, domain::Interval, f1::Function, f2::Function; options...) =
# dot(set::FunctionSet, domain::DomainUnion, f1::Function, f2::Function; options...) =
# dot(set, firstelement(domain), f1, f2; options...) +
# dot(set, secondelement(domain), f1, f2; options...)
#
#
# continuous_approximation_operator(span::ExtensionSpan; solver = ContinuousDirectSolver, options...) = solver(span; options...)

#################
Expand All @@ -139,18 +136,3 @@ dual(span::ExtensionSpan; options...) = extensionspan(dual(basisspan(span); opti

dot(frame1::ExtensionSpan, frame2::ExtensionSpan, f1::Int, f2::Int; options...) =
dot(frame1, frame2, x->eval_element(set(frame1), f1, x), x->eval_element(set(frame2), f2, x); options...)

function dot(frame1::ExtensionFrame, frame2::ExtensionFrame, f1::Function, f2::Function; options...)
d1 = domain(frame1); d2 = domain(frame2)
@assert d1 == d2
dot(basisspan(frame1), basisspan(frame2), d1, f1, f2; options...)
end

dot(set1::ExtensionSpan, set2::ExtensionSpan, domain::Interval, f1::Function, f2::Function; options...) =
dot(set1, set2, f1, f2, native_nodes(set(set1), set(set2), domain); options...)

function native_nodes(set1::FunctionSet, set2::FunctionSet, domain::Interval)
@assert left(set1) left(set2)
@assert left(set2) left(set2)
native_nodes(set1, domain)
end
8 changes: 4 additions & 4 deletions test/test_continuous_approximation.jl
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ function continuous_solver_test()
frame = extensionframe(B,D)
f = x->B[1](x)

frameop = approximation_operator(span(frame); discrete=false, abstol=tol)
frameop = approximation_operator(span(frame); discrete=false, solver=solver, abstol=tol)
# framopmatrix = matrix(frameop)
basisop = approximation_operator(span(B); discrete=false, abstol=tol)
basisop = approximation_operator(span(B); discrete=false, solver=solver, abstol=tol)
# basisopmatrix = matrix(basisop)

framesol = *(frameop,f; discrete=false, abstol=tol)
Expand All @@ -36,9 +36,9 @@ function continuous_solver_test()
@test norm(framesol-basissol) < 10*tol
# println(norm(framesol-basissol))

frameF = approximate(span(frame), f; discrete=false, abstol=tol)
frameF = approximate(span(frame), f; discrete=false, solver=solver, abstol=tol)
frameFcoef = coefficients(frameF)
basisF = approximate(span(B), f; discrete=false, abstol=tol)
basisF = approximate(span(B), f; discrete=false, solver=solver, abstol=tol)
basisFcoef = coefficients(basisF)

@test norm(frameFcoef-basisFcoef) < 10*tol
Expand Down

0 comments on commit 25d57e3

Please sign in to comment.