## TQIX

Quantum physIX

Discover TQIX

Cirq by Google: This open-source library allows you to design and manipulate quantum circuits. Cirq even lets you run your circuits on real quantum hardware or powerful simulators.

QuTiP: This library focuses on simulating quantum systems. With QuTiP, you can explore the intricacies of quantum mechanics and test your algorithms before venturing onto real hardware.

import cirq

# Pick a qubit.

qubit = cirq.GridQubit(0, 0)

# Create a circuit

circuit = cirq.Circuit(

cirq.X(qubit)**0.5, # Square root of NOT.

cirq.measure(qubit, key='m') # Measurement.

)

print("Circuit:")

print(circuit)

# Simulate the circuit several times.

simulator = cirq.Simulator()

result = simulator.run(circuit, repetitions=20)

print("Results:")

print(result)

%matplotlib inline

import numpy as np

import matplotlib.pyplot as plt

import datetime

from qutip import Qobj, identity, sigmax, sigmay, sigmaz, tensor

from qutip.qip.algorithms import qft

import qutip.logging_utils as logging

logger = logging.get_logger()

# Set this to None or logging.WARN for 'quiet' execution

log_level = logging.INFO

# QuTiP control modules

import qutip.control.pulseoptim as cpo

import qutip.control.pulsegen as pulsegen

example_name = 'QFT'

# Defining the physics

Sy = sigmay()

Sz = sigmaz()

Si = 0.5*identity(2)

# Drift Hamiltonian

H_d = 0.5*(tensor(Sx, Sx) + tensor(Sy, Sy) + tensor(Sz, Sz))

# The (four) control Hamiltonians

H_c = [tensor(Sx, Si), tensor(Sy, Si), tensor(Si, Sx), tensor(Si, Sy)]

n_ctrls = len(H_c)

# start point for the gate evolution

U_0 = identity(4)

# Target for the gate evolution - Quantum Fourier Transform gate

U_targ = qft.qft(2)