Skip to main content

Soft Algebra Optimizer for Quantum & Complex Optimization

Project description

Mobiu-Q (v2.4.2)

Universal Physics-Aware Optimizer for Stochastic Systems

PyPI version Win Rate License

Mobiu-Q is the first optimizer based on Soft Algebra. By mathematically decomposing gradients into Potential ($a_t$) and Realization ($b_t$), it filters out noise in real-time.

Works across Quantum Computing, Reinforcement Learning, FinTech, and Complex Engineering.


🚀 What's New in v2.4

  • Reinforcement Learning Support: New method="rl" with +129% improvement on LunarLander
  • Multi-Optimizer: Choose from Adam, NAdam, AMSGrad, SGD, Momentum, LAMB
  • MuJoCo Robotics: +118% improvement on continuous control tasks
  • Crypto Trading: +10.9% profit improvement in high-volatility environments

🏆 Benchmark Results (v2.4)

Reinforcement Learning

Environment Improvement p-value Win Rate
LunarLander-v3 +129.7% 0.000000 96.7%
MuJoCo InvertedPendulum +118.6% 0.001 100%
Crypto Trading +10.9% profit 0.005 90%

Quantum Computing

Problem Improvement p-value Win Rate
VQE H2 (IBM FakeFez) +53.1% 0.001 100%
QAOA MaxCut +21.5% <0.05 85%

Classical Optimization

Problem Improvement Best Optimizer
Rosenbrock Valley +75.8% Adam+SA
Credit Risk (VaR) +52.3% Adam+SA
Portfolio Optimization +51.7% Adam+SA
Ackley Function +86.3% AMSGrad+SA

📦 Installation

pip install mobiu-q

Verify Installation

Download our test suite to verify everything works:

# Quick verification (7 tests, ~2 min)
python test_quickstart.py

# Full test suite (21 tests, ~15 min)  
pytest test_mobiu_q_customer.py -v

# Benchmark with statistics
python benchmark_mobiu_q.py --seeds 10

Test files available at: github.com/mobiuai/mobiu-q/examples


⚡ Quick Start

1. VQE (Quantum Chemistry)

from mobiu_q import MobiuQCore, Demeasurement

opt = MobiuQCore(license_key="YOUR-KEY", method="vqe")

for step in range(100):
    grad = Demeasurement.finite_difference(energy_fn, params)
    params = opt.step(params, grad, energy_fn(params))

opt.end()

For real quantum hardware, use mode="hardware" and SPSA:

opt = MobiuQCore(license_key="YOUR-KEY", method="vqe", mode="hardware")

for step in range(100):
    grad, energy = Demeasurement.spsa(run_circuit, params)
    params = opt.step(params, grad, energy)

opt.end()

2. QAOA (Combinatorial Optimization)

opt = MobiuQCore(license_key="YOUR-KEY", method="qaoa")

for step in range(150):
    grad, energy = Demeasurement.spsa(qaoa_cost_fn, params)
    params = opt.step(params, grad, energy)

opt.end()

For hardware: mode="hardware"

3. Reinforcement Learning (NEW in v2.4)

opt = MobiuQCore(license_key="YOUR-KEY", method="rl")

for episode in range(1000):
    # Run episode, compute policy gradient
    episode_return = run_episode(policy)
    gradient = compute_policy_gradient()
    
    policy_params = opt.step(policy_params, gradient, episode_return)

opt.end()

4. Multi-Seed Experiments (1 billing session)

opt = MobiuQCore(license_key="YOUR-KEY")

for seed in range(10):
    opt.new_run()  # Resets state, keeps session open
    params = init_params(seed)
    # ... optimization loop ...

opt.end()  # All 10 seeds count as 1 run

🎛️ Configuration

Methods and Modes

Method Mode Use Case Default LR
vqe simulation Simulated VQE (you control noise) 0.01
vqe hardware Real quantum hardware / FakeBackend 0.02
qaoa simulation Simulated QAOA (you control noise) 0.1
qaoa hardware Real quantum hardware / FakeBackend 0.1
rl (ignored) Reinforcement learning 0.0003

When to use hardware mode: Use when running on real quantum devices (IBM, IonQ, etc.) or Qiskit FakeBackends. The optimizer uses higher learning rate to compensate for hardware noise.

Optimizers (NEW in v2.4)

Default: Adam (recommended - works best across all methods)

# Use default (Adam)
opt = MobiuQCore(method="vqe")

# Try alternative optimizer
opt = MobiuQCore(method="qaoa", base_optimizer="NAdam")

Available optimizers:

  • Adam (default) - Best overall performance
  • NAdam - Strong on QAOA problems
  • AMSGrad - Best for multimodal functions (Ackley: +86%)
  • LAMB - High improvement potential, less stable
  • SGD / Momentum - Simple baselines

Disable Soft Algebra

For A/B testing against plain optimizers:

# Plain Adam (no Soft Algebra)
opt = MobiuQCore(method="vqe", use_soft_algebra=False)

🧠 How It Works

The Core Innovation: "Noise Hallucination" Prevention

Standard optimizers (Adam, SGD) assume lower objective values always indicate better solutions. In noisy environments—like NISQ processors or stochastic RL—this fails. Optimizers "tunnel" into noise, creating Noise Hallucinations.

The Solution: Soft Algebra cross-coupled state evolution:

S_{t+1} = (γ · S_t) · Δ_t + Δ_t

