From dfae48868ee0ab48be036d2f88291ca823130445 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Mon, 3 Jun 2024 23:35:02 +0000 Subject: [PATCH] build based on c09f2e2 --- dev/.documenter-siteinfo.json | 2 +- dev/api/index.html | 8 ++++---- dev/equations/index.html | 2 +- dev/generated/literate_example/index.html | 2 +- dev/index.html | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index cdc57d6..2003d5a 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.10.3","generation_timestamp":"2024-06-03T21:50:11","documenter_version":"1.4.1"}} \ No newline at end of file +{"documenter":{"julia_version":"1.10.3","generation_timestamp":"2024-06-03T23:34:59","documenter_version":"1.4.1"}} \ No newline at end of file diff --git a/dev/api/index.html b/dev/api/index.html index 75f6d49..a420a54 100644 --- a/dev/api/index.html +++ b/dev/api/index.html @@ -1,11 +1,11 @@ -Library Reference · DiagrammaticEquations.jl

Library Reference

Catlab.WiringDiagrams.WiringDiagramAlgebras.oapplyMethod
function oapply(relation::RelationDiagram, podes::Vector{D}) where {D<:OpenSummationDecapode}

Compose a list of Decapodes as specified by the given relation diagram.

The Decapodes must be given in the same order as they were specified in the relation.

State variables (such as the (C,V) given in the head of the following @relation) do not affect the result of a composition.

Examples

julia> compose_diff_adv = @relation (C,V) begin
+Library Reference · DiagrammaticEquations.jl

Library Reference

Catlab.WiringDiagrams.WiringDiagramAlgebras.oapplyMethod
function oapply(relation::RelationDiagram, podes::Vector{D}) where {D<:OpenSummationDecapode}

Compose a list of Decapodes as specified by the given relation diagram.

The Decapodes must be given in the same order as they were specified in the relation.

State variables (such as the (C,V) given in the head of the following @relation) do not affect the result of a composition.

Examples

julia> compose_diff_adv = @relation (C,V) begin
   diffusion(C, ϕ₁)
   advection(C, ϕ₂, V)
   superposition(ϕ₁, ϕ₂, ϕ, C)
 end;
 
 julia> oapply(compose_diff_adv, [(Diffusion, [:C, :ϕ]),
-  (Advection, [:C, :ϕ, :V]), (Superposition, [:ϕ₁, :ϕ₂, :ϕ, :C])]);
source
DiagrammaticEquations.OpenMethod
Open(d::SummationDecapode{T,U,V}, names::AbstractVector{Symbol}) where {T,U,V}

creates an OpenSummationDecapode based on named variables rather than variable indices. See AlgebraicPetri.jl's Open for the analogous verion for LabelledReactionNetworks.

source
DiagrammaticEquations.collateMethod
function collate(equations, boundaries, uwd, symbols)

