# API

`CTProblems.CTProblems`

— Module`CTProblems`

module.

Lists all the imported modules and packages:

`Base`

`CTBase`

`CTFlows`

`Core`

`DocStringExtensions`

`ForwardDiff`

`LinearAlgebra`

`MINPACK`

`OrdinaryDiffEq`

List of all the exported names:

`CTProblems.Problem`

— Method```
Problem(
description::Symbol...
) -> CTProblems.OptimalControlProblem
```

Return the optimal control problem described by `description`

.

If you give a partial description, then, if several complete descriptions contains the partial one, then, only the problem with the highest priority is returned. The higher in the list, the higher is the priority.

**Example**

`julia> Problem(:integrator, :energy)`

`CTProblems.Problems`

— Method```
Problems(
description::Symbol...
) -> Tuple{Vararg{CTProblems.OptimalControlProblem}}
```

Return the list of optimal control problems consistent with the description.

If you give a partial description, then, if several complete descriptions contains the partial one, then, only the problem with the highest priority is returned. The higher in the list, the higher is the priority.

**Example**

`julia> Problems(:integrator, :energy)`

`CTProblems.ProblemsDescriptions`

— Method```
ProblemsDescriptions(
description::Symbol...
) -> Tuple{Vararg{Tuple{Vararg{Symbol}}}}
```

Return the list of problems descriptions consistent with the description, as a Tuple of Description.

**Example**

`julia> ProblemsDescriptions(:integrator, :energy)`

`CTProblems.@Problems`

— MacroReturn the list of problems consistent with the description.

**Example**

`julia> @Problems :integrator & :energy`

You have to define a logical condition with the combination of symbols and the three operators: `!`

, `|`

and `&`

, respectively for the negation, the disjunction and the conjunction.

`CTProblems.@ProblemsDescriptions`

— MacroReturn the list of problems descriptions consistent with the expression.

**Example**

`julia> @ProblemsDescriptions :integrator & :energy`

You have to define a logical condition with the combination of symbols and the three operators: `!`

, `|`

and `&`

, respectively for the negation, the disjunction and the conjunction.