Skip to content

Commit

Permalink
Allow OBC
Browse files Browse the repository at this point in the history
  • Loading branch information
RJDennis committed Jul 12, 2022
1 parent 9e89bf1 commit b8008a4
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 44 deletions.
22 changes: 11 additions & 11 deletions test/solution_file_1a.jl
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ soln_so = solve_model(dsge,NN)
soln_to = solve_model(dsge,NNN)
soln_foo = solve_model(dsge,NNNN)

P = ChebyshevSchemeStoch(ss,chebyshev_nodes,[21,21],9,3,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters)
PP = ChebyshevSchemeStoch(ss,chebyshev_extrema,[21,21],9,4,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters)
PPP = ChebyshevSchemeStoch(ss,chebyshev_extended,[71,71],9,6,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters)
P = ChebyshevSchemeStoch(ss,chebyshev_nodes,[21,21],9,3,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters,:newton)
PP = ChebyshevSchemeStoch(ss,chebyshev_extrema,[21,21],9,4,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters,:newton)
PPP = ChebyshevSchemeStoch(ss,chebyshev_extended,[71,71],9,6,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters,:newton)

soln_nla = solve_model(dsge,P,2)
soln_nlb = solve_model(dsge,soln_fo,PP)
Expand All @@ -33,27 +33,27 @@ soln_nld = solve_model(dsge,soln_to,P,2)
soln_nle = solve_model(dsge,soln_nld,PP)
soln_nlf = solve_model(dsge,soln_nle,PPP)

L = SmolyakSchemeStoch(ss,chebyshev_gauss_lobatto,9,4,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters)
LL = SmolyakSchemeStoch(ss,clenshaw_curtis_equidistant,9,4,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters)
LLL = SmolyakSchemeStoch(ss,chebyshev_gauss_lobatto,9,4,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters)
L = SmolyakSchemeStoch(ss,chebyshev_gauss_lobatto,9,4,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters,:newton)
LL = SmolyakSchemeStoch(ss,clenshaw_curtis_equidistant,9,4,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters,:newton)
LLL = SmolyakSchemeStoch(ss,chebyshev_gauss_lobatto,9,4,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters,:newton)

soln_nlg = solve_model(dsge,L,2)
soln_nlh = solve_model(dsge,soln_to,LL,2)
soln_nli = solve_model(dsge,soln_nlh,LLL)
soln_nlj = solve_model(dsge,soln_nlf,LL)

M = PiecewiseLinearSchemeStoch(ss,[21,21],9,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters)
MM = PiecewiseLinearSchemeStoch(ss,[31,31],9,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters)
M = PiecewiseLinearSchemeStoch(ss,[21,21],9,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters,:newton)
MM = PiecewiseLinearSchemeStoch(ss,[31,31],9,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters,:newton)

soln_nlk = solve_model(dsge,M,2)
soln_nll = solve_model(dsge,soln_to,MM,2)
soln_nlm = solve_model(dsge,soln_nlf,MM)
soln_nln = solve_model(dsge,soln_nlj,MM)
soln_nlo = solve_model(dsge,soln_nln,MM)

H = HyperbolicCrossSchemeStoch(ss,chebyshev_nodes,11,5,9,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters)
HH = HyperbolicCrossSchemeStoch(ss,chebyshev_nodes,11,6,11,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters)
HHH = HyperbolicCrossSchemeStoch(ss,chebyshev_nodes,11,12,17,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters)
H = HyperbolicCrossSchemeStoch(ss,chebyshev_nodes,11,5,9,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters,:newton)
HH = HyperbolicCrossSchemeStoch(ss,chebyshev_nodes,11,6,11,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters,:newton)
HHH = HyperbolicCrossSchemeStoch(ss,chebyshev_nodes,11,12,17,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters,:newton)

soln_nlz = solve_model(dsge,H)
soln_nly = solve_model(dsge,HH,2)
Expand Down
22 changes: 11 additions & 11 deletions test/solution_file_1b.jl
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ soln_so = solve_model(dsge,NN)
soln_to = solve_model(dsge,NNN)
soln_foo = solve_model(dsge,NNNN)

