chaotic_init

ReservoirComputing.chaotic_initFunction
chaotic_init([rng], [T], dims...;
    extra_edge_probability=T(0.1), radius=one(T),
    return_sparse=false)

Construct a chaotic reservoir matrix using a digital chaotic system (Xie et al., 2024).

The matrix topology is derived from a strongly connected adjacency matrix based on a digital chaotic system operating at finite precision. If the requested matrix order does not exactly match a valid order the closest valid order is used.

Arguments

  • rng: Random number generator. Default is Utils.default_rng()from WeightInitializers.
  • T: Type of the elements in the reservoir matrix. Default is Float32.
  • dims: Dimensions of the reservoir matrix.

Keyword arguments

  • extra_edge_probability: Probability of adding extra random edges in the adjacency matrix to enhance connectivity. Default is 0.1.
  • radius: The target spectral radius for the reservoir matrix. Default is one.
  • return_sparse: flag for returning a sparse matrix. true requires SparseArrays to be loaded. Default is false.

Examples

julia> res_matrix = @test_logs (:warn, r"Adjusting reservoir matrix order") chaotic_init(8, 8);

julia> size(res_matrix)
(4, 4)
source

References