A library of modern Fortran modules for nonlinear optimization
Project description
GALAHAD

GALAHAD is a library of modern Fortran packages for nonlinear optimization with C, Python, Julia and MATLAB interfaces. It contains packages for general constrained and unconstrained optimization, linear and quadratic programming, nonlinear least-squares fitting and global optimization, as well as those for solving a large variety of basic optimization subproblems.
Documentation
More information on the packages in GALAHAD can be found at https://www.galahad.rl.ac.uk.
All major GALAHAD packages are documented in Fortran, C, Python and Julia:
- Fortran Documentation (PDF)
- C Documentation (HTML)
- Python Documentation (HTML)
- Julia Documentation (HTML)
Help files are provided for MATLAB functions.
Installation
Precompiled library
We provide a precompiled GALAHAD library in the releases tab for Linux, macOS (Intel & Silicon) and Windows.
Installation from source
GALAHAD can be installed from source using the Meson build system (all commands below are to be run from the top of the source tree):
meson setup builddir -Dtests=true
meson compile -C builddir
meson install -C builddir
meson test -C builddir
For more comprehensive Meson options (-Doption=value), including how to specify paths to various libraries and packages, please see meson_options.txt and README.meson. We give some examples below for the most important Meson options.
GALAHAD supports a large number of optional software packages for enhanced functionality, the most important of these are:
BLAS/LAPACK
By default GALAHAD will build with OpenBLAS if it can locate it (otherwise you may need to pass the OpenBLAS paths via the libblas_path and liblapack_path options to meson setup). You may also wish to use a vendor-specific BLAS/LAPACK implementation such as one of the following:
Please see README.meson for instructions on how to tell Meson where to find these optional dependencies.
Linear Solvers
By default GALAHAD will build the SSIDS linear solver, other alternative linear solvers are:
Please see README.meson for instructions on how to tell Meson where to find these optional dependencies.
CUTEst Test Collection
GALAHAD can use optimization test problems from the CUTEst test collection. For example, to link GALAHAD with double precision CUTEst:
meson setup builddir -Dlibcutest_path=/path/to/CUTEst/lib -Dlibcutest_modules=/path/to/CUTEst/modules -Dsingle=false
meson compile -C builddir
meson install -C builddir
GALAHAD can similarly be linked with the single or quadruple precision variants of CUTEst. For more details, refer to the file meson_options.txt.
Note: only the shared libraries of CUTEst are supported when compiling GALAHAD with Meson. Please follow the instructions to set up CUTEst accordingly.
C Interface
To install the C interface using the Meson build system:
meson setup builddir -Dciface=true
meson compile -C builddir
meson install -C builddir
meson test -C builddir --suite=C
Python Interface
To install the Python interface using the Meson build system:
meson setup builddir -Dpythoniface=true -Dpython.install_env=auto
meson compile -C builddir
meson install -C builddir
meson test -C builddir --suite=Python
Julia Interface
Please see GALAHAD.jl and the associated documentation.
MATLAB Interface
Please see README.matlab and the instructions provided there.
Integrated installation via make
GALAHAD can also be installed via the "make" command as part of the Optrove optimization eco-system that also includes CUTEst, SIFDecode and ARCHDefs. This has the advantage of providing scripts to run CUTEst examples directly from GALAHAD and allowing calls from Matlab, but suffers from considerably longer build times.
To use this variant, follow the instructions in the GALAHAD wiki.
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 Distributions
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 galahad_optrove-5.2.0.tar.gz.
File metadata
- Download URL: galahad_optrove-5.2.0.tar.gz
- Upload date:
- Size: 35.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de28cf6f1400b8db506f909944ee6b7bce793c9f9d7c4fbeb89f865e6f9e44d2
|
|
| MD5 |
faa0373fd5f0ee28979f18c95cb4b2c7
|
|
| BLAKE2b-256 |
f32461debd4963060437513251a7fb2f2a1cf8fd96572cc02588645643c99594
|
File details
Details for the file galahad_optrove-5.2.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: galahad_optrove-5.2.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 13.6 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eddd5d27f8492baa66acc1617f159e3a3e585d79ace5f8826bc9164beb52dd0b
|
|
| MD5 |
e0203312ffcd924a43d90959b97441ae
|
|
| BLAKE2b-256 |
9a76df40fd5c109e428d6748817bc2e4749ac861cb51071d03e3ae12187eb0d6
|
File details
Details for the file galahad_optrove-5.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: galahad_optrove-5.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 31.4 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bef278fbde2ac56bf714292ca7c9196b3beab8c640ab68d838c400542ebaaa45
|
|
| MD5 |
6b9d56b4fadabdf6242e1c44e67b0b5f
|
|
| BLAKE2b-256 |
b9fcfc5a3f06644100ebcf200b236947170542ad44b9ff34356926e014499d14
|
File details
Details for the file galahad_optrove-5.2.0-cp313-cp313-macosx_14_0_arm64.whl.
File metadata
- Download URL: galahad_optrove-5.2.0-cp313-cp313-macosx_14_0_arm64.whl
- Upload date:
- Size: 21.4 MB
- Tags: CPython 3.13, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ee8063d107a1c1aeb46ce82d73a492e2398fdfc941137ed8a624097dbbb8e8d
|
|
| MD5 |
85e7c27b06058581bfa3cedc1d972493
|
|
| BLAKE2b-256 |
5ca35550ff3eaf94a4b2f90d09c095960f1bc956cd6965570a38e3ec17cbd399
|
File details
Details for the file galahad_optrove-5.2.0-cp313-cp313-macosx_13_0_x86_64.whl.
File metadata
- Download URL: galahad_optrove-5.2.0-cp313-cp313-macosx_13_0_x86_64.whl
- Upload date:
- Size: 22.7 MB
- Tags: CPython 3.13, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0681b48f05bc0ccf6040f8892e03cd155d6e9f16a527643065dedf98cb71824a
|
|
| MD5 |
3ff742d863bc11576749bf70e143114d
|
|
| BLAKE2b-256 |
a6b4f8672a944a67ab85c7a28e208422e1c286375c44811cd9337d38a339324c
|
File details
Details for the file galahad_optrove-5.2.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: galahad_optrove-5.2.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 13.6 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5846a6ab5d68894177014ab28e2e8e5947f0ac9f20375ca42e3a59c4d944a60f
|
|
| MD5 |
ac14a810a0d6fd09c4165f657cd267f1
|
|
| BLAKE2b-256 |
6c691ab4fe78538adf1a527a297f8d32a065ec39460dc2dcbdf68b6ca1555e13
|
File details
Details for the file galahad_optrove-5.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: galahad_optrove-5.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 31.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ea45a2359ce27b2619f8b137a38f5d2ad09e154ac914ff4ed12af8201ed35e4
|
|
| MD5 |
bf13a61c03fb1bdbab68d79dee5e04e6
|
|
| BLAKE2b-256 |
477bdf39aaf8af2782c89c11094ad0f1bc130ce4ae26c6dafacb6d463383f66d
|
File details
Details for the file galahad_optrove-5.2.0-cp312-cp312-macosx_14_0_arm64.whl.
File metadata
- Download URL: galahad_optrove-5.2.0-cp312-cp312-macosx_14_0_arm64.whl
- Upload date:
- Size: 21.4 MB
- Tags: CPython 3.12, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3347f0179bfb785625fd0b00677284bc9a6a6e89a803f149b71413ed7923ccf3
|
|
| MD5 |
3b5de9861daf0bc0af3b837c357c54c4
|
|
| BLAKE2b-256 |
7cca921ec633ddedb839fdc85f2086ff07deadd23ee8131af3c5dd3fd32e3543
|
File details
Details for the file galahad_optrove-5.2.0-cp312-cp312-macosx_13_0_x86_64.whl.
File metadata
- Download URL: galahad_optrove-5.2.0-cp312-cp312-macosx_13_0_x86_64.whl
- Upload date:
- Size: 22.7 MB
- Tags: CPython 3.12, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4b84576d5fe027279f59161b07707e15247bc13e245f341af707a3e6d419fb4
|
|
| MD5 |
adec0f574d47a4e737b3d106902b167c
|
|
| BLAKE2b-256 |
b33bb0b809e42786f9bfc8a18464a953c6e171eb15dd4f646a8bccad15616173
|
File details
Details for the file galahad_optrove-5.2.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: galahad_optrove-5.2.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 13.6 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
674a7a36a249f545a5d5a48e33e55b6cd165a9e21c5926c71835b1ebc6b1507e
|
|
| MD5 |
7356f2455f93b4abf75530671d451b98
|
|
| BLAKE2b-256 |
c765e21d8a631028545d4ae7d15c2d8cced7440f5883d98d3be19277375ad48d
|
File details
Details for the file galahad_optrove-5.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: galahad_optrove-5.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 31.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0d89c7ca9ebcbafccec10efcc50b701cd085789b097bf879ac624d31e1321c0
|
|
| MD5 |
2face66fe0ca06f821fa8352e58b50d3
|
|
| BLAKE2b-256 |
b98816d82319162a6ef113daa0d7f9220b38823c8e8f88f25a6a4594ecc1e712
|
File details
Details for the file galahad_optrove-5.2.0-cp311-cp311-macosx_14_0_arm64.whl.
File metadata
- Download URL: galahad_optrove-5.2.0-cp311-cp311-macosx_14_0_arm64.whl
- Upload date:
- Size: 21.4 MB
- Tags: CPython 3.11, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7fb49f4c264e6cecd2621b562871c266a19356ddb810c8c386633b48993932c5
|
|
| MD5 |
4b0a3031239abfddb02c471eb991695e
|
|
| BLAKE2b-256 |
7520756c14c580c00149ac6f2dd579a82479ca44bc45404e0b3be32201903680
|
File details
Details for the file galahad_optrove-5.2.0-cp311-cp311-macosx_13_0_x86_64.whl.
File metadata
- Download URL: galahad_optrove-5.2.0-cp311-cp311-macosx_13_0_x86_64.whl
- Upload date:
- Size: 22.7 MB
- Tags: CPython 3.11, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e91fe16d4aae509c07be9af8c1070467f779341aaf879d079d7bfbbceba170b
|
|
| MD5 |
e26f7dccc7ec8a2aa99e788b3c4b594c
|
|
| BLAKE2b-256 |
88d19b72452a9169e23b44be42c5ece842af18f4697aac4068b7db0ea764f417
|
File details
Details for the file galahad_optrove-5.2.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: galahad_optrove-5.2.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 13.6 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6957f2336767d8d26cce75c0e6e99eb0a66613c2426dc8d3a608a84aaf1d4860
|
|
| MD5 |
51b874e0b720f7b329fcd8b832b7c7fd
|
|
| BLAKE2b-256 |
ef768a44666b7a31dd49e0ad6490f872baccf529c9bfcefd0a5a96ee47c389e0
|
File details
Details for the file galahad_optrove-5.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: galahad_optrove-5.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 31.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3a020f397f2a41d34a03fd347dc6a45cf7d67be0cd4ea4f1d3c2b3deadc107b
|
|
| MD5 |
eadb7749b6025eb5090f5c1d187c5280
|
|
| BLAKE2b-256 |
3755b2de95d09d1bbb5a36aeeaed58790e13d903eeb95ba5dfd48eb8b597a27f
|
File details
Details for the file galahad_optrove-5.2.0-cp310-cp310-macosx_14_0_arm64.whl.
File metadata
- Download URL: galahad_optrove-5.2.0-cp310-cp310-macosx_14_0_arm64.whl
- Upload date:
- Size: 21.3 MB
- Tags: CPython 3.10, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68963ddff8097d0c6e842494f641e61897948cccb6c0dcfac414f2bbe65ca66f
|
|
| MD5 |
b65405d5cc26f27d183846107065ee1f
|
|
| BLAKE2b-256 |
30e1ed439d3c8365dcab28dbddb89f2ca9e47bd328aebac9b788ab08d3789873
|
File details
Details for the file galahad_optrove-5.2.0-cp310-cp310-macosx_13_0_x86_64.whl.
File metadata
- Download URL: galahad_optrove-5.2.0-cp310-cp310-macosx_13_0_x86_64.whl
- Upload date:
- Size: 22.7 MB
- Tags: CPython 3.10, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72d8839471f9052433dd13d14fda4684b9bdb5dfd7f83ea61b548599f7e48cd1
|
|
| MD5 |
1439bf377e8c0777100204d1effcef3e
|
|
| BLAKE2b-256 |
5329e2c9500e0b9d72a2bbcb666fddc49cb15fcf9edf3adbce8aa70e54c208fa
|