CTBase.jl

The CTBase.jl package is part of the control-toolbox ecosystem.

It provides the core types, utilities, and infrastructure used by other packages in the ecosystem, such as OptimalControl.jl.

Note

The root package is OptimalControl.jl which aims to provide tools to model and solve optimal control problems with ordinary differential equations by direct and indirect methods, both on CPU and GPU.

Features and User Guides

CTBase provides several key features to build robust control-toolbox packages:

Note on Private Methods

In some examples in the documentation, private methods are shown without the module prefix. This is done for the sake of clarity and readability.

julia> using CTBase
julia> x = 1
julia> private_fun(x) # throws an error

This should instead be written as:

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

If the method is re-exported by another package,

module OptimalControl
    import CTBase: private_fun
    export private_fun
end

then there is no need to prefix it with the original module name:

julia> using OptimalControl
julia> x = 1
julia> private_fun(x)