Create a collage of two Decapodes that simulates with boundary conditions. ```

source
DiagrammaticEquations.contract_operatorsMethod
function contract_operators(d::SummationDecapode; allowable_ops::Set{Symbol} = Set{Symbol}())

Find chains of Op1s in the given Decapode, and replace them with a single Op1 with a vector of function names. After this process, all Vars that are not a part of any computation are removed.

source
DiagrammaticEquations.dot_rename!Method
dot_rename!(d::AbstractNamedDecapode)

Rename tangent variables by their depending variable appended with a dot. e.g. If D == ∂ₜ(C), then rename D to Ċ.

If a tangent variable updates multiple vars, choose one arbitrarily. e.g. If D == ∂ₜ(C) and D == ∂ₜ(B), then rename D to either Ċ or B ̇.

source
DiagrammaticEquations.fill_names!Method
function fill_names!(d::AbstractNamedDecapode; lead_symbol::Symbol = Symbol("•"))

Provide a variable name to all the variables that don't have names.

source
DiagrammaticEquations.find_chainsMethod

function findchains(d::SummationDecapode; allowableops::Set{Symbol} = Set{Symbol}())

Find chains of Op1s in the given Decapode. A chain ends when the target of the last Op1 is part of an Op2 or sum, or is a target of multiple Op1s. Only operators with names included in the allowable_ops set are allowed to be contracted. If the set is empty then all operators are allowed.

source
DiagrammaticEquations.find_dep_and_orderMethod
find_dep_and_order(d::AbstractNamedDecapode)

Find the order of each tangent variable in the Decapode, and the index of the variable that it is dependent on. Returns a tuple of (dep, order), both of which respecting the order in which incident(d, :∂ₜ, :op1) returns Vars.

source
DiagrammaticEquations.get_valid_op1sMethod
function get_valid_op1s(deca_source::SummationDecapode, varID)

Searches SummationDecapode, deca_source, at the request varID and returns all op1s which are allowed to be averaged. Returns an array of indices of valid op1 sources.

Namely this is meant to exclude ∂ₜ from being included in an average.

source
DiagrammaticEquations.infer_types!Method
function infer_types!(d::SummationDecapode, op1_rules::Vector{NamedTuple{(:src_type, :tgt_type, :replacement_type, :op), NTuple{4, Symbol}}})

Infer types of Vars given rules wherein one type is known and the other not.

source
DiagrammaticEquations.resolve_overloads!Method
function resolve_overloads!(d::SummationDecapode, op1_rules::Vector{NamedTuple{(:src_type, :tgt_type, :resolved_name, :op), NTuple{4, Symbol}}})

Resolve function overloads based on types of src and tgt.

source
DiagrammaticEquations.type_check_Decapodes_compositionMethod
function type_check_Decapodes_composition(relation::RelationDiagram, decs::Vector{OpenSummationDecapode})

Check that the types of all Vars connected by the same junction match.

This function only throws an error on the first type mismatch found.

source
DiagrammaticEquations.unique_by!Method
function unique_by!(acset, column_names::Vector{Symbol})

Given column names from the same table, remove duplicate rows.

WARNING: This function does not check if other tables index into the one given. Removal of rows is performed with prejudice.

See also: unique_by.

Examples

julia> unique_by!(parallel_arrows(Graph, 123), :E, [:src,:tgt]) == parallel_arrows(Graph, 1)
-true
source
DiagrammaticEquations.unique_byMethod
function unique_by(acset, column_names::Vector{Symbol})

Given column names from the same table, return a copy of the acset with duplicate rows removed. Removal of rows is performed with prejudice.

WARNING: This function does not check if other tables index into the one given. Removal of rows is performed with prejudice.

See also: unique_by!.

Examples

julia> unique_by(parallel_arrows(Graph, 123), :E, [:src,:tgt]) == parallel_arrows(Graph, 1)
-true
source
Catlab.Graphics.GraphvizGraphs.to_graphvizMethod
Graphics.to_graphviz(F::AbstractDecapode; directed = true, kw...)

Visualize the given Decapode through Graphviz. Ensure that you have called using Catlab.Graphics before-hand, and have a way of visualizing SVG files in your current environment.

source
+ (Advection, [:C, :ϕ, :V]), (Superposition, [:ϕ₁, :ϕ₂, :ϕ, :C])]);
source
DiagrammaticEquations.OpenMethod
Open(d::SummationDecapode{T,U,V}, names::AbstractVector{Symbol}) where {T,U,V}

creates an OpenSummationDecapode based on named variables rather than variable indices. See AlgebraicPetri.jl's Open for the analogous verion for LabelledReactionNetworks.

source
DiagrammaticEquations.collateMethod
function collate(equations, boundaries, uwd, symbols)

Create a collage of two Decapodes that simulates with boundary conditions. ```

source
DiagrammaticEquations.contract_operatorsMethod
function contract_operators(d::SummationDecapode; allowable_ops::Set{Symbol} = Set{Symbol}())

Find chains of Op1s in the given Decapode, and replace them with a single Op1 with a vector of function names. After this process, all Vars that are not a part of any computation are removed.

source
DiagrammaticEquations.dot_rename!Method
dot_rename!(d::AbstractNamedDecapode)

Rename tangent variables by their depending variable appended with a dot. e.g. If D == ∂ₜ(C), then rename D to Ċ.

If a tangent variable updates multiple vars, choose one arbitrarily. e.g. If D == ∂ₜ(C) and D == ∂ₜ(B), then rename D to either Ċ or B ̇.

source
DiagrammaticEquations.fill_names!Method
function fill_names!(d::AbstractNamedDecapode; lead_symbol::Symbol = Symbol("•"))

Provide a variable name to all the variables that don't have names.

source
DiagrammaticEquations.find_chainsMethod

function findchains(d::SummationDecapode; allowableops::Set{Symbol} = Set{Symbol}())

Find chains of Op1s in the given Decapode. A chain ends when the target of the last Op1 is part of an Op2 or sum, or is a target of multiple Op1s. Only operators with names included in the allowable_ops set are allowed to be contracted. If the set is empty then all operators are allowed.

source
DiagrammaticEquations.find_dep_and_orderMethod
find_dep_and_order(d::AbstractNamedDecapode)

