CTFlowsODE

Index

Warning

In the examples in the documentation below, the methods are not prefixed by the module name even if they are private.

julia> using CTFlows
julia> x = 1
julia> private_fun(x) # throw an error

must be replaced by

julia> using CTFlows
julia> x = 1
julia> CTFlows.private_fun(x)

However, if the method is reexported by another package, then, there is no need of prefixing.

julia> module OptimalControl
           import CTFlows: private_fun
           export private_fun
       end
julia> using OptimalControl
julia> x = 1
julia> private_fun(x)

Documentation

CTFlowsODE.CoTangentType

Alias for CTFlows.ctVector, representing cotangent vectors in continuous-time systems.

Used for denoting adjoint states or costates in optimal control formulations.

source
CTFlowsODE.DCoTangentType

Alias for CTFlows.ctVector, representing derivative cotangent vectors.

Useful in contexts where second-order information or directional derivatives of costates are required.

source
CTFlowsODE.AbstractFlowType

Abstract supertype for continuous-time flows.

AbstractFlow{D,U} defines the interface for any flow system with:

  • D: the type of the differential (typically a vector or matrix),
  • U: the type of the state variable.

Subtypes should define at least a right-hand side function for the system's dynamics.

source
CTFlowsODE.ControlFreeModelType
struct Model{var"#s2"<:CTModels.OCP.TimeDependence, var"#s3"<:CTModels.OCP.AbstractTimesModel, var"#s4"<:CTModels.OCP.AbstractStateModel, CTModels.OCP.EmptyControlModel, var"#s5"<:CTModels.OCP.AbstractVariableModel, var"#s6"<:Function, var"#s7"<:CTModels.OCP.AbstractObjectiveModel, var"#s8"<:CTModels.OCP.AbstractConstraintsModel, var"#s9"<:Union{Nothing, Function}} <: CTModels.OCP.AbstractModel

Type alias for optimal control problems without control variables.

Used for dispatch in control-free flow construction methods.

source
CTFlowsODE.WithControlModelType
struct Model{var"#s9"<:CTModels.OCP.TimeDependence, var"#s8"<:CTModels.OCP.AbstractTimesModel, var"#s7"<:CTModels.OCP.AbstractStateModel, CTModels.OCP.ControlModel, var"#s6"<:CTModels.OCP.AbstractVariableModel, var"#s5"<:Function, var"#s4"<:CTModels.OCP.AbstractObjectiveModel, var"#s3"<:CTModels.OCP.AbstractConstraintsModel, var"#s2"<:Union{Nothing, Function}} <: CTModels.OCP.AbstractModel

Type alias for optimal control problems with control variables.

Used to restrict existing flow methods that require a control law.

source
CTFlowsODE.__autonomousFunction

Alias for CTFlows.__autonomous, a tag indicating that a flow is autonomous.

Used internally to specify behavior in constructors or when composing flows.

source
CTFlowsODE.__create_hamiltonianFunction

Alias for CTFlows.__create_hamiltonian.

Constructs the Hamiltonian function for a given continuous-time optimal control problem. This internal function typically takes an objective, dynamics, and control constraints.

source
CTFlowsODE.__variableFunction

Alias for CTFlows.__variable, a tag indicating that a flow depends on external variables or is non-autonomous.

Used to distinguish time-dependent systems or flows with control/state parameterization.

source
CTFlowsODE.ctgradientFunction

Alias for CTFlows.ctgradient, a method to compute the gradient of a scalar function with respect to a state.

It dispatches appropriately depending on whether the input is a scalar or a vector, and uses ForwardDiff.jl.

source
CTFlowsODE.rgMethod

Creates a range i:j, unless i == j, in which case returns i as an integer.

Useful when indexing or slicing arrays with optional single-element flexibility.

source