P = ChebyshevSchemeDet(ss,chebyshev_nodes,[21,21],3,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
PP = ChebyshevSchemeDet(ss,chebyshev_nodes,[21,21],4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
PPP = ChebyshevSchemeDet(ss,chebyshev_nodes,[71,71],6,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
P = ChebyshevSchemeDet(ss,chebyshev_nodes,[21,21],3,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
PP = ChebyshevSchemeDet(ss,chebyshev_nodes,[21,21],4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
PPP = ChebyshevSchemeDet(ss,chebyshev_nodes,[71,71],6,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)

soln_nla = solve_model(dsge,P)
soln_nlb = solve_model(dsge,soln_fo,PP)
Expand All @@ -33,27 +33,27 @@ soln_nld = solve_model(dsge,soln_to,P)
soln_nle = solve_model(dsge,soln_nld,PP)
soln_nlf = solve_model(dsge,soln_nle,PPP,2)

L = SmolyakSchemeDet(ss,chebyshev_gauss_lobatto,4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
LL = SmolyakSchemeDet(ss,clenshaw_curtis_equidistant,4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
LLL = SmolyakSchemeDet(ss,chebyshev_gauss_lobatto,5,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
L = SmolyakSchemeDet(ss,chebyshev_gauss_lobatto,4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
LL = SmolyakSchemeDet(ss,clenshaw_curtis_equidistant,4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
LLL = SmolyakSchemeDet(ss,chebyshev_gauss_lobatto,5,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)

soln_nlg = solve_model(dsge,L)
soln_nlh = solve_model(dsge,soln_to,LL)
soln_nli = solve_model(dsge,soln_nlh,LLL,2)
soln_nlj = solve_model(dsge,soln_nlf,LL)

M = PiecewiseLinearSchemeDet(ss,[21,21],[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
MM = PiecewiseLinearSchemeDet(ss,[31,31],[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
M = PiecewiseLinearSchemeDet(ss,[21,21],[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
MM = PiecewiseLinearSchemeDet(ss,[31,31],[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)

soln_nlk = solve_model(dsge,M)
soln_nll = solve_model(dsge,soln_to,MM)
soln_nlm = solve_model(dsge,soln_nlf,MM,2)
soln_nln = solve_model(dsge,soln_nlj,MM)
soln_nlo = solve_model(dsge,soln_nln,MM)

H = HyperbolicCrossSchemeDet(ss,chebyshev_nodes,5,9,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters)
HH = HyperbolicCrossSchemeDet(ss,chebyshev_nodes,6,11,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters)
HHH = HyperbolicCrossSchemeDet(ss,chebyshev_nodes,12,17,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters)
H = HyperbolicCrossSchemeDet(ss,chebyshev_nodes,5,9,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters,:newton)
HH = HyperbolicCrossSchemeDet(ss,chebyshev_nodes,6,11,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters,:newton)
HHH = HyperbolicCrossSchemeDet(ss,chebyshev_nodes,12,17,[0.0960769 26.0; -0.0960769 18.0],tol,1e-6,maxiters,:newton)

soln_nlz = solve_model(dsge,H)
soln_nly = solve_model(dsge,HH,2)
Expand Down
22 changes: 11 additions & 11 deletions test/solution_file_2a.jl
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ soln_so = solve_model(dsge,NN)
soln_to = solve_model(dsge,NNN)
soln_foo = solve_model(dsge,NNNN)

P = ChebyshevSchemeStoch(ss,chebyshev_nodes,[21,21],9,3,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
PP = ChebyshevSchemeStoch(ss,chebyshev_extrema,[21,21],9,4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
PPP = ChebyshevSchemeStoch(ss,chebyshev_extended,[71,71],9,6,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
P = ChebyshevSchemeStoch(ss,chebyshev_nodes,[21,21],9,3,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
PP = ChebyshevSchemeStoch(ss,chebyshev_extrema,[21,21],9,4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
PPP = ChebyshevSchemeStoch(ss,chebyshev_extended,[71,71],9,6,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)

soln_nla = solve_model(dsge,P)
soln_nlb = solve_model(dsge,soln_fo,PP)
Expand All @@ -34,27 +34,27 @@ soln_nld = solve_model(dsge,soln_to,P,2)
soln_nle = solve_model(dsge,soln_nld,PP,2)
soln_nlf = solve_model(dsge,soln_nle,PPP)

L = SmolyakSchemeStoch(ss,chebyshev_gauss_lobatto,9,4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
LL = SmolyakSchemeStoch(ss,clenshaw_curtis_equidistant,9,4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
LLL = SmolyakSchemeStoch(ss,chebyshev_gauss_lobatto,9,5,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
L = SmolyakSchemeStoch(ss,chebyshev_gauss_lobatto,9,4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
LL = SmolyakSchemeStoch(ss,clenshaw_curtis_equidistant,9,4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
LLL = SmolyakSchemeStoch(ss,chebyshev_gauss_lobatto,9,5,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)

soln_nlg = solve_model(dsge,L,2)
soln_nlh = solve_model(dsge,soln_to,LL)
soln_nli = solve_model(dsge,soln_nlh,LLL)
soln_nlj = solve_model(dsge,soln_nlf,LL,2)

M = PiecewiseLinearSchemeStoch(ss,[21,21],9,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
MM = PiecewiseLinearSchemeStoch(ss,[31,31],9,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
M = PiecewiseLinearSchemeStoch(ss,[21,21],9,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
MM = PiecewiseLinearSchemeStoch(ss,[31,31],9,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)

soln_nlk = solve_model(dsge,M)
soln_nll = solve_model(dsge,soln_to,MM)
soln_nlm = solve_model(dsge,soln_nlf,MM)
soln_nln = solve_model(dsge,soln_nlj,MM)
soln_nlo = solve_model(dsge,soln_nln,MM,2)

H = HyperbolicCrossSchemeStoch(ss,chebyshev_nodes,11,5,9,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
HH = HyperbolicCrossSchemeStoch(ss,chebyshev_nodes,11,6,11,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
HHH = HyperbolicCrossSchemeStoch(ss,chebyshev_nodes,11,12,17,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
H = HyperbolicCrossSchemeStoch(ss,chebyshev_nodes,11,5,9,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
HH = HyperbolicCrossSchemeStoch(ss,chebyshev_nodes,11,6,11,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
HHH = HyperbolicCrossSchemeStoch(ss,chebyshev_nodes,11,12,17,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)

soln_nlz = solve_model(dsge,H)
soln_nly = solve_model(dsge,HH,2)
Expand Down
22 changes: 11 additions & 11 deletions test/solution_file_2b.jl
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ soln_so = solve_model(dsge,NN)
soln_to = solve_model(dsge,NNN)
soln_foo = solve_model(dsge,NNNN)

P = ChebyshevSchemeDet(ss,chebyshev_nodes,[21,21],3,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
PP = ChebyshevSchemeDet(ss,chebyshev_nodes,[21,21],4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
PPP = ChebyshevSchemeDet(ss,chebyshev_nodes,[71,71],6,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
P = ChebyshevSchemeDet(ss,chebyshev_nodes,[21,21],3,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
PP = ChebyshevSchemeDet(ss,chebyshev_nodes,[21,21],4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
PPP = ChebyshevSchemeDet(ss,chebyshev_nodes,[71,71],6,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)

soln_nla = solve_model(dsge,P)
soln_nlb = solve_model(dsge,soln_fo,PP)
Expand All @@ -34,27 +34,27 @@ soln_nld = solve_model(dsge,soln_to,P)
soln_nle = solve_model(dsge,soln_nld,PP)
soln_nlf = solve_model(dsge,soln_nle,PPP,2)

L = SmolyakSchemeDet(ss,chebyshev_gauss_lobatto,4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
LL = SmolyakSchemeDet(ss,clenshaw_curtis_equidistant,4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
LLL = SmolyakSchemeDet(ss,chebyshev_gauss_lobatto,5,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
L = SmolyakSchemeDet(ss,chebyshev_gauss_lobatto,4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
LL = SmolyakSchemeDet(ss,clenshaw_curtis_equidistant,4,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
LLL = SmolyakSchemeDet(ss,chebyshev_gauss_lobatto,5,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)

soln_nlg = solve_model(dsge,L)
soln_nlh = solve_model(dsge,soln_to,LL)
soln_nli = solve_model(dsge,soln_nlh,LLL,2)
soln_nlj = solve_model(dsge,soln_nlf,LL)

M = PiecewiseLinearSchemeDet(ss,[21,21],[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
MM = PiecewiseLinearSchemeDet(ss,[31,31],[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
M = PiecewiseLinearSchemeDet(ss,[21,21],[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
MM = PiecewiseLinearSchemeDet(ss,[31,31],[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)

soln_nlk = solve_model(dsge,M)
soln_nll = solve_model(dsge,soln_to,MM)
soln_nlm = solve_model(dsge,soln_nlf,MM,2)
soln_nln = solve_model(dsge,soln_nlj,MM)
soln_nlo = solve_model(dsge,soln_nln,MM)

H = HyperbolicCrossSchemeDet(ss,chebyshev_nodes,5,9,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
HH = HyperbolicCrossSchemeDet(ss,chebyshev_nodes,6,11,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
HHH = HyperbolicCrossSchemeDet(ss,chebyshev_nodes,12,17,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters)
H = HyperbolicCrossSchemeDet(ss,chebyshev_nodes,5,9,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
HH = HyperbolicCrossSchemeDet(ss,chebyshev_nodes,6,11,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)
HHH = HyperbolicCrossSchemeDet(ss,chebyshev_nodes,12,17,[0.0960769 26.0; -0.0960769 8.0],tol,1e-6,maxiters,:newton)

soln_nlz = solve_model(dsge,H)
soln_nly = solve_model(dsge,HH,2)
Expand Down

0 comments on commit b8008a4

Please sign in to comment.