Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

🔮 Qiskit Implementation & Quantum Computing

License Current Release Downloads Coverage Status Python Versions DOI


📋 Overview

Qiskit is a comprehensive open-source SDK designed for quantum computing, enabling work with quantum circuits, operators, and primitives. This library is the core component of Qiskit, containing building blocks for:

  • Creating and manipulating quantum circuits
  • Working with quantum operators
  • Implementing primitive functions (Sampler and Estimator)
  • Optimizing quantum circuits through transpilation
  • Advanced quantum information toolbox

👤 Project Maintainer

GitHub Email

🚀 Installation & Setup

Standard Installation

pip install qiskit

Development Version

pip install git+https://github.com/Qiskit/qiskit.git

System Requirements

  • Python 3.8+
  • Rust 1.79+
  • NumPy 1.17+
  • Scipy 1.5+

📊 Example Usage

Creating a GHZ State

import numpy as np
from qiskit import QuantumCircuit

# Create a quantum circuit
qc = QuantumCircuit(3)
qc.h(0)             # Generate superposition
qc.p(np.pi / 2, 0)  # Add quantum phase
qc.cx(0, 1)         # CNOT gates
qc.cx(0, 2)

# Add measurement
qc_measured = qc.measure_all(inplace=False)

# Execute using Sampler
from qiskit.primitives import StatevectorSampler
sampler = StatevectorSampler()
job = sampler.run([qc_measured], shots=1000)
result = job.result()
print(result[0].data["meas"].get_counts())

Expected Output

{
    '000': ≈ 500,  # ~50%
    '111': ≈ 500   # ~50%
}

Using Estimator

from qiskit.quantum_info import SparsePauliOp
from qiskit.primitives import StatevectorEstimator

operator = SparsePauliOp.from_list([
    ("XXY", 1), 
    ("XYX", 1),
    ("YXX", 1), 
    ("YYY", -1)
])

estimator = StatevectorEstimator()
result = estimator.run(
    [(qc, operator)], 
    precision=1e-3
).result()

🔧 Hardware Integration

Supported Platforms

IBM Quantum IonQ Amazon Braket Quantinuum Rigetti

Transpiler Support

from qiskit import transpile

# Example transpilation
qc_transpiled = transpile(
    qc,
    basis_gates=["cz", "sx", "rz"],
    coupling_map=[[0, 1], [1, 2]],
    optimization_level=3
)

📚 Documentation & Resources

🤝 Contributing & Support

📬 Contact

🌟 How to Contribute

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

📝 License

This project is licensed under the Apache License 2.0

🏆 Acknowledgements

Research Support

We acknowledge partial support from:

  • DOE Office of Science National Quantum Information Science Research Centers
  • Co-design Center for Quantum Advantage (C2QA)
  • Contract number: DE-SC0012704

Project Statistics

GitHub Stats


⭐ If you find this implementation helpful, please star the repository!

© 2024 Quantum Computing Project | Licensed under Apache License 2.0

About

Qiskit is an open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages