AlgebraicJulia / StockFlow.jl

https://algebraicjulia.github.io/StockFlow.jl/
MIT License
65 stars 6 forks source link

Causal Loop with Polarities #128

Closed neonWhiteout closed 2 months ago

neonWhiteout commented 3 months ago

I'm far from satisfied with it, but it's taken long enough, need to get the ball rolling.

neonWhiteout commented 3 months ago

It should pass all tests at this point, though I commented out the one test for visualization's Graph_RB, will need to re-add that.

I don't think ordering edges such that all positive come before negative is great, but I'm not sure there's a better way to do it.

neonWhiteout commented 3 months ago

...Well, I'm scared to see why it's failing on the rewrite examples, as it works on my machine.

neonWhiteout commented 3 months ago

Catlab 0.16.16 breaks Rewrite. Rewrite still works for 0.16.10. I'd change the Project.toml so it doesn't use beyond Catlab 0.16.10 until we figure out how to fix it.

neonWhiteout commented 3 months ago

So at this point, I think Graph(seir_causalLoop) in examples/full_fledged_schema_examples/CaulsalLoopDiagrams/convert_from_SEIR_stockFlowDiagram.ipynb is broken because I'm having GraphCL work for graphing causal loops instead of Graph, and there's the whole Graph_RB thing that needs to have its test reintroduced.

neonWhiteout commented 3 months ago

I think from here I'd want to write a short markdown page with some documentation.

neonWhiteout commented 3 months ago

Ugh, why do I have both GraphSF and GraphF, which seem to be identical? Will need to delete one of them.

neonWhiteout commented 3 months ago

We'll also want a function to return all shortest paths...

neonWhiteout commented 3 months ago

I should probably add a jupyter file showing all these functions off as well...

neonWhiteout commented 2 months ago

Dang, I didn't think the changes would break existing tests...

neonWhiteout commented 2 months ago

Yeah @Saityi @Xiaoyan-Li please have a look and confirm it looks good.

neonWhiteout commented 2 months ago

I think we should consider a naming & cleaning pass through the entire library, giving consideration to what the initial version of the public consumption API could look like.

I agree. Also need a passover to ensure it adheres to Catlab formatting standards.

neonWhiteout commented 2 months ago

Ah damn commit didn't seem to merge correctly.