Skip to content

Build · Topology (matrix)

signed_permutation

Build a random permutation with independent random signs, times gain.

from resdag.layers import ESNLayer

reservoir = ESNLayer(500, feedback_size=3, recurrent_initializer='signed_permutation', spectral_radius=None, seed=7)
parameter default
gain 1.0
dtype torch.float32
device None

Override parameters with recurrent_initializer=("signed_permutation", {...}) or pre-configure with get_recurrent_initializer("signed_permutation", ...). The existing topology= spelling and get_topology() also work.

This builder preserves its native spectrum/scale by default. Use its parameters to control that scale, or explicitly configure get_recurrent_initializer(..., rescale=True) to allow an outer radius rescale.

See also