nlft_qsp.nlft
¶
Defining the nonlinear Fourier transform, as well as functions to compute the forward NLFT.
Classes:
| Name | Description |
|---|---|
NonLinearFourierSequence |
Class representing a finitely supported sequence of complex numbers over \(\mathbb{Z}\). |
NonLinearFourierSequence
¶
Bases: ComplexL0Sequence
Class representing a finitely supported sequence of complex numbers over \(\mathbb{Z}\). The class provides methods to compute the nonlinear Fourier transform (NLFT) associated with the sequence.
Methods:
| Name | Description |
|---|---|
__init__ |
Initializes a nonlinear Fourier sequence with a given list of complex values and support starting index. |
transform |
Computes the nonlinear Fourier transform \((a(z), b(z))\) over \(SU(2)\) associated with this sequence. |
transform_bounds |
Computes the nonlinear Fourier transform over \(SU(2)\) for the subsequence within the specified range. |
Source code in nlft_qsp/nlft.py
__init__(coeffs: list[complex_type] | np.ndarray = [], support_start: int = 0)
¶
Initializes a nonlinear Fourier sequence with a given list of complex values and support starting index.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
coeffs
|
list[complex_type] | ndarray
|
A list of complex numbers representing the sequence. The list includes both the lower and upper bounds of the sequence. |
[]
|
support_start
|
int
|
The index of the first element of the sequence in \(\mathbb{Z}\). The support of the sequence will
be in the range [ |
0
|
Source code in nlft_qsp/nlft.py
transform() -> tuple[Polynomial, Polynomial]
¶
Computes the nonlinear Fourier transform \((a(z), b(z))\) over \(SU(2)\) associated with this sequence.
See here for a definition of the nonlinear Fourier transform.
Returns:
| Type | Description |
|---|---|
tuple[Polynomial, Polynomial]
|
The \(SU(2)\)-NLFT of the sequence. |
Source code in nlft_qsp/nlft.py
transform_bounds(inf, sup) -> tuple[Polynomial, Polynomial]
¶
Computes the nonlinear Fourier transform over \(SU(2)\) for the subsequence within the specified range.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
inf
|
int
|
The lower bound (included) index of the sequence for the transformation. |
required |
sup
|
int
|
The upper bound (excluded) index of the sequence for the transformation. |
required |
Returns:
| Type | Description |
|---|---|
tuple[Polynomial, Polynomial]
|
The \(SU(2)\)-NLFT of the subsequence in [ |
Note
This is used only internally in order to compute the polynomials through a divide-and-conquer strategy.
If only interested in the final polynomials, please refer to transform().