numpy-minimum-eigensolver

Computes minimum eigenvalues of qubit operators via exact classical diagonalization in Qiskit.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires numpy, qiskit, qiskit_algorithms, and includes scripts (resource) components.

What problem does it solve? Finding the exact ground-state energy of a qubit Hamiltonian requires a trustworthy classical reference, and this Skill provides deterministic minimum-eigenvalue computation for validating quantum eigensolvers like VQE and VQD. ## Core Features & Use Cases - Exact Diagonalization: Delegates full eigendecomposition to NumPyEigensolver and returns the minimum eigenvalue with its eigenstate. - Feasibility Filtering: Applies a filter_criterion callback to select the minimum eigenvalue only from eigenpairs meeting custom constraints such as parity or symmetry. - Auxiliary Operator Evaluation: Computes expectation values of additional observables on the selected ground state. - Use Case: Benchmark a VQE run on a 2-qubit Heisenberg Hamiltonian by comparing its variational energy against the exact minimum eigenvalue produced by this solver. ## Quick Start Ask the AI to compute the exact minimum eigenvalue of a SparsePauliOp Hamiltonian using NumPyMinimumEigensolver and compare it against a VQE result.

Frequently Asked Questions about numpy-minimum-eigensolver

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

FAQPage Schema
How do I compute the minimum eigenvalue of a Hamiltonian in Qiskit?

Use NumPyMinimumEigensolver from qiskit_algorithms.minimum_eigensolvers and call compute_minimum_eigenvalue with a SparsePauliOp operator. It returns a result object with eigenvalue, eigenstate, and optional auxiliary operator evaluations.

What is the difference between NumPyEigensolver and NumPyMinimumEigensolver?

NumPyEigensolver returns a list of all computed eigenvalues, while NumPyMinimumEigensolver delegates to it internally and returns only the single minimum eigenvalue and its eigenstate. The minimum solver also supports a filter_criterion for constrained selection.

How do I filter eigenstates with filter_criterion in Qiskit?

Pass a callback filter_criterion(eigenstate, eigenvalue, aux_values) returning bool to the NumPyMinimumEigensolver constructor. Only eigenpairs passing the filter are eligible, and the minimum is selected among them; if none pass, the result eigenvalue is None.

What are the qubit limits of exact diagonalization eigensolvers?

Exact diagonalization builds a dense 2^n by 2^n matrix, so memory and runtime grow exponentially with qubit count. It is practical for roughly 10 to 12 qubits and should be used as a classical baseline rather than for large systems.

Why does NumPyMinimumEigensolver return None for the eigenvalue?

A None eigenvalue means the filter_criterion rejected every computed eigenpair, leaving no feasible state. Loosen the filter or set filter_criterion to None, and always check for None before using the result.