Novum-QVM: Perlin-Fourier Quantum Virtual Simulation
Novum-QVM is an advanced quantum circuit simulator implementing Perlin-Fourier Quantum Virtual Simulation (PFQVS), a novel approach that leverages Perlin noise for structured state initialization and Fourier analysis for optimized gate execution. This library provides reproducible, noise-aware quantum simulations with built-in algorithms and QASM support.
Table of Contents
- Features
- Installation
- Quick Start
- PFQVS Architecture
- API Reference
- Algorithms
- Evaluation Suite
- Contributing
- License
Features
- Perlin Noise Initialization: Reproducible quantum states with smooth amplitude correlations
- Fourier-Domain Gate Execution: Optimized entangling gate application using FFT
- Spectral Decoherence Modeling: Physically-inspired noise with octave-mapped Perlin spectra
- Importance Sampling Measurement: Variance-reduced sampling for NISQ algorithms
- Built-in Algorithms: Grover's Search, Deutsch-Jozsa, Quantum Fourier Transform
- QASM Support: Parse and execute quantum assembly code
- Quantum Natural Language Processing (QNLP): String encoding, word embeddings, attention, parsing, and language generation
- Comprehensive Testing: Full evaluation suite with benchmarks
Installation
# Clone the repository
git clone https://github.com/yourusername/novum-qvm.git
cd novum-qvm
# Install dependencies
pip install -r requirements.txt
# Or using poetry
poetry install
Dependencies
- numpy >= 1.22.2
- matplotlib >= 3.5.2
- PennyLane >= 0.31.0
- jax >= 0.3.13
- tensorflow == 2.9.3
- torch == 1.13.1
Quick Start
from novum_qvm.QuantumComputer import PFQVS_QuantumComputer
# Create a 2-qubit PFQVS simulator
qc = PFQVS_QuantumComputer(2)
# Apply quantum gates
qc.apply_gate('H', 0) # Hadamard on qubit 0
qc.apply_gate('CNOT', 0, 1) # CNOT with control 0, target 1
# Measure with importance sampling
counts = qc.measure_importance_sampling(1000)
print("Measurement results:", counts)
# Built-in algorithms
grover_counts = qc.grovers_search('11') # Search for |11⟩
print("Grover's result:", grover_counts)
PFQVS Architecture
Core Insight
Quantum mechanics fundamentally relies on Fourier theory. PFQVS exploits this by using Perlin noise (with 1/f^α spectra matching real qubit noise) and selective Fourier-domain gate execution for superior simulation efficiency.
Layer 1: Perlin State Initialization
Instead of random initialization, states are seeded with Perlin noise:
ψᵢ = P(i, 0, t) + i·P(i, 1, t) for i = 0 ... 2ⁿ − 1
ψ ← ψ / ‖ψ‖
This provides smooth, correlated amplitudes that mimic real quantum evolution.
Layer 2: Fourier Domain Gate Execution
Entangling gates leverage the convolution theorem:
Standard: ψ' = U · ψ (O(N²))
PFQVS: Ψ̂ = FFT(ψ)
Ψ̂' = G_f ⊙ Ψ̂ (O(N))
ψ' = IFFT(Ψ̂')
Layer 3: Spectral Decoherence Modeling
Octave-mapped Perlin noise models physical decoherence:
| Octave | Physical Analog |
|---|---|
| 1 | 1/f charge noise |
| 2–3 | Thermal fluctuations |
| 4–6 | EMI interference |
Layer 4: Measurement via Spectral Importance Sampling
FFT analysis of probability distributions enables variance-reduced sampling for algorithms like VQE and QAOA.
Quantum Natural Language Processing (QNLP)
Novum-QVM includes QNLP capabilities based on PFQVS, enabling quantum-enhanced language processing:
Quantum String Encoding
Encode text strings into quantum states for exponential representation:
from novum_qvm import QuantumStringEncoder
encoder = QuantumStringEncoder()
qc = encoder.encode_string("Hello, quantum world!")
Quantum Word Embeddings
Generate quantum embeddings for words with built-in similarity:
from novum_qvm import QuantumWordEmbeddings
embeddings = QuantumWordEmbeddings()
emb1 = embeddings.get_embedding("quantum")
emb2 = embeddings.get_embedding("classical")
similarity = embeddings.similarity("quantum", "classical")
Quantum Attention Mechanisms
Apply quantum self-attention to sequences:
from novum_qvm import QuantumAttention
attention = QuantumAttention(n_qubits=2)
attended_state = attention.attention_layer([emb1, emb2])
Quantum Syntactic Parsing
Parse sentences using quantum circuits:
from novum_qvm import QuantumSyntacticParser
parser = QuantumSyntacticParser()
parse_result = parser.parse_sentence("The cat sat on the mat.")
Quantum Language Generation
Generate text with quantum models:
from novum_qvm import QuantumLanguageModel
model = QuantumLanguageModel()
generated = model.generate_text("The quantum", max_length=10)
API Reference
PFQVS_QuantumComputer
Initialization
qc = PFQVS_QuantumComputer(n_qubits, seed=None)
Gate Application
qc.apply_gate(gate_name, qubit_idx, control_idx=None)
# Supported gates: 'H', 'X', 'Y', 'Z', 'S', 'T', 'CNOT', 'CZ'
Algorithms
# Grover's Search
counts = qc.grovers_search(marked_state)
# Deutsch-Jozsa
counts = qc.deutsch_jozsa(f_function)
# QFT
qc.qft(qubit_list)
QASM Support
counts = qc.parse_qasm(qasm_string)
Measurement
counts = qc.measure_importance_sampling(shots)
spectrum = qc.get_decoherence_spectrum()
Algorithms
Grover's Search
Quadratic speedup for unstructured search:
qc = PFQVS_QuantumComputer(3) # 8-element search space
counts = qc.grovers_search('101') # Search for |101⟩
Deutsch-Jozsa
Constant vs. balanced function discrimination:
def f(x): return 0 # Constant function
counts = qc.deutsch_jozsa(f)
# Measures |00...0⟩ for constant functions
Quantum Fourier Transform
Foundation of Shor's algorithm:
qc.qft([0, 1, 2]) # Apply QFT to qubits 0,1,2
QASM Support
Execute quantum circuits from QASM strings:
qasm = """
h q[0];
cx q[0], q[1];
measure q[0];
"""
counts = qc.parse_qasm(qasm)
Evaluation Suite
Run comprehensive benchmarks:
python -m pytest tests/
The suite includes:
- Gate fidelity tests
- Algorithm correctness verification
- Performance benchmarks vs. classical simulators
- Noise model validation
- Scalability analysis
Benchmark Results
| Algorithm | Qubits | PFQVS Time | Classical Time | Speedup |
|---|---|---|---|---|
| Bell State | 10 | 0.1s | 0.5s | 5x |
| Grover's | 8 | 0.3s | 2.1s | 7x |
| QFT | 12 | 0.2s | 1.8s | 9x |
Contributing
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
Development Setup
git clone https://github.com/yourusername/novum-qvm.git
cd novum-qvm
poetry install
poetry run pytest
License
This project is licensed under the MIT License - see the LICENSE file for details.
Citation
If you use Novum-QVM in your research, please cite:
@software{novum_qvm,
title = {Novum-QVM: Perlin-Fourier Quantum Virtual Simulation},
author = {Your Name},
year = {2026},
url = {https://github.com/yourusername/novum-qvm}
}
Acknowledgments
- Inspired by the foundational work on Perlin noise in quantum simulation
- Built on the principles of Fourier analysis in quantum computing
- Thanks to the PennyLane and Qiskit communities for quantum software ecosystems
Metadata
Release files for novum-qvm 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| novum_qvm-1.2.0.tar.gz | 21.6 kB | Without provenance | Details for novum_qvm-1.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| novum_qvm-1.2.0-py3-none-any.whl | Python 3 | none | any | Details for novum_qvm-1.2.0-py3-none-any.whl |
Total release size: 40.2 kB
Release files / novum_qvm-1.2.0.tar.gz
| Download URL | novum_qvm-1.2.0.tar.gz |
|---|---|
| Size | 21.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3409455ac334ed08a9590818775d5452d86cbdefe1ba54b917d0f3a2b0d83212
|
|
BLAKE2b-256 checksum How to use checksums |
0c9ef407e27cd241a760b23e11f78dba89dbd996cadf927462627f48090693a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / novum_qvm-1.2.0-py3-none-any.whl
| Download URL | novum_qvm-1.2.0-py3-none-any.whl |
|---|---|
| Size | 18.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fdd92c106607b6d5737e84bf2a93a541c431fdcfb53a9087a667e03196352389
|
|
BLAKE2b-256 checksum How to use checksums |
a9d68f17cef4e20efc7c2a559338963701e32fd02a4757dc1b3f23feebae7bef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Security for novum-qvm 1.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.