pyFDN.kronecker_angles#

pyFDN.kronecker_angles(N, angle=0.7853981633974483, **overrides)[source]#

Angle vector [theta_1, ..., theta_M] for a network of size N.

A convenience for the common case of “all kernels at one value, except a named few”. theta_1 is the innermost (even/odd) kernel and theta_M the outermost (contiguous halves).

Parameters:
  • N (int) – Network size; must be a power of two. M = log2(N) angles are returned.

  • angle (float) – Default value for every kernel (default pi / 4, the equal-mixing setting that yields Hadamard-like magnitudes).

  • **overrides (float) – Per-kernel overrides given as theta1=..., theta2=..., using the paper’s one-based indexing. Negative indices are not supported; use theta{M} for the outermost kernel.

Return type:

ndarray

Returns:

  • np.ndarray – Angles of shape (M,), ordered innermost to outermost.

  • Example:: – # 32 channels, fully decoupled stereo halves (theta_M = 0) kronecker_angles(32, theta5=0.0)