Skip to content

qtypi (as in cutiepie) is my python library for Quantum Computing

License

Notifications You must be signed in to change notification settings

pearlpatel207/qtypi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

qtypi

qtypi is a Python library for performing quantum computations using linear algebra. It provides tools to create and manipulate quantum states and apply quantum gates.

Table of Contents

Installation

You can install qtypi using pip:

pip install qtypi

Creating Quantum States

To create a quantum state, instantiate the QuantumState class by passing a state vector (as a list or numpy array).

from qtypi.quantum_state import QuantumState

# Create the |0> state
state_zero = QuantumState([1, 0])

# Create the |1> state
state_one = QuantumState([0, 1])

Applying Quantum Gates

Quantum gates can be applied to quantum states using the apply_gate method of the QuantumState class. The library includes commonly used gates, such as Hadamard, Pauli-X, Pauli-Y, Pauli-Z, Phase, and CNOT gates.

from qtypi.quantum_gates import QuantumGate

# Create a Hadamard gate
hadamard_gate = QuantumGate.hadamard()

# Apply the Hadamard gate to the |0> state
new_state = state_zero.apply_gate(hadamard_gate)

print(new_state)

Available Quantum Gates

The following gates are available as static methods in the QuantumGate class:

  • Hadamard Gate: QuantumGate.hadamard()
  • Pauli-X Gate: QuantumGate.pauli_x()
  • Pauli-Y Gate: QuantumGate.pauli_y()
  • Pauli-Z Gate: QuantumGate.pauli_z()
  • Phase Gate: QuantumGate.phase(theta)
  • CNOT Gate: QuantumGate.cnot()
  • Custom Gate: QuantumGate.custom_gate(matrix)

Example Usage

Creating and Applying Gates

Here’s a complete example of creating a quantum state, applying a Hadamard gate, and printing the result:

from qtypi.quantum_state import QuantumState
from qtypi.quantum_gates import QuantumGate

# Initialize the |0> state
state = QuantumState([1, 0])

# Create a Hadamard gate
hadamard_gate = QuantumGate.hadamard()

# Apply the Hadamard gate to the |0> state
new_state = state.apply_gate(hadamard_gate)

# Print the resulting quantum state
print("New State after applying Hadamard:", new_state)

Custom Quantum Gates

You can create and apply custom quantum gates using a matrix of your choice. For example:

import numpy as np
from qtypi.quantum_state import QuantumState
from qtypi.quantum_gates import QuantumGate

# Define a custom matrix
custom_matrix = np.array([[0, 1], [1, 0]])  # Equivalent to Pauli-X gate

# Create the custom gate
custom_gate = QuantumGate.custom_gate(custom_matrix)

# Apply it to a |0> state
state = QuantumState([1, 0])
new_state = state.apply_gate(custom_gate)

print("New State after applying custom gate:", new_state)

License

This project is licensed under the MIT License. See the LICENSE file for more details.

About

qtypi (as in cutiepie) is my python library for Quantum Computing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages