Skip to content

Add missing API documentation for all exported symbols #3887

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

Merged
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/pages.jl
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ pages = [
"API/variables.md",
"API/model_building.md",
"API/problems.md",
"API/structural_transformation.md",
"API/bipartite_graph.md",
"API/dynamic_opt.md",
"API/codegen.md",
"API/PDESystem.md"],
Expand Down
25 changes: 25 additions & 0 deletions docs/src/API/System.md
Original file line number Diff line number Diff line change
Expand Up @@ -224,3 +224,28 @@ following functions are useful for manipulating namespacing functionality.
ModelingToolkit.renamespace
ModelingToolkit.namespace_equations
```

## Linearization and Analysis

Functions for linearization and analysis of systems.

```@docs
LinearizationProblem
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's missing the most fundamental linearize and linearization_function?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is actually a dup.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The point of API pages is typically that they contain the entire API, even if some things happen to be documented elsewhere as well.

linearization_ap_transform
get_sensitivity_function
get_comp_sensitivity_function
get_looptransfer_function
get_sensitivity
get_comp_sensitivity
get_looptransfer
open_loop
```

## Additional Equation Classification

```@docs
alg_equations
diff_equations
has_alg_equations
has_diff_equations
```
77 changes: 77 additions & 0 deletions docs/src/API/bipartite_graph.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Bipartite Graphs

ModelingToolkit uses bipartite graphs to represent relationships between equations and variables in systems. These functions provide tools for working with and analyzing these graphs.

## Graph Types

```@docs
BipartiteGraph
BipartiteEdge
DiCMOBiGraph
DiffGraph
```

## Vertex Operations

```@docs
𝑠vertices
𝑑vertices
has_𝑠vertex
has_𝑑vertex
nsrcs
ndsts
```

## Neighbor Operations

```@docs
𝑠neighbors
𝑑neighbors
set_neighbors!
```

## Edge Operations

```@docs
𝑠edges
𝑑edges
```

## Graph Views and Modifications

```@docs
invview
delete_srcs!
delete_dsts!
```

## Matching Algorithms

```@docs
maximal_matching
construct_augmenting_path!
```

## Dependency Analysis

```@docs
equation_dependencies
variable_dependencies
eqeq_dependencies
varvar_dependencies
map_variables_to_equations
```

## Graph Conversion

```@docs
asgraph
asdigraph
```

## Constants

```@docs
SRC
DST
```
84 changes: 84 additions & 0 deletions docs/src/API/structural_transformation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Structural Transformation

These functions are used for structural analysis and transformation of equation systems, including index reduction, tearing, and other algebraic manipulations used in the simplification process.

## Tearing and Algebraic Simplification

```@docs
tearing
tearing_reassemble
tearing_substitution
torn_system_jacobian_sparsity
find_solvables!
linear_subsys_adjmat!
```

## Index Reduction

```@docs
dae_index_lowering
pantelides!
pantelides_reassemble
dummy_derivative
```

## Consistency Checking

```@docs
check_consistency
```

## Incidence Matrix Operations

```@docs
sorted_incidence_matrix
but_ordered_incidence
```

## Variable Ordering and Masks

```@docs
lowest_order_variable_mask
highest_order_variable_mask
computed_highest_diff_variables
```

## Shift Operations

These functions handle shift operations in discrete-time systems.

```@docs
shift2term
lower_shift_varname
simplify_shifts
distribute_shift
```

## System Structure Types and Functions

```@docs
SystemStructure
TearingState
TransformationState
isdiffvar
isdervar
isalgvar
isdiffeq
algeqs
is_only_discrete
dervars_range
diffvars_range
algvars_range
get_fullvars
system_subset
```

## Graph Types

```@docs
Matching
InducedCondensationGraph
MatchedCondensationGraph
Unassigned
unassigned
```
Loading