Quantum encoding

Quantum encoding#

FlagQuantum provides multiple encoding schemes for embedding classical data into quantum states:

# Angle encoding
x = torch.randn(2, 4)  # batch=2, features=4
fq.angle_encoder(qdev, x, wires=[0, 1, 2, 3])

# Amplitude encoding
amplitudes = torch.randn(2, 16)  # 2^4 = 16 amplitudes
fq.amplitude_encoder(qdev, amplitudes)

# Custom encoding circuit
encoder = fq.GeneralEncoder([
    {"func": "ry", "wires": [0], "input_idx": 0},
    {"func": "ry", "wires": [1], "input_idx": 1},
    {"func": "cx", "wires": [0, 1]},
])
encoder(device, x)