schrodingerization

Solve advection and heat PDEs by transforming non-unitary dynamics into unitary Schrodinger-type evolution.

18|3|Updated Aug 14, 2026
One-click install
npx skills add https://github.com/unitarylab/quantum-practices --skill schrodingerization-unitarylab
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: schrodingerization
Source: https://github.com/unitarylab/quantum-practices/tree/main/algorithms/schrodingerization
Command: npx skills add https://github.com/unitarylab/quantum-practices --skill schrodingerization-unitarylab

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires numpy, scipy, matplotlib, unitarylab, and includes scripts (resource) components.

What problem does it solve? Solving partial differential equations like advection and heat diffusion on quantum hardware is hard because their dynamics are non-unitary, while quantum computers only perform unitary evolution. This Skill routes PDE-solving requests to specialized guides that apply the Schrodingerization technique, converting non-unitary PDE dynamics into unitary Schrodinger-type dynamics suitable for both classical and quantum simulation. ## Core Features & Use Cases - PDE Routing: Directs requests to the correct leaf guide based on PDE type and dimension: 1D advection, 1D heat equation, or 2D heat equation. - Dual Solver Paths: Each leaf guide supports classical matrix-exponentiation solvers and Trotterized quantum simulation with automatic circuit generation. - Boundary and Scheme Handling: Covers periodic, Dirichlet, and Neumann boundary conditions, central and upwind discretization schemes, source terms, and anisotropic 2D diffusion. - Use Case: A researcher wants to simulate the 2D heat equation with anisotropic diffusion coefficients on a quantum simulator. The Skill routes to the 2D heat guide, which provides the Kronecker-product Laplacian construction, Schrodingerized Hamiltonian, Trotter evolution code, and 3D surface visualization. ## Quick Start Ask the assistant to solve the 1D heat equation with Dirichlet boundary conditions using Schrodingerization and compare the classical and Trotter solver results.

Frequently Asked Questions about schrodingerization

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I solve the heat equation with quantum simulation?

Discretize the diffusion equation with a finite-difference Laplacian, then apply Schrodingerization to lift the non-unitary system into a unitary Hamiltonian with auxiliary qubits. Evolve it with classical matrix exponentiation or Trotter splitting using the unitarylab library.

What is Schrodingerization for PDE solving?

Schrodingerization transforms a non-unitary system du/dt = Au + b into unitary Schrodinger dynamics d psi/dt = -iH psi by introducing an auxiliary dimension. The Hamiltonian is built from the Hermitian and anti-Hermitian parts of the system matrix A.

When is Schrodingerization not needed for the advection equation?

Schrodingerization can be skipped when the advection equation uses a central difference scheme with periodic boundary conditions, because the resulting system matrix is already skew-Hermitian and the evolution is directly unitary.

Which boundary conditions does the heat equation solver support?

The 1D heat solver supports Dirichlet, periodic, and Neumann boundary conditions, each with a different grid spacing formula. The 2D heat solver supports Dirichlet and periodic boundaries with anisotropic diffusion coefficients.

Why does my Trotter heat equation solution show oscillations?

Trotter error scales with the time step, so a too-large dt causes unphysical oscillations. Halve dt and double the number of time steps, or increase the Trotter order to 2 for Strang splitting.

What are the limitations of the 2D heat equation solver?

The 2D Laplacian grows as N squared by N squared, so grids beyond nx of about 6 require sparse matrix methods. The block-encoding solver path currently falls back to the classical solver and provides no quantum speedup.