Solver Advisor AI‑powered matrix diagnostics and solver recommendations for scientific computing
Solver Advisor is a lightweight analysis tool designed to inspect sparse matrices from scientific simulations (FEM, CFD, optimization, power systems, structural mechanics, etc.) and automatically recommend suitable iterative solvers and preconditioners.
It analyzes matrix structure, symmetry, SPD‑properties, block patterns, condition number, and spectral characteristics using Lanczos iterations. The tool provides actionable solver recommendations such as CG, GMRES, MINRES, and preconditioners like Jacobi, ILU, SSOR, or Multigrid.
Features Matrix loading (.mtx, .csv, .npy, .npz)
Symmetry detection
SPD (symmetric positive definite) test
Block‑structure detection
Condition number estimation
Largest/smallest eigenvalue estimation
Lanczos spectrum approximation
Solver recommendation (CG, GMRES, MINRES)
Preconditioner recommendation (Jacobi, SSOR, ILU, Multigrid)
CLI interface
GUI interface (Tkinter)
SuiteSparse matrix downloader (Python script)
Project Structure Kood solver-advisor/ │ ├── solver_advisor/ │ ├── io.py # Matrix loading utilities │ ├── analysis.py # Symmetry, SPD, block detection │ ├── spectrum.py # Eigenvalue & Lanczos routines │ ├── diagnostics.py # Solver & preconditioner logic │ ├── run.py # High-level execution wrapper │ ├── gui/ │ ├── app.py # Tkinter GUI │ ├── cli/ │ ├── main.py # CLI entry point │ ├── matrices/ # Downloaded matrices │ ├── tools/ │ ├── download_matrices.py # SuiteSparse downloader │ ├── tests/ │ ├── test_symmetry.py │ ├── test_spd.py │ └── README.md Installation Clone the repository:
Kood git clone https://github.com//solver-advisor cd solver-advisor Install in editable mode:
Kood pip install -e . This makes the solver-advisor CLI command available system‑wide.
Usage CLI Analyze a matrix directly from the terminal:
Kood solver-advisor matrices/example.mtx Example output:
Kood Form: (5000, 5000) Symmetry: True SPD: True Block structure: False Condition number: 1.2e7 Solver: CG Preconditioner: ILU/Multigrid GUI Start the graphical interface:
Kood python gui/app.py The GUI allows you to:
Select matrices from the matrices/ folder
Run full diagnostics
View solver recommendations
Inspect eigenvalues, condition number, SPD status, block structure, etc.
Downloading Matrices (SuiteSparse) Use the provided script to download real-world sparse matrices:
Kood python tools/download_matrices.py This downloads and extracts matrices from the SuiteSparse Matrix Collection into the matrices/ directory.
Example Matrix You can generate a small example matrix:
python from solver_advisor.io import create_example_matrix create_example_matrix() This creates matrices/example.mtx.
Requirements Python 3.10+
NumPy
SciPy
ssgetpy
Tkinter (included with most Python installations)
License MIT License (or whichever you choose)
Author
Allar‑Joel Möldre
Numerical Analysis • HPC • Solver Diagnostics
Future Work AMG preconditioner integration
PETSc backend support
Web‑based GUI
Matrix pattern visualization
Solver performance prediction
Automatic preconditioner tuning
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 solver_advisor-0.1.0.tar.gz.
File metadata
- Download URL: solver_advisor-0.1.0.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e32673ffeeed20de018e96b356f2be71f50457495a215a287c466c12a557b766
|
|
| MD5 |
6e786263165c849a82f1010863ef22b7
|
|
| BLAKE2b-256 |
7ef039da58dfece33ca5e2937106042da09dfe38127bcad9d3d1460674260882
|
File details
Details for the file solver_advisor-0.1.0-py3-none-any.whl.
File metadata
- Download URL: solver_advisor-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be4f8c10c9c2d8f773026f4a69e4a8dbf8a1055f1c5ca6dd1590cd297c5fc616
|
|
| MD5 |
16d566a969c10c5bd465526c5bc8d24b
|
|
| BLAKE2b-256 |
39c7177fe81f871e17decb2745d46cb248630bebdb67415ba41526950f242766
|