Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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 Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
MultivariatePolynomials = "102ac46a-7ee4-5c85-9060-abc95bfdeaa3"
RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
Requires = "ae029012-a4dd-5104-9daa-d747884805df"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"

[compat]
Expand All @@ -18,5 +19,6 @@ LinearAlgebra = "<0.0.1, 1.4"
MacroTools = "0.5"
MultivariatePolynomials = "0.3, 0.4, 0.5"
RecipesBase = "0.6, 0.7, 0.8, 1.0, 1.1, 1.2"
Requires = "1.3.1"
SparseArrays = "<0.0.1, 1.4"
julia = "1.5"
2 changes: 1 addition & 1 deletion docs/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ LazySets = "b4f0291d-fe17-52bc-9479-3d1a343d9043"
[compat]
Documenter = "1"
DocumenterCitations = "1.3"
LazySets = "2, 3, 4"
LazySets = "5"
1 change: 1 addition & 0 deletions docs/src/lib/methods.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ isblackbox(::AbstractSystem)
isnoisy(::AbstractSystem)
iscontrolled(::AbstractSystem)
isconstrained(::AbstractSystem)
isparametric(::AbstractSystem)
state_matrix(::AbstractSystem)
input_matrix(::AbstractSystem)
noise_matrix(::AbstractSystem)
Expand Down
4 changes: 4 additions & 0 deletions docs/src/lib/types.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ SecondOrderConstrainedAffineControlContinuousSystem
SecondOrderConstrainedLinearControlContinuousSystem
SecondOrderContinuousSystem
SecondOrderConstrainedContinuousSystem
LinearParametricContinuousSystem
LinearControlParametricContinuousSystem
```

## Discrete Systems
Expand Down Expand Up @@ -94,6 +96,8 @@ SecondOrderConstrainedAffineControlDiscreteSystem
SecondOrderConstrainedLinearControlDiscreteSystem
SecondOrderDiscreteSystem
SecondOrderConstrainedDiscreteSystem
LinearParametricDiscreteSystem
LinearControlParametricDiscreteSystem
```

#### Discretization Algorithms
Expand Down
4 changes: 4 additions & 0 deletions docs/src/man/systems.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,8 @@ However in this table we only included continuous system types for brevity.
|SOACS|[`SecondOrderAffineContinuousSystem`](@ref)|
|SOCACCS|[`SecondOrderConstrainedAffineControlContinuousSystem`](@ref)|
|SOCLCCS|[`SecondOrderConstrainedLinearControlContinuousSystem`](@ref)|
|LPCS|[`LinearParametricContinuousSystem`](@ref)|
|LCPCS|[`LinearControlParametricContinuousSystem`](@ref)|

The following table summarizes the equation represented by each system type
(the names are given in abbreviated form). Again, discrete systems are not included. The column *Input constraints* is `yes` if the structure can model input or noise constraints (or both).
Expand Down Expand Up @@ -137,3 +139,5 @@ The following table summarizes the equation represented by each system type
|``Mx'' + Cx' + Kx = Bu, x ∈ X, u ∈ U``|yes|yes|SOCLCCS|
|``Mx'' + Cx' + f_i(x) = f_e``|no|no|SOCS|
|``Mx'' + Cx' + f_i(x) = f_e``, x ∈ X, u ∈ U``|yes|yes|SOCCS|
|``x' = A(θ)x, θ ∈ Θ``| no|no|LPCS|
|``x' = A(θ)x + B(θ)u, θ ∈ Θ``| no|no|LPCS|
4 changes: 3 additions & 1 deletion src/MathematicalSystems.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
module MathematicalSystems

using Requires
using LinearAlgebra, SparseArrays
using LinearAlgebra: checksquare
import RecipesBase
Expand Down Expand Up @@ -55,7 +56,8 @@ export islinear,
isblackbox,
isnoisy,
iscontrolled,
isconstrained
isconstrained,
isparametric

#====================================
Concrete Types for Continuous Systems
Expand Down
12 changes: 12 additions & 0 deletions src/abstract.jl
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,18 @@ can also be applied to `typeof(s)`.
"""
function isconstrained(::AbstractSystem) end

"""
isparametric(s::AbstractSystem)

Determines if the system `s` contains one or more symbolic parameters in its
dynamics (for example, matrix entries that can take values from a
specified set).

The result of this function only depends on the
system type, not the value, and can also be applied to `typeof(s)`.
"""
function isparametric(::AbstractSystem) end

"""
AbstractMap

Expand Down
2 changes: 1 addition & 1 deletion src/macros.jl
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ Return the system type whose field names match those in `fields`.
### Input

- `AT` -- abstract system type, which can be either `AbstractContinuousSystem`
or `AbstractDiscreSystem`
or `AbstractDiscreteSystem`
- `fields` -- tuple of field names

### Output
Expand Down
Loading
Loading