Skip to main content

A Python library for quantum state manipulations and quantum gates

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qtypi-0.1.0.tar.gz (4.4 kB view hashes)

Uploaded Source

Built Distribution

qtypi-0.1.0-py3-none-any.whl (4.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page