Metadata-Version: 2.4
Name: quant-experiments
Version: 0.1.0
Summary: Quantum computing experiments using Qiskit - Educational quantum algorithms and demonstrations.
Home-page: https://github.com/yourusername/quant-experiments
Author: Quantum Lab
Author-email: quantum@example.com
Keywords: quantum computing qiskit algorithms education experiments
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Intended Audience :: Education
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: qiskit>=0.43.0
Requires-Dist: qiskit-aer>=0.13.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Quant Experiments

Educational quantum computing experiments using Qiskit. Learn fundamental quantum algorithms through interactive code examples.

## Installation

```bash
pip install quant-experiments
```

## What's Included

### Experiments

1. **coin_toss** - Quantum coin toss using superposition with Hadamard gate
2. **quantum_entanglement** - Create entangled qubits using Bell state
3. **bernstein_vazirani** - Hidden string algorithm with quantum advantage
4. **quantum_teleportation** - Teleport quantum state using entanglement
5. **deutsch** - Determine if function is constant or balanced (1 query!)
6. **deutsch_jozsa** - Generalized Deutsch with exponential speedup

## Usage

### List all experiments

```python
import quant

print(quant.list_experiments())
```

### View experiment code

```python
quant.printfile('coin_toss')
quant.printfile('deutsch')
```

### Get detailed explanation

```python
quant.printdetail('quantum_entanglement')
```

Prints:
- Concept behind the algorithm
- Step-by-step how it works
- Quantum gates used
- Expected output
- Real-world applications
- Complete runnable code

### Get raw code

```python
code = quant.get_code('deutsch_jozsa')
print(code)
```

## Quantum Concepts

### What is Superposition?
A quantum system can exist in multiple states simultaneously until measured.

### What is Entanglement?
Two qubits become correlated such that the state of one instantly affects the other.

### What is Quantum Advantage?
Quantum algorithms can solve certain problems exponentially faster than classical algorithms.

## Examples

### Coin Toss

```python
import quant

quant.printfile('coin_toss')
# Output shows 50-50 distribution of 0s and 1s
```

### Deutsch Algorithm

```python
import quant

quant.printfile('deutsch')
# Determines if function is constant or balanced with 1 query
# Classically needs 2 queries - quantum advantage!
```

## Qiskit Requirements

This package requires:
- `qiskit >= 0.43.0` - Quantum programming framework
- `qiskit-aer >= 0.13.0` - Quantum simulator

## API Reference

### `list_experiments()`
Returns list of available experiment names.

### `printfile(name)`
Prints the Python code for the experiment.

### `printdetail(name)`
Prints detailed explanation with concept, how it works, gates, expected output, and applications.

### `get_code(name)`
Returns the experiment code as a string.

## Learning Path

1. Start with **coin_toss** - Learn superposition
2. Move to **quantum_entanglement** - Learn Bell states
3. Try **deutsch** - See quantum advantage
4. Explore **quantum_teleportation** - Learn quantum communication
5. Finish with **deutsch_jozsa** - Understand exponential speedup

## Real-World Applications

- **Quantum Cryptography** - Secure key distribution
- **Quantum Networks** - Distributed quantum computing
- **Drug Discovery** - Molecular simulation
- **Optimization** - Financial modeling
- **Machine Learning** - Quantum data analysis

## Educational Use

Perfect for:
- University quantum computing courses
- Self-paced quantum learning
- Research and experimentation
- Building quantum intuition

## License

MIT License

## Author

Quantum Computing Lab

## Contributing

Contributions welcome! Feel free to add more quantum algorithms.

## References

- Qiskit Documentation: https://qiskit.org/
- Quantum Computing Reference: https://en.wikipedia.org/wiki/Quantum_computing
- IBM Quantum: https://quantum-computing.ibm.com/
