https://github.com/mathewvanh/qkan_implementation
  
  
    Proper quantum implementation with qiskit and using QSVT. Implementing: https://arxiv.org/pdf/2410.04435 
    https://github.com/mathewvanh/qkan_implementation
  
        Last synced: 6 months ago 
        JSON representation
    
Proper quantum implementation with qiskit and using QSVT. Implementing: https://arxiv.org/pdf/2410.04435
- Host: GitHub
 - URL: https://github.com/mathewvanh/qkan_implementation
 - Owner: Mathewvanh
 - Created: 2024-11-21T15:16:57.000Z (12 months ago)
 - Default Branch: main
 - Last Pushed: 2025-04-19T21:49:38.000Z (7 months ago)
 - Last Synced: 2025-04-19T22:55:34.455Z (7 months ago)
 - Language: Jupyter Notebook
 - Homepage:
 - Size: 2.15 MB
 - Stars: 2
 - Watchers: 1
 - Forks: 2
 - Open Issues: 0
 - 
            Metadata Files:
            
- Readme: README.md
 
 
Awesome Lists containing this project
README
          # QKAN Implementation
An implementation of Quantum Kolmogorov-Arnold Networks (QKAN) focusing on efficient model optimization through quantum computing frameworks. This project explores the intersection of quantum computing and neural networks, implementing a step-based architecture for quantum-compatible neural network training.
## Overview
QKAN introduces a novel approach to neural network optimization by adapting Kolmogorov-Arnold Networks for quantum systems. The implementation breaks down complex quantum-classical interactions into clear, modular steps:
- **ChebyshevStep**: Implements quantum-compatible Chebyshev polynomial transformations 
- **MulStep**: Handles weighted polynomial operations in quantum context
- **LCUStep**: Manages Linear Combination of Unitaries for polynomial combination
- **SUMStep**: Performs efficient quantum summation operations
- **QKANLayer**: Orchestrates the complete quantum-neural network layer
## Key Features
- Modular, step-based quantum neural network implementation
- Clean integration with Qiskit quantum computing framework
- Comprehensive test suite for each component
- Efficient quantum state preparation and manipulation
- Clear separation of classical and quantum operations
## Technical Details
### Core Components
```python
class QKANLayer:
    """
    Quantum Kolmogorov-Arnold Network layer implementation.
    Orchestrates quantum neural network operations through distinct steps:
    1. Chebyshev polynomial transformations
    2. Quantum multiplication operations
    3. Linear combination of unitaries
    4. Quantum summation
    """
```
### Implementation Structure
- Each step is implemented as a separate class with clear responsibilities
- Extensive unit testing ensures reliable quantum operations
- Efficient quantum circuit construction and optimization
- Careful management of quantum resources and gate complexity
## Testing and Verification
Each component includes comprehensive unit tests demonstrating:
- Correct quantum state manipulation
- Accurate polynomial transformations
- Proper handling of quantum circuits
- Verification of unitary operations
## Getting Started
```python
# Example usage
layer = QKANLayer(N=4, K=4, max_degree=3)
x = np.random.uniform(-1, 1, 4)
weights = [np.random.uniform(-1, 1, 16) for _ in range(4)]
output = layer.forward(x, weights)
```
## Future Directions
Currently exploring:
- Enhanced model optimization techniques
- Improved quantum circuit efficiency
- Extended polynomial basis functions
- Integration with various quantum backends
- Active model training and performance evaluation in progress
- Investigating speedup potential in quantum vs classical implementations
## Dependencies
- Qiskit
- NumPy
- PyTest (for testing)
- FABLE (for quantum block encoding)