-
Notifications
You must be signed in to change notification settings - Fork 40
Extended causal loop diagrams #664
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
base: main
Are you sure you want to change the base?
Conversation
46de908 to
7608522
Compare
6331054 to
d1f675f
Compare
783b5a6 to
7a6fad8
Compare
|
@jrb137 I think that |
ff71847 to
fc32b58
Compare
broken test Ustr/Uuid -> Id removed TO-DOs usize -> bool
this test checks both the heights of the derivative towers, and that each morphism has been lifted to the correct height.
dc7d32d to
ac964c7
Compare
Morphism generator types changes from "deg" to "Degree", etc.
Previously all derivatives were named the same thing, resulting in an error.
merge main
| \taxon{doctrine} | ||
| \import{macros} | ||
|
|
||
| \p{Degree-delay signed categories are categories graded in the monoid #{\mathbb{N} \times \mathbb{N} \times \mathbb{Z}_2}. The two copies of #{\mathbb{N}} label edges by the \em{differential degree} and \em{order of delay}. The order of the differential degree is meant to indicate which derivative of the target is affected (linearly) by the source. For example, an edge #{A \to B} with degree 2 indicates a contribution of the form #{\ddot{B} \mathrel{+}= kA} for some #{k \in \mathbb{R}}. The \em{order of delay} only has meaning with the assumption that the delays are modelled stochastically by Erlang distributions with the same time-scale parameter (see, for example, [here](https://en.wikipedia.org/wiki/Erlang_distribution)). The labelling in #{\mathbb{Z}_2} indicates the "sign" of the influence, as described in \ref{dct-0002}.} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps worth explaining that the reason you're talking about the Erlang distribution is that it's a sum of i.i.d. Gammas, where the number of summands is the "order of delay" in the ECLD.
| @@ -0,0 +1,4 @@ | |||
| //! Utilities for analyses of ECLDs | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you planning to add more submodules here? If not, I'd suggest removing the extra directory level and having just stdlib/analyses/ecld.rs.
| domains.insert(name("f"), 0); | ||
| domains.insert(name("g"), 2); | ||
| domains.insert(name("l"), 0); | ||
| domains |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ditto.
Implements a new logic of extended causal loop diagrams: causal loop diagrams labelled with differential degree and order of delay (both natural numbers).
This PR also adds a pre-processing function (
catlog/src/stdlib/analyses/ecld/atomisations.rs) for future analyses, which is currently unused but included simply because it's already written (along with a simple test). If preferred, this could be moved to a separate PR :-)To-do:
/math-docsdocumentation (@jrb137)/helpdocumentation (@tim-at-topos)