AlgebraicJulia / AlgebraicJulia/Catlab.jl
Standard library of ACT applications
- Ngôn ngữ chính
- Julia
- Star
- 724
- Fork
- 73
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
When we talked about a standard library of prebuilt functionality for Catlab, we talked about a module for linear algebra (#65). I think this issue could serve as a collection point for what to put in that standard library. Here are some of the examples that make sense to me:
1. LinAlg: describing linear relations with graphical linear algebra
2. MarkovProcesses and Circuits: anything in CS that you can represent with graphs probably forms a category of decorated cospans https://aip.scitation.org/doi/pdf/10.1063/1.4941578?class=pdf
3. Relational Ologs: describe arbitrary knowledge with FreeBicatRel
4. Process Planning: objects are physical objects and morphisms are arbitrary processes (https://doi.org/10.1016/j.compind.2019.103124) (ex. kitchen processes)
I guess for each component of the library we should have a doctrine, an instance, some examples, and a function that computes something interesting about a morphism functorially.
1. LinAlg: solve systems of equations by computing matvec functorially
2. MarkovProcesses: solve for equilibrium (stationary distribution)
3. RelationalOlog: generate a DB schema / knowledge graph to represent information
4. Process Planning: compute plan refinements with pushouts
@epatters do you see any other good examples?
Hướng dẫn đóng góp
Đánh giá
Issue này chưa được đánh giá.