Internals

NeuralLyapunov.phi_to_netFunction
phi_to_net(phi, θ[; idx])

Return the network as a function of state alone.

Arguments

  • phi: the neural network, represented as phi(x, θ) if the neural network has a single output, or a Vector of the same with one entry per neural network output.
  • θ: the parameters of the neural network; If the neural network has multiple outputs, θ[:φ1] should be the parameters of the first neural network output, θ[:φ2] the parameters of the second (if there are multiple), and so on. If the neural network has a single output, θ should be the parameters of the network.
  • idx: the neural network outputs to include in the returned function; defaults to all and only applicable when phi isa Vector.
source
NeuralLyapunov.NeuralLyapunovBenchmarkLoggerType
NeuralLyapunovBenchmarkLogger(losses, iterations)

A simple logger for tracking the (full weighted) loss during training using NeuralPDE.

Fields

  • losses::Vector{<:Real}: A vector to store the loss values.
  • iterations::Vector{<:Integer}: A vector to store the corresponding iteration numbers.

Constructors

  • NeuralLyapunovBenchmarkLogger{T1, T2}() where {T1<:Real, T2<:Integer}: Creates an empty logger with specified types for losses and iterations.
  • NeuralLyapunovBenchmarkLogger{T}() where {T}: Creates an empty logger with specified type for losses and Int64 for iterations.
  • NeuralLyapunovBenchmarkLogger(): Creates an empty logger with Float64 for losses and Int64 for iterations.
source
NeuralLyapunov.AbstractNeuralLyapunovStructureType
AbstractNeuralLyapunovStructure{nc}

Represents the structure of the neural Lyapunov function and its derivative.

All concrete AbstractNeuralLyapunovStructure subtypes should define the get_V, get_V̇, and get_network_dim functions. If nc is true, the subtype should also define the get_control_structure and get_control_dim functions.

source
NeuralLyapunov.get_VFunction
get_V(str::AbstractNeuralLyapunovStructure)

Return a function V(phi, state, fixed_point) that outputs the value of the Lyapunov function at state.

source
NeuralLyapunov.get_V̇Function
get_V̇(str::AbstractNeuralLyapunovStructure)

Return a function V̇(phi, J_phi, state, dstate_dt, fixed_point) that outputs the time derivative of the Lyapunov function at state.

source
NeuralLyapunov.neural_controllerFunction
neural_controller(str::AbstractNeuralLyapunovStructure)

Return true if str specifies a neural controller (i.e., if str is a subtype of AbstractNeuralLyapunovStructure{true}) and false otherwise.

source
NeuralLyapunov.get_network_dimFunction
get_network_dim(str::AbstractNeuralLyapunovStructure)

Return the number of dimensions of the neural network output specified by spec.

source