Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 2 committers (50.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.9%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: marcdelabarrera
- Language: Python
- Default Branch: main
- Size: 827 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
dsolve
dsolve is a package to solve systems of dynamic equations in Python.
Sequence Space
$$F(X,\mathcal{E})=0$$
$$ft(x{t-1},x{t},x{t+1},\epsilon_t)=0\qquad \forall t$$
Symbolic
A package to solve systems of dynamic equations with Python. It understands $\LaTeX$ syntax and it requires minimum specifications from the user end. It solves problems of the form:
$$A0\begin{bmatrix}x{t+1}\ E{t}[p{t+1}]\end{bmatrix}=A1\begin{bmatrix}x{t}\ p{t}\end{bmatrix}+\gamma zt$$
with $xt$ given. Following Blanchard Kahn notation, $x{t}$ are state variables (known at time $t$) while $p{t}$ are forward-looking variables, and $zt$ are shocks with $Et[z{t+1}]=0$. The solver uses the Klein (2000) algorithm which allows for $A_0$ to be invertible.
Returns the matrix solution
$$pt=\Thetap xt+Nzt$$ $$x{t+1}=\Thetax xt+Lzt$$
and methods to plot impulse responses given a sequence of $z_t$
The main class of the package is Klein, which stores and solves the dynamic system. It takes a list of strings that are written as $\LaTeX$ equations, a dictionary that define the numeric values of the parameters, and the specification of x, p and z, specified as a list of $\LaTeX$ strings or a long string separated by commas.
Usage (for more examples check the notebook tutorial) ```python from dsolve.solvers import Klein
Your latex equations here as a list of strings
eq=[ '\pi{t}=\beta*E\pi{t+1}+\kappay{t}+u{t}', 'y{t}=Ey{t+1}+(1-\phi)E[\pi{t+1}]+\epsilon{t}', '\epsilon{t} = \rhov*\epsilon{t-1}+v{t}' ]
Your calibration here as a dictionary
calibration = {'\beta':0.98,'\kappa':0.1,'\phi':1.1,'\rho_v':0.8}
Define pre-determined variables, forward looking variables, and shocks as strings separated by commas or a list of strings.
x = '\epsilon{t-1}' p = '\pit, yt' z = 'vt, u_t'
system = Klein(eq = eq, x=x, p=p, z=z, calibration=calibration)
Simulate the inpulse response of a shock v{0}=0 for 12 periods when \epsilon{-1}=0
system.simulate(x0=0, z = {'v_{t}':1}, T=12) ```
Flexible input reading
The standarized way to write a variable is E_{t}[x_{s}] to represent the expectation of x_{s} at time t. but dsolve understands other formats. Ex_{s}, E[x_s] and Ex_s are quivalents to E_{t}[x_{s}], and the subscript t is assumed.
Greek symbols can be writen as \rho or just rho.
dsolve understands fractions and sums. \sum_{i=0}^{2}{x_{i,t}} produces x_{0,t}+x_{1,t}+x_{2,t} and fraction \frac{a}{b} produces (a)/(b)
Owner
- Name: Marc de la Barrera i Bardalet
- Login: marcdelabarrera
- Kind: user
- Location: Cambridge, MA
- Repositories: 5
- Profile: https://github.com/marcdelabarrera
GitHub Events
Total
Last Year
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| marcdelabarrera | m****a@m****u | 92 |
| marcdelabarrera | 4****a | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 12 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 400 last-month
- Total dependent packages: 1
- Total dependent repositories: 2
- Total versions: 22
- Total maintainers: 1
pypi.org: dsolve
Solver of dynamic equations with forward looking variables
- Homepage: https://github.com/marcdelabarrera/dsolve
- Documentation: https://dsolve.readthedocs.io/
-
Latest release: 1.1.2
published over 8 years ago
Rankings
Maintainers (1)
Dependencies
- scipy *