Two Bit FFFT Gate#

from qualtran import Bloq, CompositeBloq, BloqBuilder, Signature, Register
from qualtran import QBit, QInt, QUInt, QAny
from qualtran.drawing import show_bloq, show_call_graph, show_counts_sigma
from typing import *
import numpy as np
import sympy
import cirq

TwoBitFFFT#

Two-qubit fermionic Fourier transform gate.

Parameters#

  • k: An integer.

  • n: The number of qubits the FFFT acts on.

  • eps: The rotation precision.

  • is_adjoint: If True, this bloq is \(F^\dagger\) instead.

References#

from qualtran.bloqs.qft import TwoBitFFFT

Example Instances#

two_bit_ffft = TwoBitFFFT(2, 3)

Graphical Signature#

from qualtran.drawing import show_bloqs
show_bloqs([two_bit_ffft],
           ['`two_bit_ffft`'])

Call Graph#

from qualtran.resource_counting.generalizers import ignore_split_join
two_bit_ffft_g, two_bit_ffft_sigma = two_bit_ffft.call_graph(max_depth=1, generalizer=ignore_split_join)
show_call_graph(two_bit_ffft_g)
show_counts_sigma(two_bit_ffft_sigma)
../../_images/38e7da1ef09b9b4f4735b280e4cbdd9417ffe1526db14c77d48b3101e209feb3.svg

Counts totals:

  • CNOT: 3

  • H: 6

  • Rz(4.1887902047863905): 1

  • S: 3

  • T: 2