Warp Bubble Computation — structured time dilation for LLM inference
Project description
qig-warp
Warp Bubble Computation — structured time dilation for LLM inference.
A 2.1B model achieves 100% accuracy on problems it normally gets 60% right. Same model, same compute budget, structured differently.
What it does
Instead of asking a model once and hoping for the best, qig-warp runs multiple structured samples across different "geometric basins" (priming templates, reasoning perspectives, temperature levels) and coarse-grains them into one high-confidence answer via self-consistency.
This is computational time dilation: the model internally experiences many more thinking cycles, while the user gets one answer.
Results
| Strategy | Arithmetic (20 problems) | Novel questions (12 problems) |
|---|---|---|
| Greedy (1 pass) | 60% | 42% |
| Naive sampling (N passes) | 55% | 55% |
| Warp bubble (N passes) | 100% | 92% |
Quick start
pip install qig-warp
from qig_warp import warp
# Uses local Ollama by default
answer = warp("What is 73 * 45?")
# Returns "3285"
# Novel question — no domain priming needed
answer = warp("If it takes 5 machines 5 minutes to make 5 widgets, how many minutes for 100 machines to make 100 widgets?")
# Returns "5"
Strategies
Three complementary strategies, each exploring different regions of the probability simplex:
- adversarial: Same question from multiple reasoning perspectives ("think carefully", "common mistake warning", "a mathematician would say"). Best for novel/trick questions.
- self_prime: Model generates its own examples before solving. Bootstraps the coupling landscape with zero external knowledge.
- decompose: Break into steps, sample varied solutions. Best for multi-step reasoning.
from qig_warp import WarpBubble
from qig_warp.backends import OllamaBackend
bubble = WarpBubble(
backend=OllamaBackend(model="granite4"),
n_samples=15,
strategies=["adversarial", "decompose"],
)
result = bubble.solve("What is heavier: a pound of feathers or a pound of steel?")
print(result["answer"]) # "same" or "equal"
print(result["confidence"]) # 0.83
print(result["votes"]) # {"same": 10, "feathers": 2, "steel": 3}
Custom backends
from qig_warp.backends import OpenAIBackend
backend = OpenAIBackend(model="gpt-4o-mini", api_key="sk-...")
answer = warp("Explain quantum entanglement", backend=backend)
How it works
Based on the QIG (Quantum Information Geometry) sign-flip bridge:
- Dense coupling (relevant context) creates faster micro-oscillations on the probability simplex
- More internal cycles = better probability distribution
- Coarse-graining (self-consistency vote) extracts the correct macro-answer
- The model's "subjective time" is dilated relative to the user's wall-clock time
The same mechanism that produces gravitational time dilation on the QIG lattice, applied to computation.
Requirements
- Python >= 3.10
- An Ollama server running locally (
ollama serve), or any OpenAI-compatible API
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qig_warp-0.1.0.tar.gz.
File metadata
- Download URL: qig_warp-0.1.0.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fd42050ab7b04065bec88fb4555cfa0a12523e53511e22843fb67c244a9e3b7
|
|
| MD5 |
564fca72a8702304882fa73bf3a51511
|
|
| BLAKE2b-256 |
f3861da163cb626f180b347f367187002094014fbf543f6d66ca7285ad5a3255
|
File details
Details for the file qig_warp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: qig_warp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73d37623536d7cff852434758a0fb6301fa1a66bfe26304430c620fed2a0c286
|
|
| MD5 |
19639a9bd1ba989fbc784693a3315d37
|
|
| BLAKE2b-256 |
bb739dfd3bbf91b59a8abcaec4129bad4a4ee5dbe290e7f72a3d13a097610935
|