hofa.norm#

This module contains the Numpy implementation for computing Gowers norms on NumPy ndarrays

Conventions#

The following conventions are used for functions and data structures in this file:

  • Any finite abelian group \(Z\) is isomorphic to \(Z/n_1Z \times Z/n_2Z \times ... \times Z/n_kZ\). Therefore, a function \(f: Z \to \mathbb{C}\) is represented as a numpy.ndarray tensor with shape (n_1, n_2, ..., n_k).

  • A \(Z\)-matrix, where \(Z = Z/n_1Z \times ... \times Z/n_kZ\), is represented as a numpy.ndarray tensor with shape (n_1, ..., n_k, n_1, ..., n_k).

Functions#

u_pow(f, k)

The \(2^k\) power of the Gowers \(U^k\) norm of f.

u(f, k)

The Gowers \(U^k\) norm of f.

Module Contents#

hofa.norm.u_pow(f: numpy.ndarray, k: int)#

The \(2^k\) power of the Gowers \(U^k\) norm of f.

Parameters:
  • f (np.ndarray) – a function.

  • k (int) – an integer representing the order of the Gowers norm.

Returns:

the \(2^k\) power of the \(U^k\) norm of f.

Return type:

float

hofa.norm.u(f: numpy.ndarray, k: int)#

The Gowers \(U^k\) norm of f.

Parameters:
  • f (np.ndarray) – a function.

  • k (int) – an integer representing the order of the Gowers norm.

Returns:

the \(2^k\) power of the \(U^k\) norm of f.

Return type:

float