Skip to content

rethink parser #101

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 177 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
177 commits
Select commit Hold shift + click to select a range
1a1f9e7
token push
thorek1 Feb 14, 2025
234fa2c
Merge branch 'main' into rethink_parser
thorek1 Feb 14, 2025
3616886
Merge branch 'main' into rethink_parser
thorek1 Feb 14, 2025
ac907f6
Merge branch 'main' into rethink_parser
thorek1 Feb 14, 2025
02ca1a0
Merge branch 'main' into rethink_parser
thorek1 Feb 14, 2025
0636cfb
another token commit to PR
thorek1 Feb 14, 2025
561142c
Update benchmark workflow to trigger on main branch for pull request_…
thorek1 Feb 14, 2025
af21390
Merge branch 'main' into rethink_parser
thorek1 Feb 14, 2025
f2e4501
Merge branch 'main' into rethink_parser
thorek1 Feb 14, 2025
6992e11
Merge branch 'main' into rethink_parser
thorek1 Feb 14, 2025
2b4881d
Merge branch 'main' into rethink_parser
thorek1 Feb 14, 2025
448d81c
Merge branch 'main' into rethink_parser
thorek1 Feb 14, 2025
a052dbb
Merge branch 'main' into rethink_parser
thorek1 Feb 14, 2025
a65ad64
Merge branch 'main' into rethink_parser
thorek1 Feb 14, 2025
cc00c2b
Merge branch 'main' into rethink_parser
thorek1 Feb 14, 2025
3bbebc7
Merge branch 'main' into rethink_parser
thorek1 Feb 14, 2025
77b01c7
Merge branch 'main' into rethink_parser
thorek1 Feb 14, 2025
a82ffc0
Merge branch 'main' into rethink_parser
thorek1 Feb 14, 2025
033e58b
test script setup
thorek1 Feb 14, 2025
c14a1ec
Merge branch 'main' into rethink_parser
thorek1 Feb 14, 2025
987f8b9
migrate jacobian to DI (nonallocating)
thorek1 Feb 16, 2025
8346d12
implemented jacobian_SS_and_pars_vars but didnt activate it yet
thorek1 Feb 16, 2025
9494cdc
more derivatives
thorek1 Feb 16, 2025
39266da
add more elements to FD derivs
thorek1 Mar 2, 2025
8c5d112
jac pullback
thorek1 Mar 3, 2025
ff6ca98
fix rrule(::typeof(calculate_jacobian)
thorek1 Mar 14, 2025
93136ca
model hessian with FD
thorek1 Mar 16, 2025
48a2f0f
third order works
thorek1 Mar 16, 2025
0f8ed55
fix derivs for SS, second order
thorek1 Mar 26, 2025
e61725e
got hessian derivs working
thorek1 Mar 26, 2025
953e71b
third order works as well
thorek1 Mar 26, 2025
9186edf
update docs
thorek1 Apr 6, 2025
f2b96a9
update project toml for krylov, dynamicppl, and forwarddiff; update f…
thorek1 Apr 19, 2025
2d1f82d
add code to rethink parser
thorek1 Apr 19, 2025
dee8cc0
fix buffer and workspaces
thorek1 Apr 19, 2025
ca013b2
clear up dependencies
thorek1 Apr 19, 2025
8d9688e
try switch to symb for SS derivs
thorek1 Apr 19, 2025
3291cd2
fix buffers
thorek1 Apr 19, 2025
dae030a
more flex deriv matrices
thorek1 Apr 19, 2025
f198c6b
no changing of buffer by lu
thorek1 Apr 20, 2025
060999b
fix jacobian buffer
thorek1 Apr 20, 2025
665dc37
fix buffers
thorek1 Apr 20, 2025
e28678c
fix workspace handling
thorek1 Apr 20, 2025
d79b66b
works up to jacobian
thorek1 Apr 23, 2025
649949c
start implementing hessian
thorek1 Apr 23, 2025
50d83d1
fix derivs
thorek1 Apr 23, 2025
cf6d1ae
fix types on optim
thorek1 Apr 23, 2025
bda21db
try third order
thorek1 Apr 23, 2025
cfdffa4
3rd order is compressed
thorek1 Apr 23, 2025
d68bc71
second order compressed
thorek1 Apr 25, 2025
9764683
redo derivatives
thorek1 Apr 26, 2025
8f2befb
first order seems to work
thorek1 Apr 26, 2025
f0134a7
order of input arguments for jacobian derivs
thorek1 Apr 27, 2025
312856b
fix order of args
thorek1 Apr 27, 2025
d58e2b7
fix ros cols, dense jac atm
thorek1 Apr 27, 2025
dadbb60
seems to work at first roder; dense and substitute (no fast_substitute)
thorek1 Apr 28, 2025
0965681
fix forwarddiff
thorek1 Apr 28, 2025
311db64
more solver parameters so that Guirrieri... solves out of the box
thorek1 Apr 28, 2025
b14bb22
avoid naming conflict
thorek1 Apr 28, 2025
455ee6f
fix higher order diff
thorek1 Apr 28, 2025
93bd47d
start fixing higher order derivatives
thorek1 Apr 28, 2025
7f571e9
more types
thorek1 Apr 28, 2025
804d7ec
try fix types again for jet
thorek1 Apr 29, 2025
0374ee8
fix ss param finder to not continue from found solution
thorek1 Apr 29, 2025
95ae91f
add Guerrieri params
thorek1 Apr 29, 2025
ceef31f
clean up and fix third order
thorek1 Apr 29, 2025
d1d8896
back to uncompressed 2nd order
thorek1 Apr 29, 2025
626cdbd
fix third order
thorek1 Apr 29, 2025
2f94996
options for write functions mapping
thorek1 Apr 29, 2025
6d552f8
sparse indirect jacobian derivs
thorek1 Apr 29, 2025
47b7d97
fix precompile = true
thorek1 Apr 30, 2025
2c0980d
fix sw03 stst
thorek1 Apr 30, 2025
8041bfc
test plots output
thorek1 Apr 30, 2025
c0d9881
back to serial form
thorek1 Apr 30, 2025
af9e448
set nzvals to zero for sparse arrays
thorek1 Apr 30, 2025
758241a
adaptive parallel
thorek1 Apr 30, 2025
61e467f
fix tests
thorek1 Apr 30, 2025
207b8d7
substitute FS2000 initialisation
thorek1 Apr 30, 2025
1d1cf55
start 2nd order estim from nuts mean
thorek1 Apr 30, 2025
b98a6fc
fix tests (plot)
thorek1 Apr 30, 2025
0347864
intermediate step to implement non allocating SS block funcs
thorek1 Apr 30, 2025
962de1e
got the right functions put together
thorek1 Apr 30, 2025
569425d
runs but wrong results
thorek1 May 4, 2025
fe8fdcf
old code with new in comments
thorek1 May 4, 2025
f2ae6e3
script to fix ss blocks
thorek1 May 4, 2025
c42c039
intermediate new way with debup prints
May 5, 2025
86912a5
fix new way
May 5, 2025
5d0b35d
fix precompile = true
May 5, 2025
f6e4a2f
higher length limit for sparse matrices in SS blocks (dense is much f…
May 5, 2025
05719be
trying to implement outside transformation
May 8, 2025
89ff7b9
fix chol
thorek1 May 8, 2025
b3dde03
Merge branch 'rethink_parser' of https://github.com/thorek1/MacroMode…
thorek1 May 8, 2025
f59d47b
nonlinear solver compatible with transform outside functions
thorek1 May 8, 2025
ba6ef2b
add lienar solve to levenberg marquardt
thorek1 May 8, 2025
c53a8be
nonlinear solver work with sparse
thorek1 May 9, 2025
c560d56
add linearsolve to compat
thorek1 May 9, 2025
72313ef
udate turing compat
thorek1 May 10, 2025
4c62634
use frak insead of scr for Symbolics
thorek1 May 10, 2025
dc1bd7e
NSSS residual with separate calib and ss_eq funcs
thorek1 May 10, 2025
d990b3c
redid NSSS funcs; NSSS derivs and dyn derivs left
thorek1 May 10, 2025
3b18985
cleanup
thorek1 May 10, 2025
10ea1b6
fix NSSS precompile
thorek1 May 11, 2025
b6d4444
add coherence test between precompile and no precompile
thorek1 May 11, 2025
563b473
add nnaux back in
thorek1 May 11, 2025
f350ab3
add ss_check_funcs to precompile = true
thorek1 May 11, 2025
04b7c5f
fix user defined functions
thorek1 May 11, 2025
03e0dfc
compacter func definitions
thorek1 May 11, 2025
c302854
fix typing of replace_symbols
thorek1 May 11, 2025
0d54217
fix type instability
thorek1 May 11, 2025
efcff29
fix symbolic handling of calib eqs in SS
thorek1 May 13, 2025
e0d8f3a
fix SS related funcs (way faster now)
thorek1 May 13, 2025
9bbea40
ss_solve_block_script
thorek1 May 14, 2025
81d6aa4
fix num vars
thorek1 May 14, 2025
d0f0a4a
intermediate step
thorek1 May 14, 2025
0511731
fix symbols
thorek1 May 15, 2025
a88f057
fix derivatives
thorek1 May 16, 2025
6d5f9f0
allow for DI version 0.7
thorek1 May 16, 2025
8b562c0
no disptach doctor on Symbolics.derivative
thorek1 May 16, 2025
baea7d9
adjust project toml and derivatives
thorek1 May 16, 2025
d5dada1
more type stability
thorek1 May 16, 2025
596a634
rm unnecessary @RuntimeGeneratedFunction
thorek1 May 16, 2025
6ea9935
cleanup main container
thorek1 May 16, 2025
bfdfdd0
fix higher order derivatives
thorek1 May 16, 2025
7cb25b5
fix length of deriv arrays
thorek1 May 16, 2025
49e95be
rm ℭ
thorek1 May 17, 2025
52c7a82
fix indices for derivatives
thorek1 May 17, 2025
011f03a
latest ss solve block script
thorek1 May 18, 2025
2df74d9
trace diff
thorek1 May 18, 2025
efd5176
fix lm
thorek1 May 18, 2025
feb8348
add getlllh scripts
thorek1 May 18, 2025
983ca60
specific vals
thorek1 May 18, 2025
9263dcb
AutoZygote from ADTypes
thorek1 May 18, 2025
72799f5
new params to check
thorek1 May 18, 2025
363b086
fix newton
thorek1 May 18, 2025
65b7b78
update ci to exlcude jet from pre release tests
thorek1 May 18, 2025
2719b16
minor details
thorek1 May 18, 2025
6799000
ADTypes for SW07 estimation
thorek1 May 18, 2025
0b421a8
fix sw07 estimation
thorek1 May 18, 2025
dc89a00
fix for syntax of DynamicPPL 0.35.9
thorek1 May 18, 2025
18a9cd3
less func calls in LM
thorek1 May 18, 2025
adcf304
add github repo stats
thorek1 May 18, 2025
071a0ea
fisrt attempt getEAdata in julia
thorek1 May 24, 2025
ceba2d0
less priting
thorek1 May 26, 2025
5fada50
less allocs in levenberg marquardt
thorek1 May 26, 2025
471cc39
update conditions in lm linesearch
thorek1 May 30, 2025
29ac1bc
less allocs in lm
thorek1 May 30, 2025
9c1137e
use dot instead of abs2
thorek1 May 30, 2025
cfcf855
add has_nonfinite
thorek1 May 30, 2025
303dfa3
use cholesky in lm
thorek1 May 31, 2025
a72e02c
always cholesky
thorek1 May 31, 2025
f4a1846
linearcache outside of optim routine
thorek1 May 31, 2025
cc9cf96
use preallocated jac arrays
thorek1 Jun 1, 2025
38700b1
back to previous sol and comment out transform as its not used anymroe
thorek1 Jun 1, 2025
faf7b64
use sol_cache.A
thorek1 Jun 1, 2025
151b8ad
add fix pigeons script
thorek1 Jun 2, 2025
0fc76eb
fix newton solver
Jun 2, 2025
61844de
LUFactorization instead of lu_alg
Jun 2, 2025
b7ce55c
func tye annotaiton
Jun 2, 2025
47bac64
select_fastest_SS_solver_parameters! deleted the solver cache but its…
Jun 2, 2025
db52bd7
less allocs in block solver
Jun 3, 2025
bfe4c2c
no init in test_estimation
Jun 3, 2025
154df07
put init back in
Jun 3, 2025
5a11ab4
add commented nanmath
thorek1 Jun 4, 2025
efd3500
less allocs in nonlinear solvers
Jun 4, 2025
af7e120
Merge branch 'rethink_parser' of https://github.com/thorek1/MacroMode…
Jun 4, 2025
b78c718
set nzvals to 0 instead of 1
Jun 4, 2025
c24a819
add agents.md
Jun 4, 2025
e5d1518
Update AGENTS.md
thorek1 Jun 4, 2025
bf95916
Update AGENTS.md
thorek1 Jun 4, 2025
d7cc4c2
update agents.md
thorek1 Jun 5, 2025
3c070fd
no use of revise but benchmarktools
thorek1 Jun 5, 2025
7d1dcdd
add file for getEAdata.R
thorek1 Jun 8, 2025
d7e1f1c
update agents.md
thorek1 Jun 8, 2025
37edd7b
update agents/md
thorek1 Jun 8, 2025
35f20ba
Update Project.toml
thorek1 Jun 8, 2025
32eb863
update agents.md
thorek1 Jun 9, 2025
39fcd87
Update AGENTS.md
thorek1 Jun 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,14 @@ jobs:
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
# On the Julia “pre” matrix entries, drop the unsupported test-only package
- name: Strip JET references on pre Julia
if: matrix.version == 'pre'
run: |
sed -i -e '/^[[:space:]]*JET[[:space:]]*=/d' \
-e '/^\[targets\]/,$s/,[[:space:]]*"JET"//g' \
-e '/^\[targets\]/,$s/"JET",[[:space:]]*//g' \
Project.toml
- name: Set Custom Test Environment Variable (Windows)
if: matrix.os == 'windows-latest'
run: echo "TEST_SET=${{ matrix.test_set }}" | Out-File -Append -FilePath $env:GITHUB_ENV -Encoding utf8
Expand Down
20 changes: 20 additions & 0 deletions .github/workflows/github-repo-stats.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: github-repo-stats

on:
schedule:
# Run this once per day, towards the end of the day for keeping the most
# recent data point most meaningful (hours are interpreted in UTC).
- cron: "0 23 * * *"
workflow_dispatch: # Allow for running this manually.

jobs:
j1:
name: github-repo-stats
runs-on: ubuntu-latest
steps:
- name: run-ghrs
# Use latest release.
uses: jgehrcke/github-repo-stats@RELEASE
with:
ghtoken: ${{ secrets.ghrs_github_api_token }}

9 changes: 9 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
- if you need to run julia use: 'curl -fsSL https://install.julialang.org -o juliaup.sh\nsh juliaup.sh --yes --default-channel release\nexport PATH="$HOME/.juliaup/bin:$PATH"' to install it
- dont use the test suite to test changes. just pick a few models from the test_models.jl and run those commands
- use the package "BenchmarkTools" to run benchmarks
- if asked to benchmark different implementation have a look at the benchmarks.jl script in the benchmark folder
- for benchmarks have a look at the benchmarks.jl script in the benchmark folder
- try first to install R packages with micromamba and then using install.packages()
- when implementing new functionality for the MacroModelling.jl package try to test it by writing a bespoke script for that functionality only, and avoid precomiling the whole MacroModelling package
- run julia with -t auto
- use this to install micromamba: "curl -Ls https://micro.mamba.pm/install.sh | MAMBA_NO_BANNER=1 MAMBA_NO_PROMPT=1 bash -s -- -b -u -p ~/micromamba"
16 changes: 10 additions & 6 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f"
LineSearches = "d3d80556-e9d4-5f37-9878-2ab0fcc64255"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
LinearOperators = "5c8ed15e-5a4c-59e4-a42b-c7e8811fb125"
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890"
MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
MatrixEquations = "99c1a7ee-ab34-5fd5-8076-27c950a045f4"
Expand Down Expand Up @@ -49,6 +50,7 @@ StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd"
Turing = "fce5fe82-541a-59a6-adf8-730c64b5f9a0"

[compat]
ADTypes = "1.14.0"
Accessors = "0.1"
Aqua = "0.8"
AxisKeys = "0.2"
Expand All @@ -58,20 +60,21 @@ ChainRulesCore = "1"
Combinatorics = "1"
DataFrames = "1"
DataStructures = "0.18"
DifferentiationInterface = "0.6"
DifferentiationInterface = "0.6,0.7"
DispatchDoctor = "0.4"
DocStringExtensions = "0.8, 0.9"
DynamicPPL = "0.23 - 0.34"
DynamicPPL = "0.23 - 0.36"
DynarePreprocessor_jll = "6"
FiniteDifferences = "0.12"
ForwardDiff = "0.10"
ForwardDiff = "0.10, 1"
JET = "0.7, 0.8, 0.9"
JSON = "0.21"
Krylov = "0.9"
Krylov = "0.10"
LaTeXStrings = "1"
LineSearches = "7"
LinearAlgebra = "1"
LinearOperators = "2"
LinearSolve = "3"
LoopVectorization = "0.12"
MCMCChains = "6"
MacroTools = "0.5"
Expand All @@ -98,12 +101,13 @@ SymPyPythonCall = "0.2 - 0.5"
Symbolics = "5, 6"
Test = "1"
ThreadedSparseArrays = "0.2.3"
Turing = "0.30 - 0.36"
Turing = "0.30 - 0.39"
Unicode = "1"
Zygote = "0.6, 0.7"
julia = "1.10"

[extras]
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
Expand All @@ -121,4 +125,4 @@ Turing = "fce5fe82-541a-59a6-adf8-730c64b5f9a0"
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"

[targets]
test = ["Aqua", "JET", "CSV", "DataFrames", "DynamicPPL", "MCMCChains", "LineSearches", "Optim", "Test", "Turing", "Pigeons", "FiniteDifferences", "Zygote", "StatsPlots", "Preferences"]
test = ["ADTypes", "Aqua", "JET", "CSV", "DataFrames", "DynamicPPL", "MCMCChains", "LineSearches", "Optim", "Test", "Turing", "Pigeons", "FiniteDifferences", "Zygote", "StatsPlots", "Preferences"]
Binary file not shown.
Loading
Loading