Skip to content

qft

qoptcraft.operators.qft

qft(dim)

Matrix of the Quantum Fourier Transform.

Parameters:

Name Type Description Default
dim int

dimension of the matrix.

required

Returns:

Name Type Description
NDArray NDArray

matrix of the transform.

Source code in qoptcraft/operators/qft.py
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
def qft(dim: int) -> NDArray:
    """Matrix of the Quantum Fourier Transform.

    Args:
        dim (int): dimension of the matrix.

    Returns:
        NDArray: matrix of the transform.
    """
    matrix = np.zeros((dim, dim), dtype=np.complex128)
    frequency = 2j * math.pi / dim
    for i in range(dim):
        for j in range(dim):
            matrix[i, j] = np.exp(frequency * i * j)
    return matrix / np.sqrt(dim)

qft_inv(dim)

Matrix of the inverse of the Quantum Fourier Transform.

Parameters:

Name Type Description Default
dim int

dimension of the matrix.

required

Returns:

Name Type Description
NDArray NDArray

matrix of the transform.

Source code in qoptcraft/operators/qft.py
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
def qft_inv(dim: int) -> NDArray:
    """Matrix of the inverse of the Quantum Fourier Transform.

    Args:
        dim (int): dimension of the matrix.

    Returns:
        NDArray: matrix of the transform.
    """
    matrix = np.zeros((dim, dim), dtype=np.complex128)
    frequency = -2j * math.pi / dim
    for i in range(dim):
        for j in range(dim):
            matrix[i, j] = np.exp(frequency * i * j)
    return matrix / np.sqrt(dim)