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 Fortran/C libraries and executables

We provide precompiled GALAHAD libraries and executables in the releases tab for Linux (x64 and aarch64), macOS (x64 and aarch64), and Windows (x64).

On some platforms, the dynamic linker needs to know where to look for libraries at runtime. You might need to set the following environment variables:

  • LD_LIBRARY_PATH on Linux
  • DYLD_LIBRARY_PATH or DYLD_FALLBACK_LIBRARY_PATH on macOS
  • PATH on Windows

These variables should include the directory where you extracted the libraries. For all platforms, the environment variable PATH is needed to locate the executables.

Precompiled Julia Interface

We provide a precompiled Julia interface for most platforms, please see GALAHAD.jl and the associated documentation.

Precompiled Python Interface

We provide a precompiled Python interface for Linux, macOS (Intel & Silicon), and Windows that can be installed from PyPI:

pip install galahad-optrove

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.4.0.tar.gz (36.2 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.4.0-cp313-cp313-win_amd64.whl (14.2 MB view details)

Uploaded CPython 3.13Windows x86-64

galahad_optrove-5.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

galahad_optrove-5.4.0-cp313-cp313-macosx_14_0_arm64.whl (12.8 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

galahad_optrove-5.4.0-cp313-cp313-macosx_13_0_x86_64.whl (14.0 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

galahad_optrove-5.4.0-cp312-cp312-win_amd64.whl (14.2 MB view details)

Uploaded CPython 3.12Windows x86-64

galahad_optrove-5.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

galahad_optrove-5.4.0-cp312-cp312-macosx_14_0_arm64.whl (12.8 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

galahad_optrove-5.4.0-cp312-cp312-macosx_13_0_x86_64.whl (14.0 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

galahad_optrove-5.4.0-cp311-cp311-win_amd64.whl (14.2 MB view details)

Uploaded CPython 3.11Windows x86-64

galahad_optrove-5.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

galahad_optrove-5.4.0-cp311-cp311-macosx_14_0_arm64.whl (12.8 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

galahad_optrove-5.4.0-cp311-cp311-macosx_13_0_x86_64.whl (14.0 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

galahad_optrove-5.4.0-cp310-cp310-win_amd64.whl (14.2 MB view details)

Uploaded CPython 3.10Windows x86-64

galahad_optrove-5.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

galahad_optrove-5.4.0-cp310-cp310-macosx_14_0_arm64.whl (12.8 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

galahad_optrove-5.4.0-cp310-cp310-macosx_13_0_x86_64.whl (14.0 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

File details

Details for the file galahad_optrove-5.4.0.tar.gz.

File metadata

  • Download URL: galahad_optrove-5.4.0.tar.gz
  • Upload date:
  • Size: 36.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for galahad_optrove-5.4.0.tar.gz
Algorithm Hash digest
SHA256 ead9a8fbead6e519709e9de9fd7816d86e54fe9409f25880d9d7d10dba935cff
MD5 5016197ebadcba6c6683e6b2e6610bff
BLAKE2b-256 978ff61adf03fd6d491c99a53234c9c8f31fec3bd11e716d6e9db984e364073b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for galahad_optrove-5.4.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6c3076ef46115911672bb708fec46124955e9f1d16bf24d794b9b2ffc3e3a127
MD5 02aea1162124b3165ec2d6960a9c08f9
BLAKE2b-256 4d7018cac76f9a90b2824d357b083ea589356b11d41b9a5dd1d0e5a642674587

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for galahad_optrove-5.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0e8b2bbe37f597fece86bcacdbe7772c62f3864c3052859fe396f779ecfc7d0c
MD5 5c3442bf3b2441c7c4f7d602bfc69de9
BLAKE2b-256 15aa7913ba5a0f8a0b3ba24ca449ee14f9b56ec7a2ac890ca8cf00b4bbb6e73a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for galahad_optrove-5.4.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 86905eba47fc43414cd44d5d29020178def78c6baf1b8f924951aa1089858543
MD5 d21c74db8927bc9a520c0308f7a66117
BLAKE2b-256 86c963a376301c32d9324fa522a1cbe42ebe1cf6b678542cfad28df4a8d8a4c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for galahad_optrove-5.4.0-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 74b495eb598fe099de115ae433202dc58233767029f44c2be8bc2c7f651de9e4
MD5 774337918016c89dccf9acb3a3d39171
BLAKE2b-256 17195406666b5613f08b66f3d86573d04030e036e413c38c5e0bb01d34472339

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for galahad_optrove-5.4.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c4d90ac89c6b1d92b91fc537181f3dc5cf8bdca871c5dac0ead174bafb8be176
MD5 5f9196f7db7c71c1e958a72b2d3c612f
BLAKE2b-256 5c82b8620fd8560ae4fce290877bec91ef6c42efc84d9f2c6b7a35e13c7d6ab3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for galahad_optrove-5.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 181570e124bade7bd581c0a6c966029f901a54fd62251c36cc0f4980f44ef15a
MD5 5deb7d93bed1d26dece4b2e6b75d59d5
BLAKE2b-256 2c706f158fcdf3c86198fcc78f195cdbb8ff7777475889bf16e2e4cf385e6fca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for galahad_optrove-5.4.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1ed5864dde32e65a70fd76a81c20b7cc2a6a500f9adecb646513ec00ed84024a
MD5 f752b5ac1d9112ec002e896eb2ed5323
BLAKE2b-256 6c3bdcc4613eabc6939b1f6a37e8c88bd508e2f7ff8a07ad02e40055bbd2cfad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for galahad_optrove-5.4.0-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 d9bda871e9a4b2de1dec91fe1bc178e598c733f054e13d153c25ec03a5b85e65
MD5 30c4d8409ad6b6e75a15df6847aa0039
BLAKE2b-256 2c99b120d2cfd3b9d202361af23540b6219bc66b1cecdc60f843f6af63bd9230

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for galahad_optrove-5.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fb839c8251b40a75a2a3864c193abff12b8a1a5447dfe1c3a5395502b7bb5827
MD5 d867c2801bdf63cce84512b69de4d5cb
BLAKE2b-256 67a23461018aab7d645932d511e7a4948e69ce02c1b8cf1051100c8d812f019a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for galahad_optrove-5.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4b31e70cac2041173363f61893831d96737fa00fd9ebd6c140adf21a2de60c01
MD5 8fe3bdfeeb72390c5eed011a3bbf0ca2
BLAKE2b-256 6bb290aee38feb35211131fa042e90db72c167c65fd08d6ad2388fec234247c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for galahad_optrove-5.4.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 dffeccfee217ab7341c335f009882f7a97adb4ad88289061b1997a2f014a03be
MD5 d15d606e453226b66e8de9802035d3c6
BLAKE2b-256 2c6c241115992bd949bd08d3d20e4dfd3b22463eb2d5c51a2589fba923941904

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for galahad_optrove-5.4.0-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 aec6415df80135d2d57b35c90da15ad9a820c99f27d1817748d875d70b8c8d91
MD5 c697141c88f5fbb06491ceef8b5c0fca
BLAKE2b-256 25360be3770c219ca7ee09e5eb0be26a5da7c54986d99d3a78e4bd7f0a30ff3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for galahad_optrove-5.4.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 53a28b2d99ad6958643a2163a8814e37bb55d65ae66ad656f61a1ebd70ff27ee
MD5 51611d440fb714f2c1f3f80473319aa3
BLAKE2b-256 a96d13e5d74cba9f2efabb9e79f4b0a219a9f6effccabd9ab41b77ed0d2ad31b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for galahad_optrove-5.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1d03eaa6a5f2134205a995c9c05d0a89b895658adf4b4318f08064c72ab89e62
MD5 18fece9d8e9e1eb71414c9e0bb4300f9
BLAKE2b-256 17bfa56270c9de3886168cd1412eae7c2f0744db064aa1fdabf085236e0c36f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for galahad_optrove-5.4.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 dbde26baf7115523afba1df2a61e3bf7eb25a166ec9077af44bd426c7effa6f3
MD5 ffd547dca8b353d6f8bf484031408fbf
BLAKE2b-256 c249b5a50613dbff99d694e7ffa53ef2a9d7022af8b5c4d4f89a4ff0b58f76d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for galahad_optrove-5.4.0-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 fd9454ec929f84f49bc1cf2fe5a43e93a201daeb5090021a6731400c2211970a
MD5 0e2dc196ccf7ecc4a6d1a231e6d29ede
BLAKE2b-256 5607a23e1fa6360ecb704be9576270b427408e16a0ed6052e9f1c2858dd1f2e4

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