Find the order of each tangent variable in the Decapode, and the index of the variable that it is dependent on. Returns a tuple of (dep, order), both of which respecting the order in which incident(d, :∂ₜ, :op1) returns Vars.

source
DiagrammaticEquations.get_valid_op1sMethod
function get_valid_op1s(deca_source::SummationDecapode, varID)

Searches SummationDecapode, deca_source, at the request varID and returns all op1s which are allowed to be averaged. Returns an array of indices of valid op1 sources.

Namely this is meant to exclude ∂ₜ from being included in an average.

source
DiagrammaticEquations.infer_types!Method
function infer_types!(d::SummationDecapode, op1_rules::Vector{NamedTuple{(:src_type, :tgt_type, :replacement_type, :op), NTuple{4, Symbol}}})

Infer types of Vars given rules wherein one type is known and the other not.

source
DiagrammaticEquations.resolve_overloads!Method
function resolve_overloads!(d::SummationDecapode, op1_rules::Vector{NamedTuple{(:src_type, :tgt_type, :resolved_name, :op), NTuple{4, Symbol}}})

Resolve function overloads based on types of src and tgt.

source
DiagrammaticEquations.type_check_Decapodes_compositionMethod
function type_check_Decapodes_composition(relation::RelationDiagram, decs::Vector{OpenSummationDecapode})

Check that the types of all Vars connected by the same junction match.

This function only throws an error on the first type mismatch found.

source
DiagrammaticEquations.unique_by!Method
function unique_by!(acset, column_names::Vector{Symbol})

Given column names from the same table, remove duplicate rows.

WARNING: This function does not check if other tables index into the one given. Removal of rows is performed with prejudice.

See also: unique_by.

Examples

julia> unique_by!(parallel_arrows(Graph, 123), :E, [:src,:tgt]) == parallel_arrows(Graph, 1)
+true
source
DiagrammaticEquations.unique_byMethod
function unique_by(acset, column_names::Vector{Symbol})

Given column names from the same table, return a copy of the acset with duplicate rows removed. Removal of rows is performed with prejudice.

WARNING: This function does not check if other tables index into the one given. Removal of rows is performed with prejudice.

See also: unique_by!.

Examples

julia> unique_by(parallel_arrows(Graph, 123), :E, [:src,:tgt]) == parallel_arrows(Graph, 1)
+true
source
Catlab.Graphics.GraphvizGraphs.to_graphvizMethod
Graphics.to_graphviz(F::AbstractDecapode; directed = true, kw...)

Visualize the given Decapode through Graphviz. Ensure that you have called using Catlab.Graphics before-hand, and have a way of visualizing SVG files in your current environment.

source
diff --git a/dev/equations/index.html b/dev/equations/index.html index e3fa566..0e5b2d4 100644 --- a/dev/equations/index.html +++ b/dev/equations/index.html @@ -991,4 +991,4 @@ -'/>

Often you will have a linear material where you are scaling by a constant, and a nonlinear version of that material where that scaling is replaced by a generic nonlinear function. This is why we allow Decapodes to represent both of these types of equations.

+'/>

Often you will have a linear material where you are scaling by a constant, and a nonlinear version of that material where that scaling is replaced by a generic nonlinear function. This is why we allow Decapodes to represent both of these types of equations.

diff --git a/dev/generated/literate_example/index.html b/dev/generated/literate_example/index.html index e18270c..e0b7bc6 100644 --- a/dev/generated/literate_example/index.html +++ b/dev/generated/literate_example/index.html @@ -1,2 +1,2 @@ -Code Example · DiagrammaticEquations.jl
+Code Example · DiagrammaticEquations.jl
diff --git a/dev/index.html b/dev/index.html index 68803c6..d89d68d 100644 --- a/dev/index.html +++ b/dev/index.html @@ -1,2 +1,2 @@ -DiagrammaticEquations.jl · DiagrammaticEquations.jl

DiagrammaticEquations.jl

DiagrammaticEquations.jl is a Julia library implementing category-theoretic reasoning about systems of equations with diagrams. This package was extractedd from Decapodes.jl to decouple the representation of systems of equations from the solution of those equations. DiagrammaticEquations will grow to support many flavors of equations, starting with the discrete exterior calculus equations from Decapodes.

+DiagrammaticEquations.jl · DiagrammaticEquations.jl

DiagrammaticEquations.jl

DiagrammaticEquations.jl is a Julia library implementing category-theoretic reasoning about systems of equations with diagrams. This package was extractedd from Decapodes.jl to decouple the representation of systems of equations from the solution of those equations. DiagrammaticEquations will grow to support many flavors of equations, starting with the discrete exterior calculus equations from Decapodes.