Where:

  • a_t (Potential): Curvature signal from energy history
  • b_t (Realized): Actual improvement achieved
  • Δ† (Super-Equation): Emergence detection for QAOA/RL

A parameter update is only committed if the Potential Field is validated by Realized Improvement.

Method-Specific Logic

Method Primary Mechanism Best For
VQE Trust Ratio + Gradient Warping Smooth energy landscapes
QAOA Super-Equation Δ† Rugged, multimodal landscapes
RL Trust + Emergence + Warping High-variance, sparse rewards

📊 When to Use Mobiu-Q

Use Mobiu-Q when:

  • High noise/variance (quantum hardware, RL, stochastic finance)
  • Rugged landscapes with many local minima
  • Expensive function evaluations
  • Standard optimizers diverge or get stuck

Skip Mobiu-Q when:

  • Clean, convex problems (vanilla SGD is fine)
  • Deterministic, low-noise environments
  • Very low variance settings

🔑 Pricing

Tier Runs/Month Features
Free 20 Testing & students
Pro Unlimited Priority processing, all features

Get your License Key


📚 API Reference

MobiuQCore

MobiuQCore(
    license_key: str,           # Your license key
    method: str = "vqe",        # "vqe", "qaoa", or "rl"
    mode: str = "simulation",   # "simulation" or "hardware"
    base_lr: float = None,      # Learning rate (auto if None)
    base_optimizer: str = "Adam",  # Optimizer choice
    use_soft_algebra: bool = True, # Enable/disable SA
    offline_fallback: bool = True  # Fallback to local Adam
)

Methods:

  • step(params, gradient, energy) → Updated params
  • new_run() → Reset for new seed (same session)
  • end() → End session (counts usage)
  • check_usage() → Get remaining runs

Demeasurement

# For VQE (smooth landscapes)
grad = Demeasurement.finite_difference(energy_fn, params)
grad = Demeasurement.parameter_shift(circuit_fn, params)

# For QAOA/hardware (noisy)
grad, energy = Demeasurement.spsa(energy_fn, params)

💡 Best Practices

Simulation vs Hardware

Simulation (clean analytical functions):

opt = MobiuQCore(method="vqe", mode="simulation")

for step in range(100):
    grad = Demeasurement.finite_difference(energy_fn, params)
    energy = energy_fn(params)
    params = opt.step(params, grad, energy)

Hardware (Qiskit FakeBackend / real quantum device):

opt = MobiuQCore(method="vqe", mode="hardware")

for step in range(100):
    grad, energy = Demeasurement.spsa(run_circuit, params)
    params = opt.step(params, grad, energy)

The noise comes from the device - you don't add it yourself.

Recommended Steps

Problem Type Recommended Steps
VQE (2-4 params) 60-100
VQE (8+ params) 150-200
QAOA (p=2-5) 150-200
RL (LunarLander) 500-1000 episodes

When Optimization Fails

  1. Check mode matches your environment:

    • mode="simulation" → Clean simulation only (no added noise)
    • mode="hardware" → Real quantum hardware or noisy simulation (FakeBackend)
    • Using the wrong mode will give poor results!
  2. Try a different base optimizer:

    • Before adjusting learning rate, try: base_optimizer="NAdam" or "AMSGrad"
    • Different optimizers work better for different problems
    • Mobiu-Q wraps these optimizers with Soft Algebra
  3. Don't mix methods with wrong problem types:

    • Use method="vqe" for VQE/chemistry problems
    • Use method="qaoa" for QAOA/combinatorial problems
    • Mixing them (e.g., QAOA method for VQE problem) may not work well
  4. Verify your problem setup:

    • Check Hamiltonian coefficients are correct
    • Verify ground state energy is computed correctly
    • Ensure ansatz can actually reach the ground state
    • Test with a simple grid search first

🔬 Citation

If you use Mobiu-Q in research:

@software{mobiu_q,
  title = {Mobiu-Q: Soft Algebra Optimizer for Stochastic Systems},
  author = {Mobiu Technologies},
  year = {2024},
  url = {https://mobiu.ai}
}

Proprietary technology. All rights reserved by Mobiu Technologies.

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

mobiu_q-2.4.2.tar.gz (24.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mobiu_q-2.4.2-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file mobiu_q-2.4.2.tar.gz.

File metadata

  • Download URL: mobiu_q-2.4.2.tar.gz
  • Upload date:
  • Size: 24.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for mobiu_q-2.4.2.tar.gz
Algorithm Hash digest
SHA256 bd799a4424a12e924bbd4c4daeec0bd90927c28e07a45c4cd9437b0033d1f8d0
MD5 22b4981d6f3815d463e57e5eebc06f0a
BLAKE2b-256 9224a4a35f588e7c9cf14526792b0c9b4a37b870192f40da002d13bc2b4e726d

See more details on using hashes here.

File details

Details for the file mobiu_q-2.4.2-py3-none-any.whl.

File metadata

  • Download URL: mobiu_q-2.4.2-py3-none-any.whl
  • Upload date:
  • Size: 21.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for mobiu_q-2.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7e6b5bdf20aa748f344fc3d8ff30c24387e4ed7b1e261323c4016bfc53e37af7
MD5 07f2217cc259b2ec72caeac7f78bced0
BLAKE2b-256 b50dc29e9cf7a9363da4640a0b48958687516153e0d6dcc711be6ead3cb63b7c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page