Skip to main content

A library of modern Fortran modules for nonlinear optimization

Project description

GALAHAD codecov

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:

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

galahad_optrove-5.2.0.tar.gz (35.0 MB view details)

Uploaded Source

Built Distributions

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

galahad_optrove-5.2.0-cp313-cp313-win_amd64.whl (13.6 MB view details)

Uploaded CPython 3.13Windows x86-64

galahad_optrove-5.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (31.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

galahad_optrove-5.2.0-cp313-cp313-macosx_14_0_arm64.whl (21.4 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

galahad_optrove-5.2.0-cp313-cp313-macosx_13_0_x86_64.whl (22.7 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

galahad_optrove-5.2.0-cp312-cp312-win_amd64.whl (13.6 MB view details)

Uploaded CPython 3.12Windows x86-64

galahad_optrove-5.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (31.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

galahad_optrove-5.2.0-cp312-cp312-macosx_14_0_arm64.whl (21.4 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

galahad_optrove-5.2.0-cp312-cp312-macosx_13_0_x86_64.whl (22.7 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

galahad_optrove-5.2.0-cp311-cp311-win_amd64.whl (13.6 MB view details)

Uploaded CPython 3.11Windows x86-64

galahad_optrove-5.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (31.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

galahad_optrove-5.2.0-cp311-cp311-macosx_14_0_arm64.whl (21.4 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

galahad_optrove-5.2.0-cp311-cp311-macosx_13_0_x86_64.whl (22.7 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

galahad_optrove-5.2.0-cp310-cp310-win_amd64.whl (13.6 MB view details)

Uploaded CPython 3.10Windows x86-64

galahad_optrove-5.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (31.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

galahad_optrove-5.2.0-cp310-cp310-macosx_14_0_arm64.whl (21.3 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

galahad_optrove-5.2.0-cp310-cp310-macosx_13_0_x86_64.whl (22.7 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

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

Hashes for galahad_optrove-5.2.0.tar.gz
Algorithm Hash digest
SHA256 de28cf6f1400b8db506f909944ee6b7bce793c9f9d7c4fbeb89f865e6f9e44d2
MD5 faa0373fd5f0ee28979f18c95cb4b2c7
BLAKE2b-256 f32461debd4963060437513251a7fb2f2a1cf8fd96572cc02588645643c99594

See more details on using hashes here.

File details

Details for the file galahad_optrove-5.2.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for galahad_optrove-5.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 eddd5d27f8492baa66acc1617f159e3a3e585d79ace5f8826bc9164beb52dd0b
MD5 e0203312ffcd924a43d90959b97441ae
BLAKE2b-256 9a76df40fd5c109e428d6748817bc2e4749ac861cb51071d03e3ae12187eb0d6

See more details on using hashes here.

File details

Details for the file galahad_optrove-5.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for galahad_optrove-5.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bef278fbde2ac56bf714292ca7c9196b3beab8c640ab68d838c400542ebaaa45
MD5 6b9d56b4fadabdf6242e1c44e67b0b5f
BLAKE2b-256 b9fcfc5a3f06644100ebcf200b236947170542ad44b9ff34356926e014499d14

See more details on using hashes here.

File details

Details for the file galahad_optrove-5.2.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for galahad_optrove-5.2.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0ee8063d107a1c1aeb46ce82d73a492e2398fdfc941137ed8a624097dbbb8e8d
MD5 85e7c27b06058581bfa3cedc1d972493
BLAKE2b-256 5ca35550ff3eaf94a4b2f90d09c095960f1bc956cd6965570a38e3ec17cbd399

See more details on using hashes here.

File details

Details for the file galahad_optrove-5.2.0-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for galahad_optrove-5.2.0-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 0681b48f05bc0ccf6040f8892e03cd155d6e9f16a527643065dedf98cb71824a
MD5 3ff742d863bc11576749bf70e143114d
BLAKE2b-256 a6b4f8672a944a67ab85c7a28e208422e1c286375c44811cd9337d38a339324c

See more details on using hashes here.

File details

Details for the file galahad_optrove-5.2.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for galahad_optrove-5.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5846a6ab5d68894177014ab28e2e8e5947f0ac9f20375ca42e3a59c4d944a60f
MD5 ac14a810a0d6fd09c4165f657cd267f1
BLAKE2b-256 6c691ab4fe78538adf1a527a297f8d32a065ec39460dc2dcbdf68b6ca1555e13

See more details on using hashes here.

File details

Details for the file galahad_optrove-5.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for galahad_optrove-5.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7ea45a2359ce27b2619f8b137a38f5d2ad09e154ac914ff4ed12af8201ed35e4
MD5 bf13a61c03fb1bdbab68d79dee5e04e6
BLAKE2b-256 477bdf39aaf8af2782c89c11094ad0f1bc130ce4ae26c6dafacb6d463383f66d

See more details on using hashes here.

File details

Details for the file galahad_optrove-5.2.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for galahad_optrove-5.2.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3347f0179bfb785625fd0b00677284bc9a6a6e89a803f149b71413ed7923ccf3
MD5 3b5de9861daf0bc0af3b837c357c54c4
BLAKE2b-256 7cca921ec633ddedb839fdc85f2086ff07deadd23ee8131af3c5dd3fd32e3543

See more details on using hashes here.

File details

Details for the file galahad_optrove-5.2.0-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for galahad_optrove-5.2.0-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 d4b84576d5fe027279f59161b07707e15247bc13e245f341af707a3e6d419fb4
MD5 adec0f574d47a4e737b3d106902b167c
BLAKE2b-256 b33bb0b809e42786f9bfc8a18464a953c6e171eb15dd4f646a8bccad15616173

See more details on using hashes here.

File details

Details for the file galahad_optrove-5.2.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for galahad_optrove-5.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 674a7a36a249f545a5d5a48e33e55b6cd165a9e21c5926c71835b1ebc6b1507e
MD5 7356f2455f93b4abf75530671d451b98
BLAKE2b-256 c765e21d8a631028545d4ae7d15c2d8cced7440f5883d98d3be19277375ad48d

See more details on using hashes here.

File details

Details for the file galahad_optrove-5.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for galahad_optrove-5.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c0d89c7ca9ebcbafccec10efcc50b701cd085789b097bf879ac624d31e1321c0
MD5 2face66fe0ca06f821fa8352e58b50d3
BLAKE2b-256 b98816d82319162a6ef113daa0d7f9220b38823c8e8f88f25a6a4594ecc1e712

See more details on using hashes here.

File details

Details for the file galahad_optrove-5.2.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for galahad_optrove-5.2.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7fb49f4c264e6cecd2621b562871c266a19356ddb810c8c386633b48993932c5
MD5 4b0a3031239abfddb02c471eb991695e
BLAKE2b-256 7520756c14c580c00149ac6f2dd579a82479ca44bc45404e0b3be32201903680

See more details on using hashes here.

File details

Details for the file galahad_optrove-5.2.0-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for galahad_optrove-5.2.0-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 4e91fe16d4aae509c07be9af8c1070467f779341aaf879d079d7bfbbceba170b
MD5 e26f7dccc7ec8a2aa99e788b3c4b594c
BLAKE2b-256 88d19b72452a9169e23b44be42c5ece842af18f4697aac4068b7db0ea764f417

See more details on using hashes here.

File details

Details for the file galahad_optrove-5.2.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for galahad_optrove-5.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6957f2336767d8d26cce75c0e6e99eb0a66613c2426dc8d3a608a84aaf1d4860
MD5 51b874e0b720f7b329fcd8b832b7c7fd
BLAKE2b-256 ef768a44666b7a31dd49e0ad6490f872baccf529c9bfcefd0a5a96ee47c389e0

See more details on using hashes here.

File details

Details for the file galahad_optrove-5.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for galahad_optrove-5.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e3a020f397f2a41d34a03fd347dc6a45cf7d67be0cd4ea4f1d3c2b3deadc107b
MD5 eadb7749b6025eb5090f5c1d187c5280
BLAKE2b-256 3755b2de95d09d1bbb5a36aeeaed58790e13d903eeb95ba5dfd48eb8b597a27f

See more details on using hashes here.

File details

Details for the file galahad_optrove-5.2.0-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for galahad_optrove-5.2.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 68963ddff8097d0c6e842494f641e61897948cccb6c0dcfac414f2bbe65ca66f
MD5 b65405d5cc26f27d183846107065ee1f
BLAKE2b-256 30e1ed439d3c8365dcab28dbddb89f2ca9e47bd328aebac9b788ab08d3789873

See more details on using hashes here.

File details

Details for the file galahad_optrove-5.2.0-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for galahad_optrove-5.2.0-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 72d8839471f9052433dd13d14fda4684b9bdb5dfd7f83ea61b548599f7e48cd1
MD5 1439bf377e8c0777100204d1effcef3e
BLAKE2b-256 5329e2c9500e0b9d72a2bbcb666fddc49cb15fcf9edf3adbce8aa70e54c208fa

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