From 55f7a873b62116de5cb2456f34b019e36c246bbc Mon Sep 17 00:00:00 2001 From: Lucas Colley Date: Tue, 1 Apr 2025 22:09:51 +0100 Subject: [PATCH 1/2] switch to libprima/prima --- vendor_pyprima.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/vendor_pyprima.sh b/vendor_pyprima.sh index 80a89f1..ae90273 100755 --- a/vendor_pyprima.sh +++ b/vendor_pyprima.sh @@ -1,12 +1,12 @@ #!/bin/bash -# Vendors pyprima from https://github.com/nbelakovski/prima +# Vendors pyprima from https://github.com/libprima/prima set -o nounset set -o errexit -REPO_URL="https://github.com/nbelakovski/prima" -COMMIT_HASH="bb031b16d44bea925dd84ca241b13279d8b121f7" +REPO_URL="https://github.com/libprima/prima" +COMMIT_HASH="5a128beb5f29155adfc4dd302a6dcb3f9e885aea" ROOT_DIR="prima" @@ -23,5 +23,3 @@ rm -rf fortran/ rm -rf matlab/ rm -rf c/ rm -rf python/ - -echo "Update this directory using vendor_pyprima.sh" >$ROOT_DIR/README.md From 184adddb070a2c6c4c839c3a29e59b9a95e5a0ee Mon Sep 17 00:00:00 2001 From: Lucas Colley Date: Tue, 1 Apr 2025 22:10:04 +0100 Subject: [PATCH 2/2] run vendor script --- prima/.github/actions/spelling/allow.txt | 6 - prima/.github/workflows/build_python.yml | 2 +- prima/CMakeLists.txt | 6 + prima/LICENCE.txt | 2 +- prima/README.md | 165 ++--- prima/pyprima/profiles_vs_matlab/.gitignore | 2 + prima/pyprima/profiles_vs_matlab/README.md | 7 + prima/pyprima/profiles_vs_matlab/bobyqa.txt | 220 ++++++ prima/pyprima/profiles_vs_matlab/cobyla.txt | 654 ++++++++++++++++++ .../pyprima/profiles_vs_matlab/excludelist.py | 133 ++++ prima/pyprima/profiles_vs_matlab/lincoa.txt | 308 +++++++++ .../profiles_vs_matlab/matlab_wrapper.m | 61 ++ prima/pyprima/profiles_vs_matlab/profiles.py | 328 +++++++++ .../profiles_vs_matlab/uobyqa_newuoa.txt | 133 ++++ .../profiles_vs_python_bindings/explorer.py | 85 +++ .../jankiprofiler.py | 76 ++ .../profiles_vs_python_bindings/n1.txt | 0 .../profiles_vs_python_bindings/n2.txt | 122 ++++ .../profiles_vs_python_bindings/n3.txt | 118 ++++ .../profiles_vs_python_bindings/results.csv | 517 ++++++++++++++ .../results_with_comparing.csv | 517 ++++++++++++++ .../profiles_vs_python_bindings/scratch.py | 54 ++ .../profiles_vs_python_bindings/speedtest.py | 25 + .../test_float.f90 | 88 +++ .../profiles_vs_python_bindings/test_float.py | 39 ++ .../test_updatexfc.py | 173 +++++ .../pyprima/src/pyprima/cobyla/trustregion.py | 2 +- prima/pyproject.toml | 4 +- prima/tests.md | 100 +++ 29 files changed, 3812 insertions(+), 135 deletions(-) create mode 100644 prima/pyprima/profiles_vs_matlab/.gitignore create mode 100644 prima/pyprima/profiles_vs_matlab/README.md create mode 100644 prima/pyprima/profiles_vs_matlab/bobyqa.txt create mode 100644 prima/pyprima/profiles_vs_matlab/cobyla.txt create mode 100644 prima/pyprima/profiles_vs_matlab/excludelist.py create mode 100644 prima/pyprima/profiles_vs_matlab/lincoa.txt create mode 100644 prima/pyprima/profiles_vs_matlab/matlab_wrapper.m create mode 100644 prima/pyprima/profiles_vs_matlab/profiles.py create mode 100644 prima/pyprima/profiles_vs_matlab/uobyqa_newuoa.txt create mode 100644 prima/pyprima/profiles_vs_python_bindings/explorer.py create mode 100644 prima/pyprima/profiles_vs_python_bindings/jankiprofiler.py create mode 100644 prima/pyprima/profiles_vs_python_bindings/n1.txt create mode 100644 prima/pyprima/profiles_vs_python_bindings/n2.txt create mode 100644 prima/pyprima/profiles_vs_python_bindings/n3.txt create mode 100644 prima/pyprima/profiles_vs_python_bindings/results.csv create mode 100644 prima/pyprima/profiles_vs_python_bindings/results_with_comparing.csv create mode 100644 prima/pyprima/profiles_vs_python_bindings/scratch.py create mode 100644 prima/pyprima/profiles_vs_python_bindings/speedtest.py create mode 100644 prima/pyprima/profiles_vs_python_bindings/test_float.f90 create mode 100644 prima/pyprima/profiles_vs_python_bindings/test_float.py create mode 100644 prima/pyprima/profiles_vs_python_bindings/test_updatexfc.py create mode 100644 prima/tests.md diff --git a/prima/.github/actions/spelling/allow.txt b/prima/.github/actions/spelling/allow.txt index af4a307..1f7fc38 100644 --- a/prima/.github/actions/spelling/allow.txt +++ b/prima/.github/actions/spelling/allow.txt @@ -2261,11 +2261,6 @@ TESTQUAD WAITALL xcodebuild ICX -bglobal -cglobal -lglobal -nglobal -uglobal Belakovski allclose argmin @@ -2288,7 +2283,6 @@ jth Kbreak mgh mmm -multd nanargmax tenbars tfi diff --git a/prima/.github/workflows/build_python.yml b/prima/.github/workflows/build_python.yml index 59f067c..2b89f05 100644 --- a/prima/.github/workflows/build_python.yml +++ b/prima/.github/workflows/build_python.yml @@ -82,7 +82,7 @@ jobs: fi - name: Build wheels - uses: pypa/cibuildwheel@v2.18.1 + uses: pypa/cibuildwheel@v2.20.0 - uses: actions/upload-artifact@v4 with: diff --git a/prima/CMakeLists.txt b/prima/CMakeLists.txt index ef5d1e5..c4a1453 100644 --- a/prima/CMakeLists.txt +++ b/prima/CMakeLists.txt @@ -8,6 +8,12 @@ option (BUILD_SHARED_LIBS "shared/static" ON) include (GNUInstallDirs) +# the compiler enables an executable stack because of nested functions and this is fine +if (CMAKE_Fortran_COMPILER_ID MATCHES "GNU" AND CMAKE_VERSION VERSION_GREATER_EQUAL 3.18) + include (CheckLinkerFlag) + check_linker_flag (Fortran "-Wl,--no-warn-execstack" HAVE_WARN_EXECSTACK) +endif () + # Set additional Fortran compiler flags # 0. See https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html for compiler IDs. # 1. We require the compilers to allocate arrays on the heap instead of the stack, which is diff --git a/prima/LICENCE.txt b/prima/LICENCE.txt index 0290e72..322ab79 100644 --- a/prima/LICENCE.txt +++ b/prima/LICENCE.txt @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2020--2024, Zaikun ZHANG ( https://www.zhangzk.net ) +Copyright (c) 2020--2025, Zaikun ZHANG ( https://www.zhangzk.net ) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/prima/README.md b/prima/README.md index 5736f32..b99cd15 100644 --- a/prima/README.md +++ b/prima/README.md @@ -33,17 +33,13 @@ It provides the reference implementation for Powell's renowned derivative-free o The "P" in the name stands for [**P**owell](https://www.zhangzk.net/powell.html), and "RIMA" is an acronym for "**R**eference **I**mplementation with **M**odernization and **A**melioration". -PRIMA is part of a research project funded by the -[Hong Kong Research Grants Council](https://www.ugc.edu.hk/eng/rgc) and -the [Department of Applied Mathematics](https://www.polyu.edu.hk/ama) (AMA) at the -[Hong Kong Polytechnic University](https://www.polyu.edu.hk) (PolyU). The current version is ready to be used [in Fortran](#modern-fortran), [in C](#c), [in Python](https://github.com/libprima/prima#python), [in MATLAB](https://github.com/libprima/prima/blob/main/README_mat.md), and [in Julia](https://juliahub.com/ui/Packages/General/PRIMA). PRIMA was initiated by [Zaikun Zhang](https://www.zhangzk.net) in July 2020, based on -the [PDFO](https://www.pdfo.net) package by [Tom M. Ragonneau](https://tomragonneau.com/) and Zaikun Zhang. +the [PDFO](https://www.pdfo.net) package. See [Zaikun Zhang's talk](https://raw.githubusercontent.com/ztalks/20230825-iciam23/main/20230825-iciam.pdf) on PRIMA at [The 10th International Congress on Industrial and Applied Mathematics](https://iciam2023.org/) for more information. @@ -116,8 +112,9 @@ evaluations](https://github.com/libprima/prima/blob/main/matlab/tests/private/to periodically to verify that the solvers work correctly without running into errors when applied to **excessively large problems**. -The tests are **automated** by -[GitHub Actions](https://docs.github.com/en/actions). As of August 2023, more than +[The tests](./tests.md) are **automated** by +[GitHub Actions](https://docs.github.com/en/actions). +As of August 2023, more than 45,000 "workflows" have been successfully run by GitHub Actions. Normally, each workflow consists of \~ 5 ([sometimes more than 200](https://github.com/primalib/prima/actions/runs/5763631681)) **randomized** tests, @@ -126,103 +123,6 @@ is 6 hours, after which the test will be canceled automatically). In other words PRIMA has been verified by more than 200,000 hours (or **more than 20 years**) of randomized tests. **Code must be battle-tested before becoming software.** -Since each GitHub Team account can only run at most 60 GitHub Actions workflows concurrently, I have -to distribute this large amount of tests to multiple Team accounts as follows. - -- [Tests](https://github.com/libprima/prima/actions) at [libprima/prima](https://github.com/libprima/prima) - - - [![CMake build](https://github.com/libprima/prima/actions/workflows/cmake.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/cmake.yml) - - [![CMake build, nagfor](https://github.com/libprima/prima/actions/workflows/cmake_nagfor.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/cmake_nagfor.yml) - - [![CMake build, macOS ARM64](https://github.com/libprima/prima/actions/workflows/cmake_mac.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/cmake_mac.yml) - - [![CMake build, macOS ARM64, nagfor](https://github.com/libprima/prima/actions/workflows/cmake_mac_nagfor.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/cmake_mac_nagfor.yml) - - [![Test nagfor, macOS ARM64](https://github.com/libprima/prima/actions/workflows/test_nagfor_mac.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/test_nagfor_mac.yml) - - [![Test matlab, macOS ARM64](https://github.com/libprima/prima/actions/workflows/test_matlab_mac.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/test_matlab_mac.yml) - - [![Stress test, matlab, macOS ARM64](https://github.com/libprima/prima/actions/workflows/stress_test_matlab_mac.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/stress_test_matlab_mac.yml) - - [![Parallel test, matlab, macOS ARM64](https://github.com/libprima/prima/actions/workflows/parallel_test_matlab_mac.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/parallel_test_matlab_mac.yml) - - [![Recursive test, matlab, macOS ARM64](https://github.com/libprima/prima/actions/workflows/recursive_test_matlab_mac.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/recursive_test_matlab_mac.yml) - - [![Test nagfor](https://github.com/libprima/prima/actions/workflows/test_nagfor.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/test_nagfor.yml) - - [![Build Python wheels](https://github.com/libprima/prima/actions/workflows/build_python.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/build_python.yml) - - [![Compile MEX](https://github.com/libprima/prima/actions/workflows/compile_mex.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/compile_mex.yml) - - [![Lint the Fortran code and the MEX gateways with nagfor](https://github.com/libprima/prima/actions/workflows/lint_nagfor.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/lint_nagfor.yml) - -- [Tests](https://github.com/libsprima/prima/actions) at [libsprima/prima](https://github.com/libsprima/prima) - - [![Verification, small](https://github.com/libsprima/prima/actions/workflows/verify_small.yml/badge.svg)](https://github.com/libsprima/prima/actions/workflows/verify_small.yml) - - [![Verification, big](https://github.com/libsprima/prima/actions/workflows/verify_big.yml/badge.svg)](https://github.com/libsprima/prima/actions/workflows/verify_big.yml) - - [![Verification, large](https://github.com/libsprima/prima/actions/workflows/verify_large.yml/badge.svg)](https://github.com/libsprima/prima/actions/workflows/verify_large.yml) - - [![Plot performance profiles for lincoa](https://github.com/libsprima/prima/actions/workflows/profile_lincoa_small.yml/badge.svg)](https://github.com/libsprima/prima/actions/workflows/profile_lincoa_small.yml) - -- [Tests](https://github.com/primapack/prima/actions) at [primapack/prima](https://github.com/primapack/prima) - - - [![Plot performance profiles for cobyla, small](https://github.com/primapack/prima/actions/workflows/profile_cobyla_small.yml/badge.svg)](https://github.com/primapack/prima/actions/workflows/profile_cobyla_small.yml) - - [![Plot performance profiles for uobyqa, small](https://github.com/primapack/prima/actions/workflows/profile_uobyqa_small.yml/badge.svg)](https://github.com/primapack/prima/actions/workflows/profile_uobyqa_small.yml) - - [![Plot performance profiles for newuoa, small](https://github.com/primapack/prima/actions/workflows/profile_newuoa_small.yml/badge.svg)](https://github.com/primapack/prima/actions/workflows/profile_newuoa_small.yml) - - [![Plot performance profiles for bobyqa, small](https://github.com/primapack/prima/actions/workflows/profile_bobyqa_small.yml/badge.svg)](https://github.com/primapack/prima/actions/workflows/profile_bobyqa_small.yml) - - [![Plot performance profiles for PRIMA, small](https://github.com/primapack/prima/actions/workflows/profile_prima_small.yml/badge.svg)](https://github.com/primapack/prima/actions/workflows/profile_prima_small.yml) - -- [Tests](https://github.com/fortlab/prima/actions) at [fortlab/prima](https://github.com/fortlab/prima) - - - [![Plot performance profiles for all problems, single and quadruple](https://github.com/fortlab/prima/actions/workflows/profile_all_sq.yml/badge.svg)](https://github.com/fortlab/prima/actions/workflows/profile_all_sq.yml) - - [![Plot performance profiles for cobyla, small, single and quadruple](https://github.com/fortlab/prima/actions/workflows/profile_cobyla_small_sq.yml/badge.svg)](https://github.com/fortlab/prima/actions/workflows/profile_cobyla_small_sq.yml) - - [![Plot performance profiles for uobyqa, small, single and quadruple](https://github.com/fortlab/prima/actions/workflows/profile_uobyqa_small_sq.yml/badge.svg)](https://github.com/fortlab/prima/actions/workflows/profile_uobyqa_small_sq.yml) - - [![Plot performance profiles for newuoa, small, single and quadruple](https://github.com/fortlab/prima/actions/workflows/profile_newuoa_small_sq.yml/badge.svg)](https://github.com/fortlab/prima/actions/workflows/profile_newuoa_small_sq.yml) - - [![Plot performance profiles for bobyqa, small, single and quadruple](https://github.com/fortlab/prima/actions/workflows/profile_bobyqa_small_sq.yml/badge.svg)](https://github.com/fortlab/prima/actions/workflows/profile_bobyqa_small_sq.yml) - - [![Plot performance profiles for lincoa, small, single and quadruple](https://github.com/fortlab/prima/actions/workflows/profile_lincoa_small_sq.yml/badge.svg)](https://github.com/fortlab/prima/actions/workflows/profile_lincoa_small_sq.yml) - -- [Tests](https://github.com/primalib/prima/actions) at [primalib/prima](https://github.com/primalib/prima) - - - [![Verification, archiva](https://github.com/primalib/prima/actions/workflows/verify_archiva.yml/badge.svg)](https://github.com/primalib/prima/actions/workflows/verify_archiva.yml) - - [![Plot performance profiles for all problems](https://github.com/primalib/prima/actions/workflows/profile_all.yml/badge.svg)](https://github.com/primalib/prima/actions/workflows/profile_all.yml) - - [![Plot performance profiles, single](https://github.com/primalib/prima/actions/workflows/profile_single.yml/badge.svg)](https://github.com/primalib/prima/actions/workflows/profile_single.yml) - - [![Plot performance profiles, quadruple](https://github.com/primalib/prima/actions/workflows/profile_quadruple.yml/badge.svg)](https://github.com/primalib/prima/actions/workflows/profile_quadruple.yml) - - [![Plot performance profiles, int16 and int64](https://github.com/primalib/prima/actions/workflows/profile_integer_kind.yml/badge.svg)](https://github.com/primalib/prima/actions/workflows/profile_integer_kind.yml) - - [![Plot performance profiles, infnan](https://github.com/primalib/prima/actions/workflows/profile_infnan.yml/badge.svg)](https://github.com/primalib/prima/actions/workflows/profile_infnan.yml) - - [![Plot performance profiles, various compiler options](https://github.com/primalib/prima/actions/workflows/profile_compiler_options.yml/badge.svg)](https://github.com/primalib/prima/actions/workflows/profile_compiler_options.yml) - - [![Plot performance profiles, various npt](https://github.com/primalib/prima/actions/workflows/profile_npt.yml/badge.svg)](https://github.com/primalib/prima/actions/workflows/profile_npt.yml) - -- [Tests](https://github.com/opt4ai/prima/actions) at [opt4ai/prima](https://github.com/opt4ai/prima) - - - [![Test MATLAB](https://github.com/opt4ai/prima/actions/workflows/test_matlab.yml/badge.svg)](https://github.com/opt4ai/prima/actions/workflows/test_matlab.yml) - - [![Test MATLAB, Linux](https://github.com/opt4ai/prima/actions/workflows/test_matlab_linux.yml/badge.svg)](https://github.com/opt4ai/prima/actions/workflows/test_matlab_linux.yml) - -- [Tests](https://github.com/opt2ai/prima/actions) at [opt2ai/prima](https://github.com/opt2ai/prima) - - - [![Test MATLAB, macOS Intel](https://github.com/opt2ai/prima/actions/workflows/test_matlab_mac_intel.yml/badge.svg)](https://github.com/opt2ai/prima/actions/workflows/test_matlab_mac_intel.yml) - - [![Test MATLAB, Windows](https://github.com/opt2ai/prima/actions/workflows/test_matlab_windows.yml/badge.svg)](https://github.com/opt2ai/prima/actions/workflows/test_matlab_windows.yml) - -- [Tests](https://github.com/sprimalib/prima/actions) at [sprimalib/prima](https://github.com/sprimalib/prima) - - - [![Stress test on large problems, MATLAB](https://github.com/sprimalib/prima/actions/workflows/stress_test_matlab.yml/badge.svg)](https://github.com/sprimalib/prima/actions/workflows/stress_test_matlab.yml) - - [![Stress test on large problems, Fortran](https://github.com/sprimalib/prima/actions/workflows/stress_test_fortran.yml/badge.svg)](https://github.com/sprimalib/prima/actions/workflows/stress_test_fortran.yml) - -- [Tests](https://github.com/zequipe/prima/actions) at [zequipe/prima](https://github.com/zequipe/prima) - - [![Parallel test, MATLAB](https://github.com/zequipe/prima/actions/workflows/parallel_test_matlab.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/parallel_test_matlab.yml) - - [![Recursive test, MATLAB](https://github.com/zequipe/prima/actions/workflows/recursive_test_matlab.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/recursive_test_matlab.yml) - - [![Test Flang](https://github.com/zequipe/prima/actions/workflows/test_flang.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/test_flang.yml) - - [![Test Flang in AMD AOCC](https://github.com/zequipe/prima/actions/workflows/test_aflang.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/test_aflang.yml) - - [![Test nvfortran](https://github.com/zequipe/prima/actions/workflows/test_nvfortran.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/test_nvfortran.yml) - - [![Test Oracle sunf95](https://github.com/zequipe/prima/actions/workflows/test_sunf95.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/test_sunf95.yml) - - [![Test g95](https://github.com/zequipe/prima/actions/workflows/test_g95.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/test_g95.yml) - - [![Test RESCUE and IDZ, classical](https://github.com/zequipe/prima/actions/workflows/profile_rescue_idz_classical.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/profile_rescue_idz_classical.yml) - - [![Test RESCUE and IDZ, modernized](https://github.com/zequipe/prima/actions/workflows/profile_rescue_idz_modernized.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/profile_rescue_idz_modernized.yml) - -- [Tests](https://github.com/equipez/prima/actions) at [equipez/prima](https://github.com/equipez/prima) - - [![Test gfortran on Kunpeng](https://github.com/equipez/prima/actions/workflows/test_gfortran_kunpeng.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/test_gfortran_kunpeng.yml) - - [![Test Flang on Kunpeng](https://github.com/equipez/prima/actions/workflows/test_flang_kunpeng.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/test_flang_kunpeng.yml) - - [![Test nvfortran on Kunpeng](https://github.com/equipez/prima/actions/workflows/test_nvfortran_kunpeng.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/test_nvfortran_kunpeng.yml) - - [![Test armflang on Kunpeng](https://github.com/equipez/prima/actions/workflows/test_armflang_kunpeng.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/test_armflang_kunpeng.yml) - - [![CMake build on Raspberry Pi](https://github.com/equipez/prima/actions/workflows/cmake_pi.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/cmake_pi.yml) - - [![Test gfortran on Raspberry Pi](https://github.com/equipez/prima/actions/workflows/test_gfortran_pi64.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/test_gfortran_pi64.yml) - - [![Test Flang on Raspberry Pi](https://github.com/equipez/prima/actions/workflows/test_flang_pi.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/test_flang_pi.yml) - - [![Test armflang on Raspberry Pi](https://github.com/equipez/prima/actions/workflows/test_armflang_pi.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/test_armflang_pi.yml) - - [![Test nvfortran on Raspberry Pi](https://github.com/equipez/prima/actions/workflows/test_nvfortran_pi.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/test_nvfortran_pi.yml) - -- [Tests](https://github.com/s-prima/prima/actions) at [s-prima/prima](https://github.com/s-prima/prima) - - - [![Lint the Fortran code and the MEX gateways on GitHub hosted runners](https://github.com/s-prima/prima/actions/workflows/lint_hosted.yml/badge.svg)](https://github.com/s-prima/prima/actions/workflows/lint_hosted.yml) - - [![Test gfortran](https://github.com/s-prima/prima/actions/workflows/test_gfortran.yml/badge.svg)](https://github.com/s-prima/prima/actions/workflows/test_gfortran.yml) - - [![Test ifort](https://github.com/s-prima/prima/actions/workflows/test_ifort.yml/badge.svg)](https://github.com/s-prima/prima/actions/workflows/test_ifort.yml) - - [![Test ifx](https://github.com/s-prima/prima/actions/workflows/test_ifx.yml/badge.svg)](https://github.com/s-prima/prima/actions/workflows/test_ifx.yml) - ### Current status @@ -270,8 +170,7 @@ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/../../../install/lib ./install/bin/cobyla_ #### Python - An [interface](./python) is provided for [using the **modern** Fortran implementation in Python](./python/examples/rosenbrock.py). -- The inclusion of PRIMA into SciPy is [under discussion](https://github.com/scipy/scipy/issues/18118). It will replace the [buggy](#bug-fixes) and unmaintained Fortran 77 version of [COBYLA underlying `scipy.optimize.minimize`](https://docs.scipy.org/doc/scipy/reference/optimize.minimize-cobyla.html#optimize-minimize-cobyla), and make the other four solvers available to all SciPy users. -- A [native Python implementation of PRIMA](https://github.com/libprima/prima/pull/37) is under development. +- SciPy 1.16.0 replaces the [buggy](#bug-fixes) and unmaintained Fortran 77 version of [COBYLA underlying `scipy.optimize.minimize`](https://docs.scipy.org/doc/scipy/reference/optimize.minimize-cobyla.html#optimize-minimize-cobyla) with the PRIMA version, which is a **faithful** Python translation of the **[modern Fortran implementation](./fortran/cobyla)**. #### MATLAB @@ -282,6 +181,7 @@ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/../../../install/lib ./install/bin/cobyla_ implemented in MATLAB similarly. #### Julia + - A [Julia interface](https://juliahub.com/ui/Packages/General/PRIMA) is provided by [`PRIMA.jl`](https://github.com/libprima/prima.jl). It is registered in the General Registry of Julia as @@ -293,6 +193,9 @@ It is registered in the General Registry of Julia as - Given the **modern** Fortran version, **native implementations** in other languages become **much easier**, because we now have a structured and modularized implementation as a reference. My team will implement the methods in other languages in this way. +For instance, see the [MATLAB version of NEWUOA](https://github.com/libprima/prima/blob/main/matlab/interfaces/%2Bnewuoa_mat) +and the [Python version of COBYLA](https://github.com/libprima/prima/tree/main/pyprima/src/pyprima/cobyla) +([included in SciPy](https://docs.scipy.org/doc/scipy/reference/optimize.minimize-cobyla.html#optimize-minimize-cobyla) since 1.16.0). This is the main motivation for developing the **modern** Fortran version first — to provide a modernized reference implementation for the development in other languages. @@ -427,28 +330,42 @@ I did this for three years and I do not want anyone else to do it again. PRIMA is dedicated to the memory of the late [Professor Powell](https://www.zhangzk.net/powell.html) with gratitude for his inspiration and for the wealth he left to us. -I am grateful to [Professor Ya-xiang Yuan](http://lsec.cc.ac.cn/~yyx) for his everlasting encouragement and support. +I am profoundly grateful to [Professor Ya-xiang Yuan](http://lsec.cc.ac.cn/~yyx) for his everlasting encouragement and support. + +During the years working on PRIMA, due to the gap in my publication record, I needed a lot of +support from the optimization community and beyond. +**Thank you for help, known or unknown to me, explicit or implicit, without which I would not have survived.** The development of PRIMA would have been a mission impossible without the groundwork laid by the [PDFO](https://www.pdfo.net) -package of [Tom M. Ragonneau](https://tomragonneau.com/) and Zaikun Zhang. PDFO is Chapter 3 of -Ragonneau's [thesis](https://tomragonneau.com/documents/thesis.pdf) co-supervised by Zaikun Zhang and Professor [Xiaojun Chen](https://www.polyu.edu.hk/ama/staff/xjchen/ChenXJ.htm), with financial support from -the [Hong Kong Ph.D. Fellowship Scheme](https://cerg1.ugc.edu.hk/hkpfs/index.html) (ref. PF18-24698). +package of [Tom M. Ragonneau](https://tomragonneau.com/) and Zaikun Zhang. PRIMA is a long-term project, which would not have been sustainable without the continued funds from the -[Hong Kong Research Grants Council](https://www.ugc.edu.hk/eng/rgc/) (ref. PolyU 253012/17P, PolyU 153054/20P, -PolyU 153066/21P, and PolyU 153086/23P) and [The Hong Kong Polytechnic University](https://www.polyu.edu.hk/) (PolyU), -in particular the [Department of Applied Mathematics](https://www.polyu.edu.hk/ama) (AMA). +[National Natural Science Foundation of China](https://www.nsfc.gov.cn/english/site_1/index.html) (NSFC), +[Hong Kong Research Grants Council](https://www.ugc.edu.hk/eng/rgc) (RGC; +ref. PolyU 253012/17P, PolyU 153054/20P, PolyU 153066/21P, and PolyU 153086/23P) +[Sun Yat-sen University](https://en.wikipedia.org/wiki/Sun_Yat-sen_University) +(particularly the [School of Mathematics](https://math.sysu.edu.cn/page/25)), and +[The Hong Kong Polytechnic University](https://www.polyu.edu.hk) (particularly the +[Department of Applied Mathematics](https://www.polyu.edu.hk/ama)). +Last but not least, I am deeply grateful to the [contributors](https://github.com/libprima/prima/graphs/contributors) +from the open-source community. ### Citing PRIMA -PRIMA has taken me significant energy and time. I will be delighted if it is useful to you. All I need is a citation / acknowledgment. -Note that PRIMA contains [bug fixes](#bug-fixes) and [improvements](#improvements) that do not exist in Powell's original -implementation of the solvers. Results produced by PRIMA may not be reproducible using the original solvers. +PRIMA has taken me significant energy and time. I will be delighted if it is useful to you. All I need is a citation / acknowledgment, +**which is crucial for the sustainability of the project, as software development is not well recognized in academia despite +[its importance](https://xkcd.com/2347/) and the significant efforts it requires**. + +Note that PRIMA contains [bug fixes](#bug-fixes) and [improvements](#improvements) that do not exist in Powell's Fortran 77 +implementation of the solvers. Results produced by PRIMA are surely different from Powell's original solvers. Therefore, +**it is important to point out that you are using PRIMA rather than the original solvers if you want your results to be reproducible**. +It is wrong to pretend that PRIMA is just Powell's original solvers. If you use PRIMA, please cite it as follows. The citation will be pointed to my paper on PRIMA when I finish it. -[1] Z. Zhang, PRIMA: Reference Implementation for Powell's Methods with Modernization and Amelioration, available at http://www.libprima.net, [DOI: 10.5281/zenodo.8052654](https://doi.org/10.5281/zenodo.8052654), 2023 +[1] Z. Zhang, PRIMA: Reference Implementation for Powell's Methods with Modernization and Amelioration, +available at https://www.libprima.net, [DOI: 10.5281/zenodo.8052654](https://doi.org/10.5281/zenodo.8052654), 2023 ```bibtex @misc{Zhang_2023, @@ -462,8 +379,8 @@ If you use PRIMA, please cite it as follows. The citation will be pointed to my In addition, Powell’s methods can be cited as follows. [2] M. J. D. Powell, A direct search optimization method that models the -objective and constraint functions by linear interpolation, In Advances -in *Optimization and Numerical Analysis*, *eds.* S. Gomez and J. P. Hennart, +objective and constraint functions by linear interpolation, +In *Advances in Optimization and Numerical Analysis*, *eds.* S. Gomez and J. P. Hennart, pages 51--67, Springer Verlag, Dordrecht, Netherlands, 1994 [3] M. J. D. Powell, UOBYQA: unconstrained optimization by quadratic @@ -479,8 +396,8 @@ Department of Applied Mathematics and Theoretical Physics, Cambridge University, Cambridge, UK, 2009 [6] T. M. Ragonneau and Z. Zhang, -[PDFO: a cross-platform package for Powell's derivative-free optimization solvers](https://arxiv.org/pdf/2302.13246.pdf), -arXiv:2302.13246, 2023 +[PDFO: a cross-platform package for Powell's derivative-free optimization solvers](https://link.springer.com/article/10.1007/s12532-024-00257-9), +*Math. Program. Comput.*, 16:535--559, 2024 **Remarks** @@ -489,8 +406,8 @@ arXiv:2302.13246, 2023 linear inequality constraints without using derivatives of the objective function. Powell did not publish a paper to introduce the algorithm. -- [The paper [6]](https://arxiv.org/pdf/2302.13246.pdf) introduces [the PDFO package](https://www.pdfo.net) -rather than PRIMA. Nevertheless, it provides a good introduction to Powell's methods. +- [The paper [6]](https://link.springer.com/article/10.1007/s12532-024-00257-9) introduces [the PDFO package](https://www.pdfo.net) +rather than PRIMA. Nevertheless, it provides probably the most accessible introduction to Powell's methods. ### Charityware @@ -521,7 +438,7 @@ Zaikun Zhang](https://www.zhangzk.net). ### Star history -[stardev](https://stardev.io/) ranking: [28 among 30,975](https://stardev.io/top/repos/fortran?developer=libprima&repo=prima) Fortran repos as of Jan. 2024. +[stardev](https://stardev.io/) ranking: [28 among 37,983](https://stardev.io/top/repos/fortran?developer=libprima&repo=prima) Fortran repos as of April 2025. diff --git a/prima/pyprima/profiles_vs_matlab/.gitignore b/prima/pyprima/profiles_vs_matlab/.gitignore new file mode 100644 index 0000000..fa9567d --- /dev/null +++ b/prima/pyprima/profiles_vs_matlab/.gitignore @@ -0,0 +1,2 @@ +pycutest_cache_holder +out diff --git a/prima/pyprima/profiles_vs_matlab/README.md b/prima/pyprima/profiles_vs_matlab/README.md new file mode 100644 index 0000000..d796073 --- /dev/null +++ b/prima/pyprima/profiles_vs_matlab/README.md @@ -0,0 +1,7 @@ +This folder contains scripts and utilities to run performance profiles of the PRIMA Python bindings against the PRIMA MATLAB bindings. + +In general we expect the performance profiles to show a straight line for both the output based and history based profiles since the underlying code is the same. However since there are bound to be some differences in how MATLAB and Python handle floating point arithmetic we expect to see a few cases where one might perform slightly "better" than the other. + +In order to use this you will need Python and MATLAB and in the MATLAB GUI you should have run setup.m from the root of the repo. If that has been completed you should be able to run the profiles with simply `python profiles.py`. By default no profiles will be run, so you need to specify which algorithm you'd like to run profiles for using any combination of `-b` for BOBYQA, `-c` for COBYLA, `-l` for LINCOA, `-n` for NEWUOA, and `-u` for UOBYQA. You can also use `-j#` to change the number of jobs used to run the problems. For example to run both UOBYQA and NEWUOA with 4 jobs, you would run `python profiles.py -nuj4`. + +It is not necessary to have a MATLAB window open to run the profiles. Each job will create an instance of the MATLAB engine for Python. Please note that this instance takes up about 500MB of memory so you may want to limit the number of jobs accordingly. \ No newline at end of file diff --git a/prima/pyprima/profiles_vs_matlab/bobyqa.txt b/prima/pyprima/profiles_vs_matlab/bobyqa.txt new file mode 100644 index 0000000..95e470a --- /dev/null +++ b/prima/pyprima/profiles_vs_matlab/bobyqa.txt @@ -0,0 +1,220 @@ +AIRCRFTB +AKIVA +ALLINIT +ALLINITU +BARD +BEALE +BENNETT5LS +BIGGS3 +BIGGS5 +BIGGS6 +BOX2 +BOX3 +BOXBODLS +BRANIN +BRKMCC +BROWNBS +BROWNDEN +CAMEL6 +CERI651ALS +CERI651BLS +CERI651CLS +CERI651DLS +CERI651ELS +CHWIRUT1LS +CHWIRUT2LS +CLIFF +CLUSTERLS +COOLHANSLS +CUBE +DANIWOODLS +DANWOODLS +DENSCHNA +DENSCHNB +DENSCHNC +DENSCHND +DENSCHNE +DENSCHNF +DEVGLA1 +DEVGLA1B +DEVGLA2 +DEVGLA2B +DGOSPEC +DJTL +ECKERLE4LS +EG1 +EGGCRATE +EGGCRATEB +ELATVIDU +ELATVIDUB +ENGVAL2 +ENSOLS +EXP2 +EXP2B +EXPFIT +FBRAIN2LS +FBRAIN3LS +FBRAINLS +GAUSS1LS +GAUSS2LS +GAUSS3LS +GAUSSIAN +GBRAINLS +GROWTHLS +GULF +HAHN1LS +HAIRY +HART6 +HATFLDA +HATFLDB +HATFLDD +HATFLDE +HATFLDFL +HATFLDFLS +HEART6LS +HEART8LS +HELIX +HIELOW +HILBERTA +HILBERTB +HIMMELBB +HIMMELBCLS +HIMMELBF +HIMMELBG +HIMMELBH +HIMMELP1 +HS1 +HS110 +HS2 +HS25 +HS3 +HS38 +HS3MOD +HS4 +HS45 +HS5 +HUMPS +JENSMP +JUDGE +JUDGEB +KIRBY2LS +KOEBHELB +KOWOSB +LANCZOS1LS +LANCZOS2LS +LANCZOS3LS +LEVYMONT10 +LEVYMONT5 +LEVYMONT6 +LEVYMONT7 +LEVYMONT8 +LEVYMONT9 +LOGHAIRY +LOGROS +LSC1LS +LSC2LS +MARATOSB +MAXLIKA +MDHOLE +MEXHAT +MEYER3 +MGH09LS +MGH10LS +MGH10SLS +MGH17LS +MGH17SLS +MISRA1ALS +MISRA1BLS +MISRA1CLS +MISRA1DLS +NELSONLS +OSBORNEA +OSBORNEB +OSLBQP +PALMER1 +PALMER1A +PALMER1B +PALMER1C +PALMER1D +PALMER1E +PALMER2 +PALMER2A +PALMER2B +PALMER2C +PALMER2E +PALMER3 +PALMER3A +PALMER3B +PALMER3C +PALMER3E +PALMER4 +PALMER4A +PALMER4B +PALMER4C +PALMER4E +PALMER5A +PALMER5B +PALMER5C +PALMER5D +PALMER5E +PALMER6A +PALMER6C +PALMER6E +PALMER7A +PALMER7C +PALMER7E +PALMER8A +PALMER8C +PALMER8E +PARKCH +PFIT1LS +PFIT2LS +PFIT3LS +PFIT4LS +POWELLBSLS +POWELLSQLS +POWERSUM +POWERSUMB +PRICE3 +PRICE3B +PRICE4 +PRICE4B +PSPDOC +QINGB +RAT42LS +RAT43LS +RECIPELS +ROSENBR +ROSENBRTU +ROSZMAN1LS +S308 +S368 +SIM2BQP +SIMBQP +SINEVAL +SISSER +SNAIL +SPECAN +SSI +STRATEC +STREG +STRTCHDV +STRTCHDVB +THURBERLS +TRIGON1 +TRIGON1B +TRIGON2 +TRIGON2B +VESUVIALS +VESUVIOLS +VESUVIOULS +VIBRBEAM +WATSON +WAYSEA1 +WAYSEA1B +WAYSEA2 +WAYSEA2B +WEEDS +YFIT +YFITU +ZANGWIL2 diff --git a/prima/pyprima/profiles_vs_matlab/cobyla.txt b/prima/pyprima/profiles_vs_matlab/cobyla.txt new file mode 100644 index 0000000..40cb534 --- /dev/null +++ b/prima/pyprima/profiles_vs_matlab/cobyla.txt @@ -0,0 +1,654 @@ +AIRCRFTA +AIRCRFTB +AKIVA +ALLINIT +ALLINITA +ALLINITC +ALLINITU +ALSOTAME +ARGAUSS +AVGASA +AVGASB +BARD +BARDNE +BEALE +BEALENE +BENNETT5 +BENNETT5LS +BIGGS3 +BIGGS5 +BIGGS6 +BIGGS6NE +BIGGSC4 +BOOTH +BOX2 +BOX3 +BOX3NE +BOXBOD +BOXBODLS +BRANIN +BRKMCC +BROWNBS +BROWNBSNE +BROWNDEN +BROWNDENE +BT1 +BT10 +BT11 +BT12 +BT13 +BT2 +BT3 +BT4 +BT5 +BT6 +BT7 +BT8 +BT9 +BYRDSPHR +CAMEL6 +CANTILVR +CB2 +CB3 +CERI651A +CERI651ALS +CERI651B +CERI651BLS +CERI651C +CERI651CLS +CERI651D +CERI651DLS +CERI651E +CERI651ELS +CHACONN1 +CHACONN2 +CHWIRUT1 +CHWIRUT1LS +CHWIRUT2 +CHWIRUT2LS +CLIFF +CLUSTER +CLUSTERLS +CONCON +CONGIGMZ +COOLHANS +COOLHANSLS +CRESC100 +CRESC132 +CRESC4 +CRESC50 +CSFI1 +CSFI2 +CUBE +CUBENE +DANIWOOD +DANIWOODLS +DANWOOD +DANWOODLS +DEGENLPA +DEGENLPB +DEMBO7 +DEMYMALO +DENSCHNA +DENSCHNB +DENSCHNBNE +DENSCHNC +DENSCHNCNE +DENSCHND +DENSCHNDNE +DENSCHNE +DENSCHNENE +DENSCHNF +DENSCHNFNE +DEVGLA1 +DEVGLA1B +DEVGLA1NE +DEVGLA2 +DEVGLA2B +DEVGLA2NE +DGOSPEC +DIPIGRI +DIXCHLNG +DJTL +DUALC1 +DUALC2 +DUALC5 +DUALC8 +ECKERLE4 +ECKERLE4LS +EG1 +EGGCRATE +EGGCRATEB +EGGCRATENE +ELATTAR +ELATVIDU +ELATVIDUB +ELATVIDUNE +ENGVAL2 +ENGVAL2NE +ENSO +ENSOLS +EQC +ERRINBAR +EXP2 +EXP2B +EXP2NE +EXPFIT +EXPFITA +EXPFITB +EXPFITC +EXPFITNE +EXTRASIM +FBRAIN +FBRAIN2 +FBRAIN2LS +FBRAIN2NE +FBRAIN3 +FBRAIN3LS +FBRAINLS +FBRAINNE +FCCU +FLETCHER +FLT +FREURONE +GAUSS1 +GAUSS1LS +GAUSS2 +GAUSS2LS +GAUSS3 +GAUSS3LS +GAUSSIAN +GBRAIN +GBRAINLS +GENHS28 +GIGOMEZ1 +GIGOMEZ2 +GIGOMEZ3 +GOTTFR +GROWTH +GROWTHLS +GULF +GULFNE +HAHN1 +HAHN1LS +HAIFAS +HAIRY +HALDMADS +HART6 +HATFLDA +HATFLDANE +HATFLDB +HATFLDBNE +HATFLDD +HATFLDDNE +HATFLDE +HATFLDENE +HATFLDF +HATFLDFL +HATFLDFLNE +HATFLDFLS +HATFLDH +HEART6 +HEART6LS +HEART8 +HEART8LS +HELIX +HELIXNE +HET-Z +HIELOW +HILBERTA +HILBERTB +HIMMELBA +HIMMELBB +HIMMELBC +HIMMELBCLS +HIMMELBD +HIMMELBE +HIMMELBF +HIMMELBFNE +HIMMELBG +HIMMELBH +HIMMELP1 +HIMMELP2 +HIMMELP3 +HIMMELP4 +HIMMELP5 +HIMMELP6 +HONG +HS1 +HS10 +HS100 +HS100LNP +HS100MOD +HS101 +HS102 +HS103 +HS104 +HS105 +HS106 +HS107 +HS108 +HS109 +HS11 +HS110 +HS111 +HS111LNP +HS112 +HS113 +HS114 +HS116 +HS117 +HS118 +HS119 +HS12 +HS13 +HS14 +HS15 +HS16 +HS17 +HS18 +HS19 +HS1NE +HS2 +HS20 +HS21 +HS21MOD +HS22 +HS23 +HS24 +HS25 +HS25NE +HS26 +HS268 +HS27 +HS28 +HS29 +HS2NE +HS3 +HS30 +HS31 +HS32 +HS33 +HS34 +HS35 +HS35I +HS35MOD +HS36 +HS37 +HS38 +HS39 +HS3MOD +HS4 +HS40 +HS41 +HS42 +HS43 +HS44 +HS44NEW +HS45 +HS46 +HS47 +HS48 +HS49 +HS5 +HS50 +HS51 +HS52 +HS53 +HS54 +HS55 +HS56 +HS57 +HS59 +HS6 +HS60 +HS61 +HS62 +HS63 +HS64 +HS65 +HS66 +HS68 +HS69 +HS7 +HS70 +HS71 +HS72 +HS73 +HS74 +HS75 +HS76 +HS76I +HS77 +HS78 +HS79 +HS8 +HS80 +HS81 +HS83 +HS84 +HS85 +HS86 +HS87 +HS88 +HS89 +HS9 +HS90 +HS91 +HS92 +HS93 +HS95 +HS96 +HS97 +HS98 +HS99 +HUBFIT +HUMPS +HYPCIR +INTEQNE +JENSMP +JENSMPNE +JUDGE +JUDGEB +JUDGENE +KIRBY2 +KIRBY2LS +KIWCRESC +KOEBHELB +KOEBHELBNE +KOWOSB +KOWOSBNE +KSIP +LANCZOS1 +LANCZOS1LS +LANCZOS2 +LANCZOS2LS +LANCZOS3 +LANCZOS3LS +LEVYMONE10 +LEVYMONE5 +LEVYMONE6 +LEVYMONE7 +LEVYMONE8 +LEVYMONE9 +LEVYMONT10 +LEVYMONT5 +LEVYMONT6 +LEVYMONT7 +LEVYMONT8 +LEVYMONT9 +LEWISPOL +LIN +LOGHAIRY +LOGROS +LOOTSMA +LOTSCHD +LSC1 +LSC1LS +LSC2 +LSC2LS +LSNNODOC +LSQFIT +MADSEN +MAKELA1 +MAKELA2 +MARATOS +MARATOSB +MATRIX2 +MAXLIKA +MCONCON +MDHOLE +MEXHAT +MEYER3 +MEYER3NE +MGH09 +MGH09LS +MGH10 +MGH10LS +MGH10S +MGH10SLS +MGH17 +MGH17LS +MGH17S +MGH17SLS +MIFFLIN1 +MIFFLIN2 +MINMAXBD +MINMAXRB +MISRA1A +MISRA1ALS +MISRA1B +MISRA1BLS +MISRA1C +MISRA1CLS +MISRA1D +MISRA1DLS +MISTAKE +MOREBVNE +MWRIGHT +NELSON +NELSONLS +NYSTROM5 +NYSTROM5C +ODFITS +OET1 +OET2 +OET3 +OET4 +OET5 +OET6 +OET7 +OSBORNE1 +OSBORNE2 +OSBORNEA +OSBORNEB +OSCIPANE +OSLBQP +PALMER1 +PALMER1A +PALMER1ANE +PALMER1B +PALMER1BNE +PALMER1C +PALMER1D +PALMER1E +PALMER1ENE +PALMER1NE +PALMER2 +PALMER2A +PALMER2ANE +PALMER2B +PALMER2BNE +PALMER2C +PALMER2E +PALMER2ENE +PALMER2NE +PALMER3 +PALMER3A +PALMER3ANE +PALMER3B +PALMER3BNE +PALMER3C +PALMER3E +PALMER3ENE +PALMER3NE +PALMER4 +PALMER4A +PALMER4ANE +PALMER4B +PALMER4BNE +PALMER4C +PALMER4E +PALMER4ENE +PALMER4NE +PALMER5A +PALMER5ANE +PALMER5B +PALMER5BNE +PALMER5C +PALMER5D +PALMER5E +PALMER5ENE +PALMER6A +PALMER6ANE +PALMER6C +PALMER6E +PALMER6ENE +PALMER7A +PALMER7ANE +PALMER7C +PALMER7E +PALMER7ENE +PALMER8A +PALMER8ANE +PALMER8C +PALMER8E +PALMER8ENE +PARKCH +PENLT1NE +PENLT2NE +PENTAGON +PFIT1 +PFIT1LS +PFIT2 +PFIT2LS +PFIT3 +PFIT3LS +PFIT4 +PFIT4LS +POLAK1 +POLAK2 +POLAK3 +POLAK4 +POLAK5 +POLAK6 +PORTFL1 +PORTFL2 +PORTFL3 +PORTFL4 +PORTFL6 +POWELLBS +POWELLBSLS +POWELLSE +POWELLSQ +POWELLSQLS +POWERSUM +POWERSUMB +POWERSUMNE +PRICE3 +PRICE3B +PRICE3NE +PRICE4 +PRICE4B +PRICE4NE +PSPDOC +PT +QC +QCNEW +QINGB +RAT42 +RAT42LS +RAT43 +RAT43LS +RECIPE +RECIPELS +RES +RK23 +ROBOT +ROSENBR +ROSENBRTU +ROSENMMX +ROSZMAN1 +ROSZMAN1LS +RSNBRNE +S268 +S277-280 +S308 +S308NE +S316-322 +S365 +S365MOD +S368 +SCW1 +SIM2BQP +SIMBQP +SIMPLLPA +SIMPLLPB +SINEVAL +SINVALNE +SIPOW1 +SIPOW1M +SIPOW2 +SIPOW2M +SIPOW3 +SIPOW4 +SISSER +SNAIL +SNAKE +SPECAN +SPECANNE +SPIRAL +SSI +SSINE +STANCMIN +STRATEC +STREG +STREGNE +STRTCHDV +STRTCHDVB +STRTCHDVNE +SUPERSIM +SYNTHES1 +SYNTHES2 +SYNTHES3 +TAME +TENBARS1 +TENBARS2 +TENBARS3 +TENBARS4 +TFI1 +TFI2 +TFI3 +THURBER +THURBERLS +TRIGGER +TRIGON1 +TRIGON1B +TRIGON1NE +TRIGON2 +TRIGON2B +TRIGON2NE +TRUSPYR1 +TRUSPYR2 +TRY-B +TWOBARS +VARDIMNE +VESUVIA +VESUVIALS +VESUVIO +VESUVIOLS +VESUVIOU +VESUVIOULS +VIBRBEAM +VIBRBEAMNE +WACHBIEG +WATSON +WATSONNE +WAYSEA1 +WAYSEA1B +WAYSEA1NE +WAYSEA2 +WAYSEA2B +WAYSEA2NE +WEEDS +WEEDSNE +WOMFLET +YFIT +YFITNE +YFITU +ZANGWIL2 +ZANGWIL3 +ZECEVIC2 +ZECEVIC3 +ZECEVIC4 +ZY2 diff --git a/prima/pyprima/profiles_vs_matlab/excludelist.py b/prima/pyprima/profiles_vs_matlab/excludelist.py new file mode 100644 index 0000000..d996a6e --- /dev/null +++ b/prima/pyprima/profiles_vs_matlab/excludelist.py @@ -0,0 +1,133 @@ +def excludelist(problem_type): + # As of 20230426, the objective function of HS67 takes infinite time to be evaluated at some + # points, e.g., [88.1351318; 12829.9219; 1.0e-5], maybe due to an infinite cycling. + excludelist = ['HS76'] + # ARGLALE results in a segfault from slsqp when trying to project x0. We disable it for now + excludelist += ['ARGLALE', 'ARGLBLE', 'ARGLCLE'] + + if problem_type == 'unconstrained': + # With the following excludelist, there is no unconstrained problem in CUTEst (as of 20230130) with + # dimension between 51 and 100. + excludelist += [ + 'ARGTRIGLS', + 'BA-L1LS', + 'BA-L1SPLS', + 'BROWNAL', + 'CHNROSNB', + 'CHNRSNBM', + 'DIAMON2DLS', + 'DIAMON3DLS', + 'DMN15102LS', + 'DMN15103LS', + 'DMN15332LS', + 'DMN15333LS', + 'DMN37142LS', + 'DMN37143LS', + 'ERRINROS', + 'ERRINRSM', + 'HYDC20LS', + 'LUKSAN11LS', + 'LUKSAN12LS', + 'LUKSAN13LS', + 'LUKSAN14LS', + 'LUKSAN15LS', + 'LUKSAN16LS', + 'LUKSAN17LS', + 'LUKSAN22LS', + 'LUKSAN21LS', + 'LRCOVTYPE', + 'MANCINO', + 'QING', + 'SENSORS', + 'TOINTGOR', + 'TOINTPSP', + 'VARDIM', + ] + elif problem_type == 'bobyqa': + # For the following problems, the classical bobyqa (single-precision) encounters SEGFAULT. + excludelist += ['MGH17LS'] + elif problem_type == 'lincoa': + excludelist += [ + 'DALLASM', + 'TARGUS', + ] + elif problem_type == 'cobyla': + # The following problems were observed to take excessive time during tests GitHub Actions and + # make the tests run overtime. Some of them may not be very time-consuming during a "plain" + # test but become more challenging with some perturbations or variations. The excessive time may + # be also a result of infinite cycling encountered by the classical version of cobyla. + # The number following the problem is the time in seconds taken by cobyla in a "plain" test on + # 20230130, which tested all linearly and nonlinearly constrained problems with at most 100 + # variables and 10000 constraints. Bound-constrained or unconstrained problems were not tested. + excludelist += [ + 'ACOPP30' , + 'ACOPR30', + 'AIRPORT', # 73 + 'BATCH', # 20 + 'CHANDHEQ', # 17 + 'CHEBYQADNE', # 546 + 'CHNRSBNE', # 18 + 'CHNRSNBMNE', # 32 + 'CORE1', # 64 + 'CRESC100', + 'CRESC132', + 'CVXQP1', # 54 + 'DALLASS', # 3 (it takes a long time on GitHub Actions) + 'DECONVBNE', + 'DECONVC', # In a test on 20230328, the classical cobyla encountered infinite cycling. + 'DECONVNE', + 'DIAMON2D', # 1415 + 'DIAMON3D', # 3703 + 'DMN15102', # 887 + 'DMN15103', # 3205 + 'DMN15332', # 838 + 'DMN15333', # 1441 + 'DMN37142', # 857 + 'DMN37143', # 2406 + 'DUAL1', # 73 + 'DUAL2', # 30 + 'DUAL4', + 'ERRINRSMNE', # 16 + 'FBRAIN2', + 'FBRAIN2NE', + 'FBRAIN3', + 'FEEDLOC', + 'GOULDQP1', + 'HAIFAM', # 173 + 'HIMMELBI', # 100 + 'HIMMELBJ', + 'HYDCAR20', # 648 + 'HYDCAR6', + 'KISSING2', + 'LAKES', # 65 + 'LEVYMONE', # 15 + 'LHAIFAM', + 'LINSPANH', # 3 (it takes a long time on GitHub Actions) + 'LUKSAN11', + 'LUKSAN12', # 563 + 'LUKSAN13', # 508 + 'LUKSAN14', # 23 + 'LUKSAN15', # 19 + 'LUKSAN16', # 17 + 'LUKSAN17', # 25 + 'LUKSAN21', # 13 + 'LUKSAN22', # 19 + 'MANCINONE', + 'MSS1', # 39 + 'OET5', + 'OET6', + 'OET7', + 'QINGNE', + 'QPCBLEND' , + 'SPANHYD', # 15 + 'SWOPF', # 10 + 'TAX13322', # 5 + 'TAXR13322', # 5 + 'TRO4X4', # 30 + 'VANDERM1', # 72 + 'VANDERM2', # 72 + 'VANDERM3', # 76 + 'VESUVIO', + 'VESUVIOU', + ] + return excludelist \ No newline at end of file diff --git a/prima/pyprima/profiles_vs_matlab/lincoa.txt b/prima/pyprima/profiles_vs_matlab/lincoa.txt new file mode 100644 index 0000000..6388432 --- /dev/null +++ b/prima/pyprima/profiles_vs_matlab/lincoa.txt @@ -0,0 +1,308 @@ +AIRCRFTB +AKIVA +ALLINIT +ALLINITU +AVGASA +AVGASB +BARD +BEALE +BENNETT5LS +BIGGS3 +BIGGS5 +BIGGS6 +BIGGSC4 +BOOTH +BOX2 +BOX3 +BOXBODLS +BRANIN +BRKMCC +BROWNBS +BROWNDEN +BT3 +CAMEL6 +CERI651ALS +CERI651BLS +CERI651CLS +CERI651DLS +CERI651ELS +CHWIRUT1LS +CHWIRUT2LS +CLIFF +CLUSTERLS +COOLHANSLS +CUBE +DANIWOODLS +DANWOODLS +DEGENLPA +DEGENLPB +DENSCHNA +DENSCHNB +DENSCHNC +DENSCHND +DENSCHNE +DENSCHNF +DEVGLA1 +DEVGLA1B +DEVGLA2 +DEVGLA2B +DGOSPEC +DJTL +DUALC1 +DUALC2 +DUALC5 +DUALC8 +ECKERLE4LS +EG1 +EGGCRATE +EGGCRATEB +ELATVIDU +ELATVIDUB +ENGVAL2 +ENSOLS +EQC +EXP2 +EXP2B +EXPFIT +EXPFITA +EXPFITB +EXPFITC +EXTRASIM +FBRAIN2LS +FBRAIN3LS +FBRAINLS +FCCU +GAUSS1LS +GAUSS2LS +GAUSS3LS +GAUSSIAN +GBRAINLS +GENHS28 +GROWTHLS +GULF +HAHN1LS +HAIRY +HART6 +HATFLDA +HATFLDB +HATFLDD +HATFLDE +HATFLDFL +HATFLDFLS +HATFLDH +HEART6LS +HEART8LS +HELIX +HIELOW +HILBERTA +HILBERTB +HIMMELBA +HIMMELBB +HIMMELBCLS +HIMMELBF +HIMMELBG +HIMMELBH +HIMMELP1 +HONG +HS1 +HS105 +HS110 +HS112 +HS118 +HS119 +HS2 +HS21 +HS21MOD +HS24 +HS25 +HS268 +HS28 +HS3 +HS35 +HS35I +HS35MOD +HS36 +HS37 +HS38 +HS3MOD +HS4 +HS41 +HS44 +HS44NEW +HS45 +HS48 +HS49 +HS5 +HS50 +HS51 +HS52 +HS53 +HS54 +HS55 +HS62 +HS76 +HS76I +HS86 +HS9 +HUBFIT +HUMPS +JENSMP +JUDGE +JUDGEB +KIRBY2LS +KOEBHELB +KOWOSB +KSIP +LANCZOS1LS +LANCZOS2LS +LANCZOS3LS +LEVYMONT10 +LEVYMONT5 +LEVYMONT6 +LEVYMONT7 +LEVYMONT8 +LEVYMONT9 +LIN +LOGHAIRY +LOGROS +LOTSCHD +LSC1LS +LSC2LS +LSNNODOC +LSQFIT +MARATOSB +MAXLIKA +MDHOLE +MEXHAT +MEYER3 +MGH09LS +MGH10LS +MGH10SLS +MGH17LS +MGH17SLS +MISRA1ALS +MISRA1BLS +MISRA1CLS +MISRA1DLS +NELSONLS +ODFITS +OET1 +OET3 +OSBORNEA +OSBORNEB +OSLBQP +PALMER1 +PALMER1A +PALMER1B +PALMER1C +PALMER1D +PALMER1E +PALMER2 +PALMER2A +PALMER2B +PALMER2C +PALMER2E +PALMER3 +PALMER3A +PALMER3B +PALMER3C +PALMER3E +PALMER4 +PALMER4A +PALMER4B +PALMER4C +PALMER4E +PALMER5A +PALMER5B +PALMER5C +PALMER5D +PALMER5E +PALMER6A +PALMER6C +PALMER6E +PALMER7A +PALMER7C +PALMER7E +PALMER8A +PALMER8C +PALMER8E +PARKCH +PENTAGON +PFIT1LS +PFIT2LS +PFIT3LS +PFIT4LS +PORTFL1 +PORTFL2 +PORTFL3 +PORTFL4 +PORTFL6 +POWELLBSLS +POWELLSQLS +POWERSUM +POWERSUMB +PRICE3 +PRICE3B +PRICE4 +PRICE4B +PSPDOC +PT +QC +QCNEW +QINGB +RAT42LS +RAT43LS +RECIPELS +RES +ROSENBR +ROSENBRTU +ROSZMAN1LS +S268 +S277-280 +S308 +S368 +SCW1 +SIM2BQP +SIMBQP +SIMPLLPA +SIMPLLPB +SINEVAL +SIPOW1 +SIPOW1M +SIPOW2 +SIPOW2M +SIPOW3 +SIPOW4 +SISSER +SNAIL +SPECAN +SSI +STANCMIN +STRATEC +STREG +STRTCHDV +STRTCHDVB +SUPERSIM +TAME +TFI2 +TFI3 +THURBERLS +TRIGON1 +TRIGON1B +TRIGON2 +TRIGON2B +VESUVIALS +VESUVIOLS +VESUVIOULS +VIBRBEAM +WATSON +WAYSEA1 +WAYSEA1B +WAYSEA2 +WAYSEA2B +WEEDS +YFIT +YFITU +ZANGWIL2 +ZANGWIL3 +ZECEVIC2 diff --git a/prima/pyprima/profiles_vs_matlab/matlab_wrapper.m b/prima/pyprima/profiles_vs_matlab/matlab_wrapper.m new file mode 100644 index 0000000..310e8d6 --- /dev/null +++ b/prima/pyprima/profiles_vs_matlab/matlab_wrapper.m @@ -0,0 +1,61 @@ +function [x, fx, flags, details] = matlab_wrapper(port, algorithm, options, x0, lb, ub, Aineq, bineq, Aeq, beq, ... + num_nl_ineq_con, num_nl_eq_con, port_nonlcon) +arguments + port (1, 1) {mustBeGreaterThan(port, 1024), mustBeInteger} % Ports below 1024 are privileged. + algorithm (1, 1) string {mustBeMember(algorithm, {'bobyqa', 'cobyla', 'lincoa', 'newuoa', 'uobyqa'})} + options (1, 1) struct + x0 (:, 1) double + lb (:, 1) double = [] + ub (:, 1) double = [] + Aineq (:, :) double = [] + bineq (:, 1) double = [] + Aeq (:, :) double = [] + beq (:, 1) double = [] + num_nl_ineq_con (1, 1) {mustBeNonnegative} = 0 + num_nl_eq_con (1, 1) {mustBeNonnegative} = 0 + port_nonlcon (1, 1) {mustBeGreaterThan(port_nonlcon, 1024), mustBeInteger} = 8602 % Ports below 1024 are privileged. +end + +obj_fun_conn = tcpclient('127.0.0.1', port); +if algorithm == "bobyqa" + [x, fx, flags, details] = bobyqa(@obj_fun, x0, lb, ub, options); +elseif algorithm == "cobyla" + nonlcon_fun_conn = tcpclient('127.0.0.1', port_nonlcon); + [x, fx, flags, details] = cobyla(@obj_fun, x0, Aineq, bineq, Aeq, beq, lb, ub, @nonlcon, options); + clear nonlcon_fun_conn; % Close the connection +elseif algorithm == "lincoa" + [x, fx, flags, details] = lincoa(@obj_fun, x0, Aineq, bineq, Aeq, beq, lb, ub, options); +elseif algorithm == "newuoa" + [x, fx, flags, details] = newuoa(@obj_fun, x0, options); +elseif algorithm == "uobyqa" + [x, fx, flags, details] = uobyqa(@obj_fun, x0, options); +end + +clear obj_fun_conn; % Close the connection + +function f = obj_fun(x) + % Write x to the socket + write(obj_fun_conn, x, 'double'); + % Now Python should pick this up and run the function and write the result back to the socket + % We read the socket in a blocking manner + f = read(obj_fun_conn, 1, 'double'); +end + +function [cineq, ceq] = nonlcon(x) + % Write x to the socket + write(nonlcon_fun_conn, x, 'double'); + % Now Python should pick this up and run the function and write the result back to the socket + % We read the socket in a blocking manner + if num_nl_ineq_con == 0 + cineq = []; + else + cineq = read(nonlcon_fun_conn, num_nl_ineq_con, 'double'); + end + if num_nl_eq_con == 0 + ceq = []; + else + ceq = read(nonlcon_fun_conn, num_nl_eq_con, 'double'); + end +end + +end diff --git a/prima/pyprima/profiles_vs_matlab/profiles.py b/prima/pyprima/profiles_vs_matlab/profiles.py new file mode 100644 index 0000000..a886a4c --- /dev/null +++ b/prima/pyprima/profiles_vs_matlab/profiles.py @@ -0,0 +1,328 @@ +import numpy as np +import sys +import os +from excludelist import excludelist +from optiprofiler import set_cutest_problem_options, find_cutest_problems, run_benchmark +import argparse +from time import time +import matlab.engine +import threading +import socket +import struct + + +nondefault_options = lambda n, f0: { + 'ftarget' : f0 - 314, # if this is doable, 3.14 otherwise + 'maxfev' : 271*n, + 'npt' : int(min(3.14*n, n**1.23)), + 'rhobeg' : 2.718, + 'rhoend' : 3.14*1.0e-4, +} + + +def get_matlab_options(n, f0): + if os.environ.get('NONDEFAULT_MATLAB') == 'True': + options = nondefault_options(n, f0) + # Change the option name + options['maxfun'] = matlab.int32(options.pop('maxfev')) + return options + return {} + + +def get_python_options(n, f0): + if os.environ.get('NONDEFAULT_PYTHON') == 'True': + return nondefault_options(n, f0) + return {} + + +def get_matlab_engine(): + ''' + This function is essentially following the singleton design pattern + (https://gameprogrammingpatterns.com/singleton.html). + + Despite the above link recommending against this pattern we use it for + two reasons. + + 1) The "lazy-loading" means that the MATLAB engine won't be started until + after OptiProfiler has created separate processes via the multiprocessing + module. If OptiProfiler stops using multiprocessing this approach may need + to be reviewed. + + 2) Starting a MATLAB engine takes as much as 30s, so we only want to do it + once per process and keep the resulting engine. If future versions can + start up much more quickly then this might not be necessary. + + ''' + if not hasattr(get_matlab_engine, 'eng'): + get_matlab_engine.eng = matlab.engine.start_matlab() + return get_matlab_engine.eng + + +def fun_wrapper(server, obj_fun, num_vars): + server.listen(1) + conn, _ = server.accept() + with conn: + while True: + bufsize = num_vars * 8 # 8 being sizeof(double) + flags = socket.MSG_WAITALL # This helps with large (n ~ 5000) problems, i.e. TESTQUAD + data = conn.recv(bufsize, flags) + if not data: break # This indicates the connection was closed + if len(data) < bufsize: raise ValueError('Received incomplete data') + x = struct.unpack(f'{num_vars}d', data) + x = np.array(x, dtype=np.float64) + fx = obj_fun(x) + conn.sendall(struct.pack('d', fx)) + + +def nl_constraints_wrapper(server, cineq_fun, ceq_fun, num_vars): + server.listen(1) + conn, _ = server.accept() + with conn: + while True: + bufsize = num_vars * 8 # 8 being sizeof(double) + flags = socket.MSG_WAITALL # This helps with large (n ~ 5000) problems + data = conn.recv(bufsize, flags) + if not data: break # This indicates the connection was closed + x = struct.unpack(f'{num_vars}d', data) + x = np.array(x, dtype=np.float64) + cineq = cineq_fun(x) + ceq = ceq_fun(x) + if len(cineq) > 0: + conn.sendall(struct.pack(f'{len(cineq)}d', *cineq)) + if len(ceq) > 0: + conn.sendall(struct.pack(f'{len(ceq)}d', *ceq)) + + +def matlab_uobyqa(fun, x0): + with socket.create_server(('localhost', 0)) as server: + port = server.getsockname()[1] + threading.Thread(target=fun_wrapper, args=(server, fun, len(x0))).start() + f0 = fun.__self__._fun(x0) + x0_m = matlab.double(x0) + result = get_matlab_engine().matlab_wrapper(port, 'uobyqa', get_matlab_options(len(x0), f0), x0_m, nargout=4) + x = np.array(matlab.double(result[0]).tomemoryview().tolist()) # Wrap result in matlab.double in case of n=1 + return x + + +def python_uobyqa(fun, x0): + from prima import minimize + f0 = fun.__self__._fun(x0) + res = minimize(fun, x0, method='uobyqa', options=get_python_options(len(x0), f0)) + return res.x + + +def matlab_newuoa(fun, x0): + # We bind to port 0 so that the OS automatically assigns an available port + # Then we extract the port number so that we can pass it to the MATLAB engine + with socket.create_server(('localhost', 0)) as server: + port = server.getsockname()[1] + threading.Thread(target=fun_wrapper, args=(server, fun, len(x0))).start() + # We need to reach into the internals of fun in order to call the original function object + # so that we don't add to the number of function evaluations. Otherwise OptiProfiler will + # end up throwing an exception as we hit max_eval. In the future when OptiProfiler offers + # the signature where it provides the problem itself we'll be able to do this without reaching + # into the internals like this. + f0 = fun.__self__._fun(x0) + x0_m = matlab.double(x0) + result = get_matlab_engine().matlab_wrapper(port, 'newuoa', get_matlab_options(len(x0), f0), x0_m, nargout=4) + x = np.array(matlab.double(result[0]).tomemoryview().tolist()) # Wrap result in matlab.double in case of n=1 + return x + + +def python_newuoa(fun, x0): + from prima import minimize + f0 = fun.__self__._fun(x0) + res = minimize(fun, x0, method='newuoa', options=get_python_options(len(x0), f0)) + return res.x + + +def matlab_bobyqa(fun, x0, lb, ub): + with socket.create_server(('localhost', 0)) as server: + port = server.getsockname()[1] + threading.Thread(target=fun_wrapper, args=(server, fun, len(x0))).start() + f0 = fun.__self__._fun(x0) + x0_m = matlab.double(x0) + lb = matlab.double(lb) + ub = matlab.double(ub) + result = get_matlab_engine().matlab_wrapper(port, 'bobyqa', get_matlab_options(len(x0), f0), x0_m, lb, ub, nargout=4) + x = np.array(matlab.double(result[0]).tomemoryview().tolist()) # Wrap result in matlab.double in case of n=1 + return x + + +def python_bobyqa(fun, x0, lb, ub): + from prima import minimize + from scipy.optimize import Bounds + + f0 = fun.__self__._fun(x0) + bounds = Bounds(lb, ub) + res = minimize(fun, x0, method='bobyqa', bounds=bounds, options=get_python_options(len(x0), f0)) + return res.x + + +def matlab_lincoa(fun, x0, lb, ub, a_ub, b_ub, a_eq, b_eq): + with socket.create_server(('localhost', 0)) as server: + port = server.getsockname()[1] + threading.Thread(target=fun_wrapper, args=(server, fun, len(x0))).start() + f0 = fun.__self__._fun(x0) + x0_m = matlab.double(x0) + lb = matlab.double(lb) + ub = matlab.double(ub) + a_ub = matlab.double(a_ub) + b_ub = matlab.double(b_ub) + a_eq = matlab.double(a_eq) + b_eq = matlab.double(b_eq) + result = get_matlab_engine().matlab_wrapper(port, 'lincoa', get_matlab_options(len(x0), f0), x0_m, lb, ub, a_ub, b_ub, a_eq, b_eq, nargout=4) + x = np.array(matlab.double(result[0]).tomemoryview().tolist()) # Wrap result in matlab.double in case of n=1 + return x + + +def python_lincoa(fun, x0, lb, ub, a_ub, b_ub, a_eq, b_eq): + from prima import minimize, Bounds, LinearConstraint + + f0 = fun.__self__._fun(x0) + bounds = Bounds(lb, ub) + constraints = [] + if b_ub.size > 0: + constraints.append(LinearConstraint(a_ub, -np.inf, b_ub)) + if b_eq.size > 0: + constraints.append(LinearConstraint(a_eq, b_eq, b_eq)) + res = minimize(fun, x0, method='lincoa', bounds=bounds, constraints=constraints, options=get_python_options(len(x0), f0)) + return res.x + + +def matlab_cobyla(fun, x0, lb, ub, a_ub, b_ub, a_eq, b_eq, c_ineq, c_eq): + with socket.create_server(('localhost', 0)) as server: + port = server.getsockname()[1] + threading.Thread(target=fun_wrapper, args=(server, fun, len(x0))).start() + with socket.create_server(('localhost', 0)) as server_nonlcon: + port_nonlcon = server_nonlcon.getsockname()[1] + threading.Thread(target=nl_constraints_wrapper, args=(server_nonlcon, c_ineq, c_eq, len(x0))).start() + f0 = fun.__self__._fun(x0) + x0_m = matlab.double(x0) + lb = matlab.double(lb) + ub = matlab.double(ub) + a_ub = matlab.double(a_ub) + b_ub = matlab.double(b_ub) + a_eq = matlab.double(a_eq) + b_eq = matlab.double(b_eq) + c_ineq_x0 = c_ineq(x0) + m_c_ineq = c_ineq_x0.size + c_eq_x0 = c_eq(x0) + m_c_eq = c_eq_x0.size + result = get_matlab_engine().matlab_wrapper(port, 'cobyla', get_matlab_options(len(x0), f0), x0_m, lb, ub, a_ub, b_ub, a_eq, b_eq, m_c_ineq, m_c_eq, port_nonlcon, nargout=4) + x = np.array(matlab.double(result[0]).tomemoryview().tolist()) # Wrap result in matlab.double in case of n=1 + return x + + +def python_cobyla(fun, x0, lb, ub, a_ub, b_ub, a_eq, b_eq, c_ineq, c_eq): + from prima import minimize, Bounds, LinearConstraint, NonlinearConstraint + + f0 = fun.__self__._fun(x0) + bounds = Bounds(lb, ub) + constraints = [] + if b_ub.size > 0: + constraints.append(LinearConstraint(a_ub, -np.inf, b_ub)) + if b_eq.size > 0: + constraints.append(LinearConstraint(a_eq, b_eq, b_eq)) + c_ineq_x0 = c_ineq(x0) + if c_ineq_x0.size > 0: + constraints.append(NonlinearConstraint(c_ineq, -np.inf, np.zeros_like(c_ineq_x0))) + c_eq_x0 = c_eq(x0) + if c_eq_x0.size > 0: + constraints.append(NonlinearConstraint(c_eq, np.zeros_like(c_eq_x0), np.zeros_like(c_eq_x0))) + res = minimize(fun, x0, method='cobyla', bounds=bounds, constraints=constraints, options=get_python_options(len(x0), f0)) + return res.x + + +def get_problems(description): + cutest_problem_names = find_cutest_problems(description) + return list(filter(lambda x: x not in excludelist(description), cutest_problem_names)) + + +if __name__ == '__main__': + # If we run this script from a directory other than the one that contains it, pycutest's call to importlib will fail, + # unless we insert the current working directory into the path. + sys.path.insert(0, os.getcwd()) + os.environ['PYCUTEST_CACHE'] = os.getcwd() + + parser = argparse.ArgumentParser(description='Generate performance profiles comparing PRIMA MATLAB to PRIMA Python. ' + 'By default no profiles are run. To run one or more profiles use the flags ' + 'specified below. Multiple flags may be specified to run multiple profiles, ' + 'but please note they will be run sequentially.') + parser.add_argument('-j', '--n_jobs', type=int, default=None, help='Number of jobs to run in parallel') + parser.add_argument('-n', '--newuoa', action='store_true', help='Run the NEWUOA benchmark') + parser.add_argument('-u', '--uobyqa', action='store_true', help='Run the UOBYQA benchmark') + parser.add_argument('-b', '--bobyqa', action='store_true', help='Run the BOBYQA benchmark') + parser.add_argument('-l', '--lincoa', action='store_true', help='Run the LINCOA benchmark') + parser.add_argument('-c', '--cobyla', action='store_true', help='Run the COBYLA benchmark') + parser.add_argument('--default_only', action='store_true', help='Run only the default options for both MATLAB and Python') + args = parser.parse_args() + + + def run_three_benchmarks(matlab_fun, python_fun, algorithm, cutest_problem_names, default_only, n_jobs): + ''' + Proper validation of both default and nondefault options requires 3 runs: Both default, both nondefault, and + one default one nondefault. The first two should look identical, and so the third run confirms that our + experiment setup is valid (i.e. it rules out a scenario where even though options are provided, both algorithms + end up using default options anyway). + ''' + # Sharing state with multiprocessing is hard when we can't control the function signature, + # so we resort to using the environment to pass options. + os.environ['NONDEFAULT_MATLAB'] = "False" + os.environ['NONDEFAULT_PYTHON'] = "False" + algorithm = algorithm.lower() + ALGORITHM = algorithm.upper() + project_x0 = algorithm == 'lincoa' + run_benchmark([matlab_fun, python_fun], [f'MATLAB-{ALGORITHM}', f'Python-{ALGORITHM}'], cutest_problem_names, benchmark_id=f'{algorithm}_default_options', n_jobs=n_jobs, project_x0=project_x0) + if not default_only: + os.environ['NONDEFAULT_MATLAB'] = "True" + os.environ['NONDEFAULT_PYTHON'] = "True" + run_benchmark([matlab_fun, python_fun], [f'MATLAB-{ALGORITHM}', f'Python-{ALGORITHM}'], cutest_problem_names, benchmark_id=f'{algorithm}_nondefault_options', n_jobs=n_jobs, project_x0=project_x0) + os.environ['NONDEFAULT_MATLAB'] = "True" + os.environ['NONDEFAULT_PYTHON'] = "False" + run_benchmark([matlab_fun, python_fun], [f'MATLAB-{ALGORITHM}', f'Python-{ALGORITHM}'], cutest_problem_names, benchmark_id=f'{algorithm}_different_options', n_jobs=n_jobs, project_x0=project_x0) + + if args.newuoa: + start = time() + print("Running profiles for NEWUOA") + with open('uobyqa_newuoa.txt') as f: + cutest_problem_names = f.read().splitlines() + cutest_problem_names = list(filter(lambda x: x not in excludelist('unconstrained'), cutest_problem_names)) + run_three_benchmarks(matlab_newuoa, python_newuoa, 'newuoa', cutest_problem_names, args.default_only, args.n_jobs) + print(f'Completed NEWUOA profile in {time() - start:.2f} seconds') + + if args.uobyqa: + start = time() + print("Running profiles for UOBYQA") + with open('uobyqa_newuoa.txt') as f: + cutest_problem_names = f.read().splitlines() + cutest_problem_names = list(filter(lambda x: x not in excludelist('unconstrained'), cutest_problem_names)) + run_three_benchmarks(matlab_uobyqa, python_uobyqa, 'uobyqa', cutest_problem_names, args.default_only, args.n_jobs) + print(f'Completed UOBYQA profile in {time() - start:.2f} seconds') + + if args.bobyqa: + start = time() + print("Running profiles for BOBYQA") + with open('bobyqa.txt') as f: + cutest_problem_names = f.read().splitlines() + cutest_problem_names = list(filter(lambda x: x not in excludelist('bobyqa'), cutest_problem_names)) + run_three_benchmarks(matlab_bobyqa, python_bobyqa, 'bobyqa', cutest_problem_names, args.default_only, args.n_jobs) + print(f'Completed BOBYQA profile in {time() - start:.2f} seconds') + + if args.lincoa: + start = time() + print("Running profiles for LINCOA") + with open('lincoa.txt') as f: + cutest_problem_names = f.read().splitlines() + cutest_problem_names = list(filter(lambda x: x not in excludelist('lincoa'), cutest_problem_names)) + run_three_benchmarks(matlab_lincoa, python_lincoa, 'lincoa', cutest_problem_names, args.default_only, args.n_jobs) + print(f'Completed LINCOA profile in {time() - start:.2f} seconds') + + if args.cobyla: + start = time() + print("Running profiles for COBYLA") + with open('cobyla.txt') as f: + cutest_problem_names = f.read().splitlines() + cutest_problem_names = list(filter(lambda x: x not in excludelist('cobyla'), cutest_problem_names)) + run_three_benchmarks(matlab_cobyla, python_cobyla, 'cobyla', cutest_problem_names, args.default_only, args.n_jobs) + print(f'Completed COBYLA profile in {time() - start:.2f} seconds') diff --git a/prima/pyprima/profiles_vs_matlab/uobyqa_newuoa.txt b/prima/pyprima/profiles_vs_matlab/uobyqa_newuoa.txt new file mode 100644 index 0000000..8a3e876 --- /dev/null +++ b/prima/pyprima/profiles_vs_matlab/uobyqa_newuoa.txt @@ -0,0 +1,133 @@ +AKIVA +ALLINITU +BARD +BEALE +BENNETT5LS +BIGGS6 +BOX3 +BOXBODLS +BRKMCC +BROWNBS +BROWNDEN +CERI651ALS +CERI651BLS +CERI651CLS +CERI651DLS +CERI651ELS +CHWIRUT1LS +CHWIRUT2LS +CLIFF +CLUSTERLS +COOLHANSLS +CUBE +DANIWOODLS +DANWOODLS +DENSCHNA +DENSCHNB +DENSCHNC +DENSCHND +DENSCHNE +DENSCHNF +DEVGLA1 +DEVGLA2 +DJTL +ECKERLE4LS +EGGCRATE +ELATVIDU +ENGVAL2 +ENSOLS +EXP2 +EXPFIT +FBRAIN3LS +GAUSS1LS +GAUSS2LS +GAUSS3LS +GAUSSIAN +GBRAINLS +GROWTHLS +GULF +HAHN1LS +HAIRY +HATFLDD +HATFLDE +HATFLDFL +HATFLDFLS +HEART6LS +HEART8LS +HELIX +HIELOW +HILBERTA +HILBERTB +HIMMELBB +HIMMELBCLS +HIMMELBF +HIMMELBG +HIMMELBH +HUMPS +JENSMP +JUDGE +KIRBY2LS +KOWOSB +LANCZOS1LS +LANCZOS2LS +LANCZOS3LS +LOGHAIRY +LSC1LS +LSC2LS +MARATOSB +MEXHAT +MEYER3 +MGH09LS +MGH10LS +MGH10SLS +MGH17LS +MGH17SLS +MISRA1ALS +MISRA1BLS +MISRA1CLS +MISRA1DLS +NELSONLS +OSBORNEA +OSBORNEB +PALMER1C +PALMER1D +PALMER2C +PALMER3C +PALMER4C +PALMER5C +PALMER5D +PALMER6C +PALMER7C +PALMER8C +PARKCH +POWELLBSLS +POWELLSQLS +POWERSUM +PRICE3 +PRICE4 +RAT42LS +RAT43LS +RECIPELS +ROSENBR +ROSENBRTU +ROSZMAN1LS +S308 +SINEVAL +SISSER +SNAIL +SSI +STRATEC +STREG +STRTCHDV +THURBERLS +TRIGON1 +TRIGON2 +VESUVIALS +VESUVIOLS +VESUVIOULS +VIBRBEAM +WATSON +WAYSEA1 +WAYSEA2 +YFITU +ZANGWIL2 diff --git a/prima/pyprima/profiles_vs_python_bindings/explorer.py b/prima/pyprima/profiles_vs_python_bindings/explorer.py new file mode 100644 index 0000000..f903bce --- /dev/null +++ b/prima/pyprima/profiles_vs_python_bindings/explorer.py @@ -0,0 +1,85 @@ +import pycutest +from pyprima import minimize as pyprima_minimize +from prima import minimize, LinearConstraint, Bounds, NonlinearConstraint +from optiprofiler.problems import load_cutest_problem +import numpy as np +import debugpy +import sys + +np.set_printoptions(precision=53, floatmode='fixed', suppress=False) + +debug = input("Type Y to debug, ENTER to continue: ") +if debug == 'Y': + print("Waiting for debugger to attach...") + debugpy.listen(5678) + debugpy.wait_for_client() + +sys.modules['pyprima'].common.linalg.COMPARING = False +problem_name = 'POLAK3' +problem = load_cutest_problem(problem_name) + +if debug == 'Y': + debugpy.breakpoint() +constraints = [] +if problem.m_linear_ub > 0: + print("Adding linear inequality constraints") + constraints.append(LinearConstraint(problem.a_ub, -np.inf, problem.b_ub)) +if problem.m_linear_eq > 0: + print("Adding linear equality constraints") + constraints.append(LinearConstraint(problem.a_eq, problem.b_eq, problem.b_eq)) +if problem.m_nonlinear_ub > 0: + print("Adding nonlinear inequality constraints") + constraints.append(NonlinearConstraint(problem.c_ub, -np.inf, np.zeros(problem.m_nonlinear_ub))) +if problem.m_nonlinear_eq > 0: + print("Adding nonlinear equality constraints") + constraints.append(NonlinearConstraint(problem.c_eq, np.zeros(problem.m_nonlinear_eq), np.zeros(problem.m_nonlinear_eq))) +bounds = Bounds(problem.lb, problem.ub) + +x0 = problem.x0 +f0 = problem.fun(x0) + +nondefault_options = lambda n, f0: { + 'ftarget' : f0 - 314, # if this is doable, 3.14 otherwise + 'maxfev' : 271*n, + # 'npt' : int(min(3.14*n, n**1.23)), + 'rhobeg' : 2.71828, + # 'ctol': 2e-4, + 'rhoend' : 3.14e-4, + 'iprint' : 1 +} + + +python_options = nondefault_options(len(x0), f0) +# del python_options['npt'] + + +fortran_options = nondefault_options(len(x0), f0) + +# def fun(x): +# return x[0]**2 + abs(x[1])**3 + +# def con1(x): +# return x[0]**2 + x[1]**2 - 25 + +# def con2(x): +# return -con1(x) + +# x0 = [np.sqrt(25 - (2.0/3)**2), 2.0/3 + 1e-4] + +# bounds=None + +# constraints = [NonlinearConstraint(con1, -np.inf, 0), +# NonlinearConstraint(con2, -np.inf, 0)] + +# print(con1(x0)) + +fun = problem.fun + +if sys.argv[1] == 'p': + result = pyprima_minimize(fun, x0, method='cobyla', options=python_options, constraints=constraints, bounds=bounds) + print(result.cstrv) + from pyprima.common.linalg import matprod + print(matprod.counter) +else: + result = minimize(fun, x0, method='cobyla', options=fortran_options, constraints=constraints, bounds=bounds) + print(result.maxcv) diff --git a/prima/pyprima/profiles_vs_python_bindings/jankiprofiler.py b/prima/pyprima/profiles_vs_python_bindings/jankiprofiler.py new file mode 100644 index 0000000..33b2f9b --- /dev/null +++ b/prima/pyprima/profiles_vs_python_bindings/jankiprofiler.py @@ -0,0 +1,76 @@ +from scipy.optimize import minimize as scipy_minimize +from pyprima import minimize, LinearConstraint, Bounds, NonlinearConstraint +from optiprofiler.problems import load_cutest_problem +from optiprofiler.utils import ProblemError +import numpy as np +import debugpy +from time import time + + + +debugpy.breakpoint() +def get_constraints(problem): + constraints = [] + if problem.m_linear_ub > 0: + constraints.append(LinearConstraint(problem.a_ub, -np.inf, problem.b_ub)) + if problem.m_linear_eq > 0: + constraints.append(LinearConstraint(problem.a_eq, -np.inf, problem.b_eq)) + constraints.append(LinearConstraint(-problem.a_eq, -np.inf, problem.b_eq)) + if problem.m_nonlinear_ub > 0: + constraints.append(NonlinearConstraint(problem.c_ub, -np.inf, np.zeros(problem.m_nonlinear_ub))) + if problem.m_nonlinear_eq > 0: + constraints.append(NonlinearConstraint(problem.c_eq, -np.inf, np.zeros(problem.m_nonlinear_eq))) + constraints.append(NonlinearConstraint(lambda x: -problem.c_eq(x), -np.inf, np.zeros(problem.m_nonlinear_eq))) + return constraints + + +nondefault_options = lambda n, f0: { + 'ftarget' : f0 - 314, # if this is doable, 3.14 otherwise + 'maxfev' : 271*n, + # 'npt' : int(min(3.14*n, n**1.23)), + 'rhobeg' : 2.71828, + # 'ctol': 2e-4, + 'rhoend' : 3.14e-4, + # 'iprint' : 1 +} + +with open('cobyla.txt') as f: + problems = f.read().splitlines() + + +f = open('results.csv', 'w') +f.write(", ".join(["Problem", "PyPRIMA result", "SciPy result", "Error", "Error != 0", "PyPRIMA cstrv", "SciPy cstrv", "Error", "PyPRIMA nfev", "SciPy nfev", "PyPRIMA s", "SciPy s, Speedup (<1)/Slowdown (>1)"])) +f.write("\n") + + +for problem_name in problems: + try: + problem = load_cutest_problem(problem_name) + except ProblemError: + continue + cons = get_constraints(problem) + bounds = Bounds(problem.lb, problem.ub) + options = {} #nondefault_options(problem.n, problem.fun(problem.x0)) + print("Solving with bindings") + time1 = time() + result_1 = minimize(problem.fun, problem.x0, method='cobyla', options=options, constraints=cons, bounds=bounds) + time1 = (time() - time1)/result_1.nf + print("Solving with scipy") + options = {} #nondefault_options(problem.n, problem.fun(problem.x0)) + time2 = time() + result_2 = scipy_minimize(problem.fun, problem.x0, method='cobyla', options=options, constraints=cons, bounds=bounds) + time2 = (time() - time2)/result_2.nfev + + # Do some math. The math is designed such that a negative value for error means the + # first algorithm tested is better. + funerror = (result_1.f - result_2.fun)/abs(result_1.f) if result_1.f != 0 else 0 + funerror0 = funerror != 0 + cstrerror = (result_1.cstrv - result_2.maxcv)/abs(result_1.cstrv) if result_1.cstrv != 0 else 0 + speed_change = time1/time2 # If first one is faster, this is < 1 + f.write(f'{problem_name: <11}, {result_1.f: <23}, {result_2.fun: <23}, {funerror*100: <8.2f}, {funerror0}, {result_1.cstrv: <23}, {result_2.maxcv: <23}, {cstrerror*100: <8.2f}, {result_1.nf: <5}, {result_2.nfev: <5}, {time1: <5}, {time2: <5}, {speed_change: <5}\n') + f.flush() + + + # for result in results: + # problem_name, result_1_fun, presult_f, funerror, result_1_maxcv, presult_cstrv, cstrerror, result_1_nfev, presult_nf = result + # f.write(f'{problem_name: <11}, {result_1_fun: <23}, {presult_f: <23}, {funerror*100: <8.2f}, {result_1_maxcv: <23}, {presult_cstrv: <23}, {cstrerror*100: <8.2f}, {result_1_nfev: <5}, {presult_nf: <5}\n') diff --git a/prima/pyprima/profiles_vs_python_bindings/n1.txt b/prima/pyprima/profiles_vs_python_bindings/n1.txt new file mode 100644 index 0000000..e69de29 diff --git a/prima/pyprima/profiles_vs_python_bindings/n2.txt b/prima/pyprima/profiles_vs_python_bindings/n2.txt new file mode 100644 index 0000000..a6cb268 --- /dev/null +++ b/prima/pyprima/profiles_vs_python_bindings/n2.txt @@ -0,0 +1,122 @@ + AKIVA + ALSOTAME + BEALE + BOOTH + BOX2 + BOXBOD + BOXBODLS + BRKMCC + BROWNBS + BT1 + BT10 + CAMEL6 + CLIFF + CLUSTER + CUBE + CUBENE + DANWOOD + DANWOODLS + DENSCHNB + DENSCHNC + DENSCHNF + DJTL + EXPFIT + EXTRASIM + FBRAIN + FBRAINLS + FLT + FREURONE + GBRAIN + GBRAINLS + GOTTFR + HAIRY + HET-Z + HILBERTA + HIMMELBA + HIMMELBC + HIMMELBD + HIMMELBG + HIMMELBH + HIMMELP1 + HIMMELP2 + HIMMELP3 + HIMMELP4 + HIMMELP5 + HIMMELP6 + HS1 + HS10 + HS11 + HS12 + HS13 + HS14 + HS15 + HS16 + HS17 + HS18 + HS19 + HS2 + HS20 + HS21 + HS22 + HS23 + HS24 + HS3 + HS35MOD + HS3MOD + HS4 + HS5 + HS57 + HS59 + HS6 + HS7 + HS8 + HS88 + HS9 + HUBFIT + HUMPS + HYPCIR + JENSMP + JENSMPNE + LOGHAIRY + LOGROS + LSQFIT + MARATOS + MARATOSB + MDHOLE + MEXHAT + MISRA1A + MISRA1ALS + MISRA1B + MISRA1BLS + MISRA1C + MISRA1CLS + MISRA1D + POWELLBS + POWELLBSLS + POWELLSQ + PT + ROSENBR + ROSENBRTU + RSNBRNE + S308 + S316-322 + SIMBQP + SIMPLLPA + SIMPLLPB + SINEVAL + SINVALNE + SIPOW1 + SIPOW1M + SIPOW2 + SIPOW2M + SISSER + SNAIL + SNAKE + SUPERSIM + TAME + TRY-B + TWOBARS + ZANGWIL2 + ZECEVIC2 + ZECEVIC3 + ZECEVIC4 diff --git a/prima/pyprima/profiles_vs_python_bindings/n3.txt b/prima/pyprima/profiles_vs_python_bindings/n3.txt new file mode 100644 index 0000000..8c01c03 --- /dev/null +++ b/prima/pyprima/profiles_vs_python_bindings/n3.txt @@ -0,0 +1,118 @@ + ALLINIT + ALLINITA + ALLINITC + ARGAUSS + BARD + BARDNE + BENNETT5 + BENNETT5LS + BIGGS3 + BOX3 + BOX3NE + BT2 + BT4 + BYRDSPHR + CB2 + CB3 + CHACONN1 + CHACONN2 + CHWIRUT1 + CHWIRUT1LS + CHWIRUT2 + CHWIRUT2LS + CONGIGMZ + DEMYMALO + DENSCHND + DENSCHNE + ECKERLE4 + ECKERLE4LS + ENGVAL2 + GAUSSIAN + GIGOMEZ1 + GIGOMEZ2 + GIGOMEZ3 + GROWTH + GROWTHLS + GULF + GULFNE + HATFLDD + HATFLDE + HATFLDF + HATFLDFL + HELIX + HELIXNE + HIELOW + HIMMELBE + HS25 + HS26 + HS27 + HS28 + HS29 + HS30 + HS31 + HS32 + HS33 + HS34 + HS35 + HS35I + HS36 + HS37 + HS60 + HS61 + HS62 + HS63 + HS64 + HS65 + HS66 + HS89 + KIWCRESC + KOEBHELB + LOOTSMA + LSC1 + LSC1LS + LSC2 + LSC2LS + MADSEN + MAKELA1 + MAKELA2 + MEYER3 + MEYER3NE + MGH10 + MGH10LS + MGH10S + MIFFLIN1 + MIFFLIN2 + MINMAXRB + NELSON + NELSONLS + OET1 + OET2 + PFIT1 + PFIT1LS + PFIT2 + PFIT2LS + PFIT3 + PFIT3LS + PFIT4 + PFIT4LS + POLAK1 + POLAK4 + POLAK5 + RAT42 + RAT42LS + RECIPE + SPIRAL + SSI + SSINE + STANCMIN + TFI1 + TFI2 + TFI3 + WACHBIEG + WEEDS + WOMFLET + YFIT + YFITNE + YFITU + ZANGWIL3 + ZY2 diff --git a/prima/pyprima/profiles_vs_python_bindings/results.csv b/prima/pyprima/profiles_vs_python_bindings/results.csv new file mode 100644 index 0000000..898fb07 --- /dev/null +++ b/prima/pyprima/profiles_vs_python_bindings/results.csv @@ -0,0 +1,517 @@ +Problem, PyPRIMA result, SciPy result, Error, Error != 0, PyPRIMA cstrv, SciPy cstrv, Error, PyPRIMA nfev, SciPy nfev, PyPRIMA s, SciPy s, Speedup (<1)/Slowdown (>1) +AIRCRFTA , 0.0 , 0.0 , 0.00 , False, 8.619960322787945e-12 , 3.8264573160531745e-06 , -44390560.43, 33 , 34 , 0.002245483976421934, 7.491252001594094e-05, 29.974748893030277 +AIRCRFTB , 0.33200050298580724 , 1.2851059066529078 , -287.08 , True, 0.0 , 0.0 , 0.00 , 2500 , 1000 , 0.0004473069190979004, 6.07609748840332e-06, 73.61746909947028 +AKIVA , 6.169186262477943 , 6.171902302081875 , -0.04 , True, 0.0 , 0.0 , 0.00 , 1000 , 291 , 0.0003472862243652344, 7.5499216715494794e-06, 45.99865263157895 +ALLINIT , 16.705968432931407 , 16.705968541508405 , -0.00 , True, 0.0 , 0.0 , 0.00 , 91 , 74 , 0.00036252723945366156, 9.955586613835515e-06, 36.4144528610548 +ALLINITA , 30.79490611327864 , 30.795768480499337 , -0.00 , True, 9.679811729945698e-09 , 1.6132979618888044e-08 , -66.67 , 72 , 41 , 0.0007522768444485135, 6.090722432950648e-05, 12.351192370525958 +ALLINITC , 30.495419651107884 , 30.496551711922812 , -0.00 , True, 7.427919390678994e-10 , 0.0 , 100.00 , 51 , 46 , 0.0008860008389342065, 3.517192343006963e-05, 25.190571129719203 +ALLINITU , 5.744384910325017 , 5.7443849452775835 , -0.00 , True, 0.0 , 0.0 , 0.00 , 99 , 69 , 0.00033777651160654394, 7.218208865842957e-06, 46.79505925700277 +ALSOTAME , 0.08208499862391111 , 0.08208499862052751 , 0.00 , True, 1.5010215292932116e-13 , 4.107070239456334e-11 , -27261.83, 13 , 16 , 0.001014397694514348, 4.4986605644226074e-05, 22.548882717150356 +ARGAUSS , 0.0 , 0.0 , 0.00 , False, 3.517346390381412e-05 , 3.5181298777553494e-05 , -0.02 , 13 , 20 , 0.002161998015183669, 8.304119110107422e-05, 26.035248128271384 +AVGASA , -4.63192554527031 , -4.63192552437065 , -0.00 , True, 2.4787216730195574e-24 , 2.220446049250313e-16 , -8958028844.59, 146 , 128 , 0.001285698315868639, 1.7311424016952515e-05, 74.26877850196475 +AVGASB , -4.483219364852291 , -4.483216930115568 , -0.00 , True, 2.220446049250313e-16 , 2.1094237467877974e-15 , -850.00 , 144 , 98 , 0.0012631515661875408, 1.7560258203623245e-05, 71.93240278932299 +BARD , 0.01025547679737248 , 0.010851854841086556 , -5.82 , True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.0003935559590657552, 6.738901138305664e-06, 58.40061324370541 +BARDNE , 0.0 , 0.0 , 0.00 , False, 0.05081632653064083 , 0.05081632653061252 , 0.00 , 27 , 41 , 0.0014325954295970776, 7.821292411990282e-05, 18.31660746248107 +BEALE , 9.622000924125749e-10 , 7.254063788950956e-06 , -753803.88, True, 0.0 , 0.0 , 0.00 , 735 , 382 , 0.0004007780633005155, 6.707550967551027e-06, 59.750282217660484 +BENNETT5 , 0.0 , 0.0 , 0.00 , False, 0.007660478825364692 , 0.007700018425062183 , -0.52 , 1500 , 1000 , 0.0030236220359802246, 0.0006283180713653564, 4.812247448827616 +BENNETT5LS , 0.6870228862299468 , 0.6394240555237142 , 6.93 , True, 0.0 , 0.0 , 0.00 , 55 , 39 , 0.0008968006480823864, 2.6018191606570512e-05, 34.46821599453179 +BIGGS3 , 2.8475985877977878e-08 , 0.00032070233175094385 , -1126120.29, True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.0006439808209737142, 8.80885124206543e-06, 73.10610694598569 +BIGGS5 , 0.004006433885186791 , 0.03592484485292646 , -796.68 , True, 0.0 , 0.0 , 0.00 , 2500 , 1000 , 0.0005796143531799316, 1.0944128036499023e-05, 52.9612182210313 +BIGGS6 , 0.007953445408235116 , 0.061995068573047776 , -679.47 , True, 0.0 , 0.0 , 0.00 , 3000 , 1000 , 0.0007098393440246582, 1.1803150177001953e-05, 60.139821435785564 +BIGGS6NE , 0.0 , 0.0 , 0.00 , False, 3.0298183406607393e-09 , 5.9713611832989955e-09 , -97.09 , 71 , 67 , 0.005857870612345951, 0.00014217931832840192, 41.20058164026079 +BIGGSC4 , -24.375 , -24.375 , 0.00 , False, 0.0 , 0.0 , 0.00 , 19 , 40 , 0.003274428217034591, 2.567172050476074e-05, 127.5500103870077 +BOOTH , 0.0 , 0.0 , 0.00 , False, 0.0 , 0.0 , 0.00 , 9 , 13 , 0.0006742212507459852, 7.790785569411058e-05, 8.654085582757899 +BOX2 , 5.846883652860379e-19 , 8.750757693512076e-09 , -1496653296435.34, True, 0.0 , 0.0 , 0.00 , 34 , 27 , 0.00046967057620777805, 2.8813326800311052e-05, 16.30046330515044 +BOX3 , 5.846883652860379e-19 , 3.685383150790669e-08 , -6303158006110.24, True, 0.0 , 0.0 , 0.00 , 41 , 32 , 0.00042265217478682356, 2.2195279598236084e-05, 19.04243525818944 +BOX3NE , 0.0 , 0.0 , 0.00 , False, 3.174127159027984e-10 , 4.893190342389157e-10 , -54.16 , 14 , 19 , 0.0016563619886125838, 9.079983359888981e-05, 18.241905551607044 +BOXBOD , 0.0 , 0.0 , 0.00 , False, 19.45872044064301 , 19.458720455266118 , -0.00 , 35 , 219 , 0.0012090001787458148, 5.450314038420377e-05, 22.182211340912204 +BOXBODLS , 2661.7278309334333 , 4470.941011729683 , -67.97 , True, 0.0 , 0.0 , 0.00 , 1000 , 1000 , 0.0005618159770965576, 8.357048034667969e-06, 67.22660618509643 +BRKMCC , 0.1690426792228084 , 0.16904612924098295 , -0.00 , True, 0.0 , 0.0 , 0.00 , 195 , 168 , 0.0006421076945769481, 8.977594829740979e-06, 71.52335416717332 +BROWNBS , 996219687329.2258 , 998003023452.4346 , -0.18 , True, 0.0 , 0.0 , 0.00 , 1000 , 1000 , 0.0007287099361419678, 8.907079696655274e-06, 81.81244144650553 +BROWNDEN , 85822.20135316643 , 85822.2062050091 , -0.00 , True, 0.0 , 0.0 , 0.00 , 816 , 652 , 0.0009268627447240493, 1.4797675828992223e-05, 62.63569735107328 +BROWNDENE , 0.0 , 0.0 , 0.00 , False, 115.70643967925746 , 115.70643970236192 , -0.00 , 138 , 118 , 0.0018840060717817666, 0.00012630325252726928, 14.916528546048358 +BT1 , -0.9839255863997494 , -0.9942935850802206 , 1.05 , True, 5.007552775215807e-10 , 1.1714344361202222e-07 , -23293.35, 1000 , 1000 , 0.0013515009880065917, 5.3283214569091794e-05, 25.364479206751206 +BT10 , -1.0000000000001457 , -1.0000007369062227 , 0.00 , True, 2.184918912462308e-13 , 1.9998724392622513e-05 , -9153073855.54, 23 , 23 , 0.002538784690525221, 6.399983945100203e-05, 39.66861030126337 +BT11 , 0.011410073385170229 , 0.0114114377873153 , -0.01 , True, 3.1474822748123188e-12 , 9.275823442678188e-09 , -294606.14, 2500 , 125 , 0.0013911391258239745, 4.16412353515625e-05, 33.407729479662876 +BT12 , 6.1881188113503045 , 6.188118814853112 , -0.00 , True, 5.9220753667355e-09 , 1.5073107004999456e-08 , -154.52 , 282 , 223 , 0.0012481246434204968, 2.9851502901770076e-05, 41.81111575948452 +BT13 , -1.1991823248817916e-08, 2.1247042990143477e-06 , -17817.94, True, 1.3765651071531645e-08 , 1.1050674941673642e-06 , -7927.72, 497 , 688 , 0.0012070345926572619, 2.4105920348056528e-05, 50.07212233465194 +BT2 , 0.032568200393792095 , 0.03256822163257142 , -0.00 , True, 2.360778239562933e-12 , 6.442927080740901e-09 , -272815.39, 149 , 246 , 0.000678052838216692, 2.3369866658032424e-05, 29.013979760284144 +BT3 , 4.093023255814434 , 4.093023279386804 , -0.00 , True, 1.1102230246251565e-16 , 1.6653345369377348e-16 , -50.00 , 104 , 139 , 0.0009015592244955209, 1.4655024027652878e-05, 61.51878173617113 +BT4 , -78.46256728035347 , -78.46256729992808 , 0.00 , True, 7.499886045536641e-09 , 1.9999840450424244e-08 , -166.67 , 87 , 63 , 0.0008183786238747081, 3.7284124465215773e-05, 21.949787895333696 +BT6 , 0.27704478842613023 , 0.2770448076809272 , -0.00 , True, 1.500484181349293e-10 , 2.825830058839074e-08 , -18732.79, 165 , 132 , 0.0008233229319254558, 2.885767907807321e-05, 28.530462539901112 +BT7 , 306.49999755454013 , 360.3797597119592 , -17.58 , True, 5.868026287103589e-09 , 1.9672314333085694e-08 , -235.25 , 159 , 207 , 0.0012135160794048189, 3.28073179088353e-05, 36.989188899163516 +BT8 , 0.9999999994282865 , 1.0000000075665538 , -0.00 , True, 1.4333438052631913e-09 , 6.7805583916710765e-09 , -373.06 , 133 , 93 , 0.0009977225970504875, 3.092776062668011e-05, 32.25977493468419 +BT9 , -1.000000012835143 , -1.0000000058376701 , -0.00 , True, 8.118040530880083e-09 , 1.7800509626324054e-08 , -119.27 , 137 , 115 , 0.0008985770009729984, 3.0001350071119224e-05, 29.951218823249317 +BYRDSPHR , -4.683300132967832 , -4.683300135522073 , 0.00 , True, 1.2500187551722775e-09 , 1.999869603253046e-08 , -1499.87, 80 , 83 , 0.0009495258331298828, 3.0506088072995107e-05, 31.125781544256117 +CAMEL6 , -1.0316284534876325 , -1.031628327120866 , -0.00 , True, 0.0 , 0.0 , 0.00 , 65 , 41 , 0.0003923819615290715, 1.236287558951029e-05, 31.738729285765974 +CANTILVR , 1.3399563589530934 , 1.339956360618622 , -0.00 , True, 3.863192266084781e-09 , 1.6812724962234071e-09 , 56.48 , 191 , 192 , 0.0007449170057686211, 2.1186967690785725e-05, 35.159208086798934 +CB2 , 1.9522244912137179 , 1.9522244658257621 , 0.00 , True, 4.621474203325704e-09 , 4.9276438485179597e-08 , -966.25 , 92 , 70 , 0.0007004997004633365, 2.381120409284319e-05, 29.418911271013044 +CB3 , 1.9999999999998086 , 2.0000015424772917 , -0.00 , True, 3.6770586575585185e-13 , 0.0 , 100.00 , 27 , 31 , 0.000986478946827076, 2.9094757572297127e-05, 33.90572835590017 +CHACONN1 , 1.952224491491724 , 1.952224461331149 , 0.00 , True, 4.6196332315062705e-09 , 4.9279431535431684e-08 , -966.74 , 79 , 64 , 0.0007338886019549793, 2.9318034648895264e-05, 25.031984945233464 +CHACONN2 , 2.000000000803364 , 2.0000000079971954 , -0.00 , True, 0.0 , 0.0 , 0.00 , 28 , 35 , 0.0009675366537911552, 2.8201511928013394e-05, 34.30797101449275 +CHWIRUT1 , 0.0 , 0.0 , 0.00 , False, 13.100003505803315 , 13.167594551695046 , -0.52 , 21 , 23 , 0.002420959018525623, 0.0008120847784954568, 2.9811653692252613 +CHWIRUT1LS , 2654.446390521632 , 2731.739362130793 , -2.91 , True, 0.0 , 0.0 , 0.00 , 1500 , 37 , 0.00041126012802124025, 1.5464988914695947e-05, 26.592979166666666 +CHWIRUT2 , 0.0 , 0.0 , 0.00 , False, 8.550007574529033 , 8.566639187020883 , -0.19 , 31 , 26 , 0.0013978712020381804, 0.00021403569441575272, 6.53101907069244 +CHWIRUT2LS , 619.4317100414929 , 576.3242986213921 , 6.96 , True, 0.0 , 0.0 , 0.00 , 1500 , 117 , 0.00045006926854451496, 9.239229381593883e-06, 48.712857962064405 +CLIFF , 0.20068718382825754 , 0.2005500730195649 , 0.07 , True, 0.0 , 0.0 , 0.00 , 1000 , 34 , 0.00039438796043395996, 1.0139801922966453e-05, 38.89503596127248 +CLUSTER , 0.0 , 0.0 , 0.00 , False, 3.455543131680771e-11 , 6.13539906167419e-07 , -1775423.80, 23 , 22 , 0.0009031399436618971, 5.071813409978693e-05, 17.8070419918246 +CONCON , -13372.743772861397 , -8973.991236291584 , -32.89 , True, 1000.0 , 1000.0 , 0.00 , 7500 , 1000 , 0.0035256218592325844, 4.343318939208984e-05, 81.17345073154308 +CONGIGMZ , 27.999999985652252 , 28.000000006147562 , -0.00 , True, 1.4347747878673545e-08 , 0.0 , 100.00 , 49 , 368 , 0.0008906296321323939, 2.04346750093543e-05, 43.584232767327784 +COOLHANS , 0.0 , 0.0 , 0.00 , False, 5.282988433275638e-13 , 0.003196112210438982 , -604981867796.55, 506 , 458 , 0.002231796268417901, 5.130111910890804e-05, 43.50385151793632 +CRESC100 , 24.8530828557642 , 42.37931441856949 , -70.52 , True, 0.0 , 0.028387069755154926 , 0.00 , 3000 , 1000 , 0.006467500686645508, 0.00032571887969970703, 19.856081700293668 +CRESC132 , 24.085146275637356 , 42.524376275371196 , -76.56 , True, 0.0 , 0.036832014384426515 , 0.00 , 3000 , 1000 , 0.019907488028208416, 0.00614983606338501, 3.237076211955296 +CRESC4 , 6.312035059812189 , 43.09054951849964 , -582.67 , True, 0.0 , 0.026948443869141414 , 0.00 , 3000 , 1000 , 0.002032497008641561, 3.281712532043457e-05, 61.93403562303994 +CRESC50 , 2.8435678558998276 , 45.021130213617965 , -1483.26, True, 2.696424989282677e-21 , 0.007925443697252111 , -293924130237366468608.00, 3000 , 1000 , 0.0016486723423004151, 0.00015887212753295897, 10.377354215001548 +CSFI1 , -49.075198592669196 , -49.075198592203165 , -0.00 , True, 4.416733645484783e-10 , 2.842170943040401e-14 , 99.99 , 104 , 156 , 0.0016044240731459397, 5.534062018761268e-05, 28.991797845898923 +CSFI2 , 55.01760720743236 , 55.017607212066636 , -0.00 , True, 7.93501442331035e-09 , 3.552713678800501e-15 , 100.00 , 126 , 291 , 0.001663071768624442, 7.577941999402653e-05, 21.94621928691902 +CUBE , 0.01040408453680293 , 0.03363884480866413 , -223.32 , True, 0.0 , 0.0 , 0.00 , 1000 , 1000 , 0.0004446690082550049, 7.159948348999023e-06, 62.10505810662316 +CUBENE , 0.0 , 0.0 , 0.00 , False, 8.578146526438957e-09 , 3.1443815642906436e-06 , -36555.72, 13 , 17 , 0.0010568912212665265, 0.00013010642107795268, 8.123282559846103 +DANWOOD , 0.0 , 0.0 , 0.00 , False, 0.03663810054155103 , 0.03663815312645369 , -0.00 , 20 , 19 , 0.0013230562210083008, 7.757387663188733e-05, 17.055435134260758 +DANWOODLS , 0.13298044468124987 , 103.917818 , -78045.19, True, 0.0 , 0.0 , 0.00 , 1000 , 5 , 0.0004126608371734619, 4.5347213745117185e-05, 9.100026288117771 +DEGENLPA , 25.937253679319408 , 3.975443841143263e-05 , 100.00 , True, 2.871232140932989e-10 , 1.3296331024734951e-13 , 99.95 , 81 , 134 , 0.014245295230253243, 0.00013036692320410884, 109.27077881519158 +DEGENLPB , -25.937253679319408 , -30.731245971382965 , 18.48 , True, 2.871232140932989e-10 , 1.399713678296166e-13 , 99.95 , 96 , 135 , 0.014048866927623749, 0.00012067335623281973, 116.42061981369551 +DEMBO7 , 174.78702324560493 , 250.08062886246415 , -43.08 , True, 4.310084253703546e-11 , 0.08064832736812595 , -187115431109.56, 5038 , 1000 , 0.01341738981025093, 8.993577957153321e-05, 149.18856404173374 +DEMYMALO , -2.9999999999995466 , -2.999999930905572 , -0.00 , True, 0.0 , 0.0 , 0.00 , 31 , 37 , 0.002703605159636467, 4.638207925332559e-05, 58.28986546442112 +DENSCHNB , 1.0337444008679068e-12 , 1.312848269121153e-08 , -1269893.11, True, 0.0 , 0.0 , 0.00 , 66 , 38 , 0.000463225624778054, 1.1525656047620272e-05, 40.19082496164695 +DENSCHNC , 4.0218368170370506e-11 , 1.0647085928399082e-07 , -264631.92, True, 0.0 , 0.0 , 0.00 , 130 , 107 , 0.00046228445493257965, 9.184685822959259e-06, 50.332092337550854 +DENSCHND , 5.727556979692036e-07 , 5.247656657188822e-06 , -816.21 , True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.0004156338373819987, 6.9801807403564456e-06, 59.544853183955546 +DENSCHNE , 3.1979240732654555e-13 , 0.9961645018781955 , -311503487592397.69, True, 0.0 , 0.0 , 0.00 , 389 , 1000 , 0.0004394783765307429, 7.122039794921875e-06, 61.7068128212507 +DENSCHNF , 3.500480714730578e-11 , 4.997194536316827e-07 , -1427473.79, True, 0.0 , 0.0 , 0.00 , 54 , 33 , 0.0003926886452568902, 1.3004649769176137e-05, 30.19601851851852 +DIPIGRI , 680.6300573744224 , 680.6300574802378 , -0.00 , True, 2.964384293591138e-11 , 2.8019341868912306e-07 , -945099.38, 484 , 280 , 0.0012241355643784705, 2.573984009878976e-05, 47.55800967217458 +DIXCHLNG , 2471.89781021019 , 2471.897808814896 , 0.00 , True, 2.322262604437242e-09 , 1.5123994168142474e-08 , -551.26 , 618 , 311 , 0.0025599662540028395, 4.246610537219277e-05, 60.28257669419176 +DJTL , -8949.186909833958 , -8405.69915440774 , -6.07 , True, 0.0 , 0.0 , 0.00 , 1000 , 1000 , 0.0003911421298980713, 6.4239501953125e-06, 60.88810124703088 +DUALC1 , 0.0 , 0.0 , 0.00 , False, 0.0 , 0.0 , 0.00 , 37 , 55 , 0.00466127653379698, 6.758082996715198e-05, 68.97335436783801 +DUALC2 , 0.0 , 0.0 , 0.00 , False, 0.0 , 0.0 , 0.00 , 29 , 43 , 0.0036921336733061693, 5.9044638345407884e-05, 62.53122682719116 +DUALC5 , 0.0 , -3.194059669687556e-15 , 0.00 , False, 0.0 , 6.445568270989904e-19 , 0.00 , 33 , 53 , 0.005317789135557233, 7.300106984264446e-05, 72.84535893816151 +DUALC8 , 0.0 , -6.223324862719115e-13 , 0.00 , False, 0.0 , 7.820783852606752e-17 , 0.00 , 33 , 59 , 0.006891879168423739, 9.549270241947497e-05, 72.17178898288458 +ECKERLE4 , 0.0 , 0.0 , 0.00 , False, 0.01371280165694913 , 0.013712932431785285 , -0.00 , 61 , 192 , 0.0015177531320540632, 0.00012106324235598247, 12.536861746946775 +ECKERLE4LS , 0.6996958558194455 , 0.6996958853494009 , -0.00 , True, 0.0 , 0.0 , 0.00 , 1500 , 39 , 0.000400143305460612, 0.00011629936022636217, 3.440632043734231 +ELATTAR , 37.11044569241935 , 9.44564497994434 , 74.55 , True, 9.302495974916614e-09 , 44.24015939996587 , -475573002234.60, 3139 , 1000 , 0.0017234603095563517, 0.00013340401649475098, 12.919103598534939 +ENGVAL2 , 0.012209503868603113 , 0.42094476286231636 , -3347.68, True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.00034576193491617837, 5.788803100585938e-06, 59.729434376716085 +ENSO , 0.0 , 0.0 , 0.00 , False, 4.872796761247474 , 4.873581527582592 , -0.02 , 156 , 131 , 0.0033991611920870268, 0.00047930688348435266, 7.091826362635568 +ENSOLS , 788.5397866708956 , 788.5449362549716 , -0.00 , True, 0.0 , 0.0 , 0.00 , 2484 , 1000 , 0.0004780990298051573, 2.280688285827637e-05, 20.962927409944598 +EQC , -829.5477053187723 , -923.5725949795307 , 11.33 , True, 8.326672684688674e-17 , 4.440892098500626e-16 , -433.33 , 30 , 57 , 0.002082339922587077, 1.929935656095806e-05, 107.89685739055051 +ERRINBAR , -142.05539019911558 , -160.3409562105142 , 12.87 , True, 589.884 , 13.975320515922874 , 97.63 , 147 , 1000 , 0.0009451026008242653, 9.729719161987305e-05, 9.713565058657121 +EXPFIT , 0.24051059621230178 , 0.24056408546152047 , -0.02 , True, 0.0 , 0.0 , 0.00 , 308 , 201 , 0.00040144115299373475, 7.651931610866565e-06, 52.4627209714793 +EXPFITA , 0.001136611706167554 , 3.9469229722360537 , -347153.42, True, 0.0 , 47.323081300000005 , 0.00 , 134 , 6 , 0.001188753256157263, 6.552537282307942e-05, 18.141877030855426 +EXPFITB , 0.005019365520467761 , 17.894823948578278 , -356415.66, True, 7.105427357601002e-15 , 47.64597255 , -670557450693390208.00, 109 , 6 , 0.0018519064702025247, 6.882349650065105e-05, 26.90805559675403 +EXPFITC , 0.023302572606785345 , 87.62130046808227 , -375915.57, True, 0.0 , 47.6470374 , 0.00 , 130 , 6 , 0.004245429772597092, 0.0001817941665649414, 23.352948297604033 +EXTRASIM , 1.0 , 1.0 , 0.00 , False, 0.0 , 0.0 , 0.00 , 9 , 13 , 0.0008920033772786459, 5.0929876474233774e-05, 17.51434401632457 +FBRAIN , 0.0 , 0.0 , 0.00 , False, 0.04787576461951498 , 0.04787578024195599 , -0.00 , 16 , 24 , 0.028877899050712585, 0.010295748710632324, 2.804837206340385 +FBRAIN2 , 0.0 , 0.0 , 0.00 , False, 0.03112854734644654 , 0.031151137510952255 , -0.07 , 522 , 1000 , 0.024895478482447365, 0.007931392908096314, 3.1388532595622927 +FBRAIN2LS , 0.39313171871271146 , 0.39376721513515583 , -0.16 , True, 0.0 , 0.0 , 0.00 , 2000 , 129 , 0.0005638840198516846, 0.00020468881887982982, 2.7548354762979685 +FBRAIN3 , 0.0 , 0.0 , 0.00 , False, 0.027823096811724568 , 0.029651028498527854 , -6.57 , 3000 , 1000 , 0.02923461977640788, 0.009890447854995727, 2.9558438813912042 +FBRAIN3LS , 0.3652343985442748 , 0.42739328217708317 , -17.02 , True, 0.0 , 0.0 , 0.00 , 3000 , 1000 , 0.0014612080256144206, 0.00040909409523010254, 3.5718140218878913 +FBRAINLS , 0.5060838591440499 , 0.6976938018250041 , -37.86 , True, 0.0 , 0.0 , 0.00 , 1000 , 1000 , 0.0005404770374298096, 0.00013646793365478516, 3.9604691223435853 +FCCU , 11.149109141486754 , 11.149109224644832 , -0.00 , True, 7.105427357601002e-15 , 7.105427357601002e-15 , 0.00 , 618 , 578 , 0.004430223437188898, 3.227684324587918e-05, 137.25702366369148 +FLETCHER , 11.656854202186993 , 11.656854236571824 , -0.00 , True, 9.999197914112301e-09 , 3.333233244973144e-09 , 66.66 , 129 , 155 , 0.0008463175721870836, 2.8676371420583418e-05, 29.512714833216698 +FLT , 5.378712120506237e-05 , 0.00019638162345871505 , -265.11 , True, 1.5209614932242006e-14 , 9.31012098283342e-11 , -612020.76, 63 , 39 , 0.0008451408810085721, 3.131230672200521e-05, 26.990693739424703 +FREURONE , 0.0 , 0.0 , 0.00 , False, 4.948952095103347 , 4.9489520957570035 , -0.00 , 79 , 80 , 0.0005564387840560719, 2.9474496841430664e-05, 18.8786525194865 +GAUSS1 , 0.0 , 0.0 , 0.00 , False, 6.395560694378488 , 10.647320574207033 , -66.48 , 1249 , 1000 , 0.004166560329562478, 0.0007147459983825684, 5.829427991190127 +GAUSS1LS , 3552.649289380294 , 4055.7162369098705 , -14.16 , True, 0.0 , 0.0 , 0.00 , 92 , 10 , 0.0004368035689644192, 3.7217140197753905e-05, 11.736623680472386 +GAUSS2 , 0.0 , 0.0 , 0.00 , False, 5.5395263232415415 , 13.731937358906464 , -147.89 , 190 , 1000 , 0.00495530555122777, 0.0008897941112518311, 5.569047365638624 +GAUSS2LS , 5156.1948148125775 , 5756.849054357412 , -11.65 , True, 0.0 , 0.0 , 0.00 , 100 , 11 , 0.0009638714790344238, 4.0552832863547586e-05, 23.76828968466061 +GAUSS3 , 0.0 , 0.0 , 0.00 , False, 5.420551209386602 , 17.421989797848823 , -221.41 , 433 , 1000 , 0.005132821635891604, 0.0006716537475585937, 7.6420650588923085 +GAUSS3LS , 14725.134251776495 , 15280.84279431247 , -3.77 , True, 0.0 , 0.0 , 0.00 , 4000 , 10 , 0.0004968634843826294, 3.921985626220703e-05, 12.668671732522798 +GAUSSIAN , 1.1336670930726987e-08 , 2.4788513400717508e-08 , -118.66 , True, 0.0 , 0.0 , 0.00 , 198 , 37 , 0.0004235662595190183, 1.851288047996727e-05, 22.87954378452116 +GBRAIN , 0.0 , 0.0 , 0.00 , False, 0.3285258575483354 , 0.3285258592172833 , -0.00 , 17 , 16 , 0.02392735200769761, 0.009956687688827515, 2.4031437718536353 +GBRAINLS , 31.166329428798402 , 35.44131496314514 , -13.72 , True, 0.0 , 0.0 , 0.00 , 1000 , 1000 , 0.0005173192024230957, 0.00013014793395996094, 3.9748552795486187 +GENHS28 , 3.2568363276182606e-11 , 5.55777447913074e-07 , -1706394.87, True, 0.0 , 0.0 , 0.00 , 1450 , 750 , 0.0005994227836871969, 1.595465342203776e-05, 37.5704045604168 +GIGOMEZ1 , -2.999999999999996 , -2.999999997573364 , -0.00 , True, 0.0 , 0.0 , 0.00 , 24 , 34 , 0.0010816256205240886, 3.426916459027459e-05, 31.562649205374804 +GIGOMEZ2 , 1.9522244909044881 , 1.9522244852083008 , 0.00 , True, 4.621070193167043e-09 , 4.926685215345117e-08 , -966.14 , 97 , 63 , 0.0007551158826375745, 2.541239299471416e-05, 29.714473674110124 +GIGOMEZ3 , 1.9999999999999987 , 1.999999828821951 , 0.00 , True, 2.6645352591003757e-15 , 2.7141195113600247e-07 , -10186089583.33, 25 , 31 , 0.001059122085571289, 3.084059684507308e-05, 34.341815461346634 +GOTTFR , 0.0 , 0.0 , 0.00 , False, 4.27467727881492e-10 , 2.6967234852959265e-05 , -6308501.35, 14 , 21 , 0.0011487177440098353, 5.652790977841332e-05, 20.321249246836715 +GROWTH , 0.0 , 0.0 , 0.00 , False, 0.44094130354844197 , 1.3949791199835566 , -216.36 , 541 , 1000 , 0.0009481849599898192, 5.86700439453125e-05, 16.161313273834274 +GROWTHLS , 13.322116557546796 , 181.62077882048226 , -1263.30, True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.0004216354688008626, 7.557153701782226e-06, 55.79289312342914 +GULF , 6.21412247743578 , 6.501497325883342 , -4.62 , True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.000441400686899821, 1.5545129776000975e-05, 28.394789445969646 +GULFNE , 0.0 , 0.0 , 0.00 , False, 1.1092515794786095e-13 , 0.04134414520967966 , -37272108486879.11, 89 , 431 , 0.01262672831503193, 0.00035641752097003695, 35.42678901044661 +HAHN1 , 0.0 , 0.0 , 0.00 , False, 0.7809017486741325 , 8.56824335194635 , -997.22 , 500 , 77 , 0.004157715797424316, 0.0007654970342462713, 5.4313937369046945 +HAHN1LS , 5271.868589886371 , 85286.67344375506 , -1517.77, True, 0.0 , 0.0 , 0.00 , 67 , 91 , 0.00037538827355228254, 1.3922597025776957e-05, 26.96251804582657 +HAIFAS , -0.4500000131807079 , -0.4500000074988339 , -0.00 , True, 1.3450682048721574e-08 , 4.1187254273822305e-08 , -206.21 , 287 , 265 , 0.0016470379114981728, 3.324904531802771e-05, 49.536397082810225 +HAIRY , 20.00000000161213 , 251.30580051764042 , -1156.53, True, 0.0 , 0.0 , 0.00 , 84 , 1000 , 0.00039306141081310456, 6.242036819458008e-06, 62.970056438602334 +HALDMADS , 0.0001223709968637849 , 0.0002916104355905428 , -138.30 , True, 3.61577434659921e-12 , 4.996403735191279e-09 , -138083.51, 62 , 221 , 0.002732949872170725, 7.622705865229956e-05, 35.85275255912396 +HART6 , -3.322886891570115 , -3.3228867218749034 , -0.00 , True, 0.0 , 0.0 , 0.00 , 203 , 118 , 0.0004830055048900285, 1.0609626770019531e-05, 45.525211711961035 +HATFLDA , 2.494489994050722e-07 , 7.285208048767928e-06 , -2820.52, True, 0.0 , 0.0 , 0.00 , 2000 , 1000 , 0.00043604302406311034, 7.794857025146485e-06, 55.939836055545356 +HATFLDB , 0.005572809002647818 , 0.005572874623415028 , -0.00 , True, 0.0 , 0.0 , 0.00 , 388 , 174 , 0.0006030232635969968, 1.043560861170977e-05, 57.78515523477432 +HATFLDD , 0.0017122455222537462 , 0.004890529393961784 , -185.62 , True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.0003882781664530436, 6.721973419189453e-06, 57.76252630583339 +HATFLDE , 0.004049535992833022 , 0.031405692251434275 , -675.54 , True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.00038916333516438804, 7.644176483154296e-06, 50.909778969912466 +HATFLDF , 0.0 , 0.0 , 0.00 , False, 9.124645483638005e-14 , 7.890691318818144e-07 , -864766792.37, 159 , 191 , 0.0008564970028475396, 3.1644761250281206e-05, 27.065996677093857 +HATFLDFL , 6.656992069304824e-05 , 7.244685317496869e-05 , -8.83 , True, 0.0 , 0.0 , 0.00 , 215 , 89 , 0.0003837152969005496, 1.0527921526619557e-05, 36.44739333688384 +HATFLDH , -24.375 , -24.375 , 0.00 , False, 0.0 , 0.0 , 0.00 , 20 , 32 , 0.001858055591583252, 2.368539571762085e-05, 78.44731047499214 +HEART6 , 0.0 , 0.0 , 0.00 , False, 2.1671553440683056e-13 , 0.22262166486794607 , -102725291694969.81, 1669 , 1000 , 0.001976826292372807, 7.904624938964843e-05, 25.008476779566013 +HEART6LS , 7.197773453057586 , 23.743571322631414 , -229.87 , True, 0.0 , 0.0 , 0.00 , 3000 , 1000 , 0.0005915706157684326, 1.4957904815673828e-05, 39.54902929643916 +HEART8 , 0.0 , 0.0 , 0.00 , False, 0.6900000000149926 , 0.6900360359932733 , -0.01 , 652 , 670 , 0.0020069384867428272, 5.586574326700239e-05, 35.92431370958316 +HEART8LS , 1.4739420035255246 , 12.871721180799655 , -773.29 , True, 0.0 , 0.0 , 0.00 , 4000 , 1000 , 0.0005941292047500611, 8.085966110229492e-06, 73.4765885301489 +HELIX , 3.900559579423757e-06 , 0.002271381555571896 , -58132.20, True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.00043378734588623045, 6.973028182983398e-06, 62.20932061408008 +HELIXNE , 0.0 , 0.0 , 0.00 , False, 1.0426623004458758e-11 , 9.057696135262056 , -86870851006872.19, 34 , 1000 , 0.0011310577392578125, 4.068803787231445e-05, 27.79828663174302 +HET-Z , 0.9999980000553024 , 0.9999847951680927 , 0.00 , True, 0.0 , 1.3204831907307699e-05 , 0.00 , 14 , 19 , 0.010687862123761858, 0.0020331458041542455, 5.256810456940066 +HIELOW , 933.42472985683 , 934.6264228572329 , -0.13 , True, 0.0 , 0.0 , 0.00 , 1500 , 47 , 0.0006074873606363932, 0.00018564183661278258, 3.27236237111524 +HILBERTA , 2.3594076954326413e-13 , 1.0396446791292815e-08 , -4406279.96, True, 0.0 , 0.0 , 0.00 , 157 , 136 , 0.0004643756113234599, 8.036108577952665e-06, 57.78612954502507 +HILBERTB , 2.84270498004006e-12 , 7.915523753802663e-08 , -2784404.13, True, 0.0 , 0.0 , 0.00 , 278 , 188 , 0.0007291663464882391, 9.06371055765355e-06, 80.44898850752894 +HIMMELBA , 0.0 , 0.0 , 0.00 , False, 0.0 , 0.0 , 0.00 , 9 , 19 , 0.0007881588406032986, 3.4056211772717927e-05, 23.142880537132566 +HIMMELBC , 0.0 , 0.0 , 0.00 , False, 1.7763568394002505e-15 , 2.836890383051127e-06 , -159702730800.00, 18 , 17 , 0.0009702046712239584, 5.640703089096967e-05, 17.200066302005634 +HIMMELBD , 0.0 , 0.0 , 0.00 , False, 2.421306136054515 , 2.421306141377451 , -0.00 , 63 , 43 , 0.0007033764369904049, 4.444011422090752e-05, 15.827511907237424 +HIMMELBE , 0.0 , 0.0 , 0.00 , False, 1.0 , 1.0 , 0.00 , 15 , 26 , 0.0010210196177164713, 7.23416988666241e-05, 14.113846283855157 +HIMMELBF , 890.5284098490333 , 1070.3671292953572 , -20.19 , True, 0.0 , 0.0 , 0.00 , 2000 , 1000 , 0.000457810640335083, 7.806301116943359e-06, 58.646295278235904 +HIMMELBG , 5.361100772323128e-13 , 2.7549246520931086e-08 , -5138629.47, True, 0.0 , 0.0 , 0.00 , 60 , 40 , 0.00044314861297607423, 1.271963119506836e-05, 34.839737582005625 +HIMMELBH , -0.9999999999995057 , -0.9999999973448206 , -0.00 , True, 0.0 , 0.0 , 0.00 , 68 , 38 , 0.000538938185747932, 1.1280963295384458e-05, 47.77412811620755 +HIMMELP1 , -51.7378463582927 , -62.05393553329657 , 19.94 , True, 0.0 , 0.0 , 0.00 , 61 , 106 , 0.0005262601571004899, 1.0593882146871315e-05, 49.675855347882084 +HIMMELP2 , -62.05393553382555 , -62.05393553329657 , -0.00 , True, 0.0 , 0.0 , 0.00 , 83 , 106 , 0.0004562412399843515, 2.6867074786492112e-05, 16.98142591294437 +HIMMELP3 , -59.01317776912174 , -59.01317776912174 , 0.00 , False, 0.0 , 0.0 , 0.00 , 19 , 62 , 0.0011469439456337376, 3.5678186724262855e-05, 32.146923679105065 +HIMMELP4 , -59.01317776912174 , -59.01317776912174 , 0.00 , False, 0.0 , 0.0 , 0.00 , 20 , 62 , 0.0009227514266967774, 3.9808211788054436e-05, 23.17992658423493 +HIMMELP5 , -59.01317776912174 , -59.01317776912174 , 0.00 , False, 0.0 , 0.0 , 0.00 , 22 , 66 , 0.0010445334694602273, 3.0076864993933476e-05, 34.72880134518376 +HIMMELP6 , -59.01317776912174 , -59.01317776912174 , 0.00 , False, 0.0 , 0.0 , 0.00 , 24 , 66 , 0.0009252528349558512, 4.830143668434837e-05, 19.15580360481639 +HONG , 4.061062663274332 , 4.061062663274335 , -0.00 , True, 5.551115123125783e-17 , 0.0 , 100.00 , 23 , 27 , 0.0017893003380816915, 5.032398082591869e-05, 35.55561997909626 +HS1 , 0.01788269994453199 , 2.1103027689347647 , -11700.81, True, 0.0 , 0.0 , 0.00 , 1000 , 1000 , 0.00044731998443603514, 8.108854293823243e-06, 55.16438799212019 +HS10 , -1.0000000028914051 , -1.00000000465231 , 0.00 , True, 7.50245354730339e-09 , 2.000140697511199e-08 , -166.60 , 83 , 61 , 0.0006692553141030921, 2.3341569744172643e-05, 28.672249614667646 +HS100 , 680.6300573744683 , 680.6300574802386 , -0.00 , True, 1.3244516594568267e-11 , 2.801930065743363e-07 , -2115439.70, 431 , 280 , 0.0009507955918455898, 2.5528669357299805e-05, 37.24422838253864 +HS100LNP , 680.6300573743858 , 680.6300572845221 , 0.00 , True, 7.01803060110251e-10 , 1.826371942570404e-07 , -25924.00, 374 , 224 , 0.0010812888170946091, 3.165113074438912e-05, 34.16272315283055 +HS100MOD , 678.6796378890597 , 678.6796386861209 , -0.00 , True, 5.5294435696850996e-11 , 1.0783050186091714e-07 , -194911.49, 280 , 188 , 0.0007285782269069127, 2.285013807580826e-05, 31.885068899354614 +HS101 , 3000.0099000928994 , 236.17190388534164 , 92.13 , True, 0.009900092898921927 , 1.3451487192871672 , -13487.23, 3500 , 46 , 0.0015952905246189662, 3.1087709509808086e-05, 51.31579488400895 +HS102 , 911.8805725815748 , 202.18592831246204 , 77.83 , True, 3.806752670110556e-12 , 2.1733919973269047 , -57093070805148.42, 1771 , 55 , 0.0010692113405698306, 3.056526184082031e-05, 34.98125899061937 +HS103 , 3000.018922673851 , 174.7474889441776 , 94.18 , True, 0.0189226738507831 , 1.2393723415240554 , -6449.67, 3500 , 75 , 0.0017110674721854075, 2.8362274169921874e-05, 60.32899413968681 +HS104 , 3.951163371650058 , 3.9513715136736876 , -0.01 , True, 1.080468535118787e-08 , 4.852925915330567e-09 , 55.08 , 3482 , 1000 , 0.0012260883584370359, 2.6413917541503905e-05, 46.4182700847194 +HS105 , 1061.9983946607667 , nan , nan , True, 0.0 , 3.9998999999999967 , 0.00 , 4000 , 93 , 0.0008839464783668518, 3.399900210800991e-05, 25.99918890438848 +HS106 , 6408.986098247231 , 13299.236465270089 , -107.51 , True, 0.07173311174847186 , 0.03986072936095297 , 44.43 , 4000 , 1000 , 0.00339767050743103, 2.816319465637207e-05, 120.64222645502645 +HS107 , 5055.011797818983 , 5055.0118386894 , -0.00 , True, 2.0781103504674547e-09 , 2.077757521590229e-09 , 0.02 , 132 , 151 , 0.002598054481275154, 4.8343708973057224e-05, 53.741314774236585 +HS108 , -0.8660254053927573 , -0.8660254098736172 , 0.00 , True, 5.1851221094523225e-09 , 9.825623425996355e-09 , -89.50 , 357 , 164 , 0.002542537801405963, 3.9464089928603755e-05, 64.42661685612873 +HS109 , -6.075630920181735 , -0.791481842181902 , -86.97 , True, 39391.286883127956 , 44244.14310000495 , -12.32 , 4500 , 120 , 0.0012251831160651314, 8.616646130879721e-05, 14.218793454618122 +HS11 , -8.498464230058168 , -8.498464217757624 , -0.00 , True, 2.8172515431634793e-09 , 2.8175441979527704e-09 , -0.01 , 71 , 53 , 0.0008025068632313903, 4.3905006264740565e-05, 18.278254156084046 +HS110 , -45.77847553188483 , -43.13434222210946 , -5.78 , True, 0.0 , 0.0 , 0.00 , 266 , 11 , 0.0007715458260442977, 2.4015253240411933e-05, 32.12732417686816 +HS111 , -47.761090839123376 , -47.76095726980981 , -0.00 , True, 5.0930287764927584e-11 , 4.121700483694646e-08 , -80828.28, 5000 , 1000 , 0.0019273446559906005, 5.43212890625e-05, 35.480466116573034 +HS111LNP , -47.761090839123376 , -47.76095726980981 , -0.00 , True, 5.0930287764927584e-11 , 4.121700483694646e-08 , -80828.28, 5000 , 1000 , 0.0021519619941711425, 4.67989444732666e-05, 45.9831309956238 +HS112 , -47.76109081799816 , -47.3693863732629 , -0.82 , True, 0.0 , 6.661338147750939e-16 , 0.00 , 2883 , 15 , 0.0018186750322673373, 9.320576985677083e-05, 19.51247261904593 +HS113 , 24.306209068180017 , 24.306209066730947 , 0.00 , True, 1.4779288903810084e-12 , 1.9612997448348324e-08 , -1326959.62, 275 , 232 , 0.0021234989166259766, 3.793630106695767e-05, 55.97538128132196 +HS114 , -1600.274441285408 , -1577.7086066071042 , -1.41 , True, 4.574118861455645e-14 , 5.3681611689171405e-06 , -11735945841.75, 2316 , 1000 , 0.00436077628522751, 6.786513328552246e-05, 64.25650513174173 +HS116 , 169.48739323552041 , 249.65375977500202 , -47.30 , True, 4.739358888386432e-09 , 0.0034180440139655317 , -72120287.89, 6500 , 1000 , 0.006797220340141883, 4.018282890319824e-05, 169.1573372426469 +HS117 , 32.3486789657388 , 32.34867917533312 , -0.00 , True, 2.8554936193359026e-13 , 1.1005747351664328e-21 , 100.00 , 1362 , 1000 , 0.0030357590856005968, 3.605198860168457e-05, 84.20503842772067 +HS118 , 664.8204499999998 , 664.8204499999999 , -0.00 , True, 8.881784197001252e-16 , 7.105427357601002e-15 , -700.00 , 83 , 176 , 0.005454158208456384, 4.105134443803267e-05, 132.86186562511926 +HS119 , 27.00887068664121 , 27.00887077263801 , -0.00 , True, 3.5 , 3.5 , 0.00 , 497 , 635 , 0.0014590603005238461, 3.410399429441437e-05, 42.78268075956177 +HS12 , -30.00000000487068 , -30.000000009661655 , 0.00 , True, 1.0277179995910046e-08 , 2.7395921975426063e-08 , -166.57 , 58 , 42 , 0.0006992077005320582, 2.6078451247442336e-05, 26.811703421254112 +HS13 , 1.0000009773373966 , 1.0003666065301662 , -0.04 , True, 1.2564716695224914e-22 , 4.7000194648919074e-27 , 100.00 , 75 , 46 , 0.0008267752329508463, 3.20465668388035e-05, 25.79918270526713 +HS14 , 0.0 , 1.0000000000013602e-08 , 0.00 , False, 1.0 , 1.0 , 0.00 , 14 , 20 , 0.001044562884739467, 5.093812942504883e-05, 20.50650262445254 +HS15 , 306.4999999128419 , 360.3797664046955 , -17.58 , True, 1.2451162323401377e-10 , 9.003391365780544e-09 , -7130.96, 21 , 124 , 0.0010863826388404483, 2.5493483389577557e-05, 42.614130922751485 +HS16 , 23.144660975101118 , 23.1444209366138 , 0.00 , True, 0.0 , 3.7126701416534402e-06 , 0.00 , 14 , 17 , 0.001250811985560826, 4.435988033519072e-05, 28.196919741655755 +HS17 , 0.9999999999786774 , 0.9999471889441803 , 0.01 , True, 4.774957587311912e-09 , 2.6405879495512675e-05 , -552907.62, 35 , 30 , 0.0008222852434430803, 3.522237141927083e-05, 23.3455389375967 +HS18 , 4.999999999563107 , 4.9999999999803055 , -0.00 , True, 3.4652991587336146e-09 , 1.9802257611445384e-09 , 42.86 , 67 , 59 , 0.0007077153049298186, 2.8404138856014965e-05, 24.9159218843894 +HS19 , -6961.813875580151 , -6961.81465008001 , 0.00 , True, 2.4868995751603507e-14 , 5.8486743625962845e-06 , -23517935328.57, 38 , 28 , 0.0009570059023405376, 4.075254712785993e-05, 23.483339564959202 +HS2 , 4.941229318024095 , 4.941240175325019 , -0.00 , True, 0.0 , 0.0 , 0.00 , 42 , 36 , 0.0005515529995872861, 1.5305148230658637e-05, 36.03708969524634 +HS20 , 40.19872981077604 , 40.20502312072939 , -0.02 , True, 2.853273173286652e-14 , 0.0 , 100.00 , 15 , 17 , 0.00112152099609375, 4.776786355411305e-05, 23.478567234292427 +HS21 , -99.96 , -99.95999999 , -0.00 , True, 0.0 , 0.0 , 0.00 , 34 , 30 , 0.0006002327975104837, 2.3436546325683593e-05, 25.610974807013346 +HS21MOD , -95.96 , -95.95999993356425 , -0.00 , True, 0.0 , 2.5721554667454302e-21 , 0.00 , 83 , 453 , 0.000983266945344856, 1.607930686563319e-05, 61.15107781458064 +HS22 , 1.0000000000000036 , 1.0000012598347676 , -0.00 , True, 4.440892098500626e-16 , 4.440892098500626e-16 , 0.00 , 19 , 17 , 0.000879626525075812, 4.671601688160616e-05, 18.82922782790058 +HS23 , 2.0000000017670727 , 2.0000000414432746 , -0.00 , True, 0.0 , 0.0 , 0.00 , 22 , 18 , 0.0009432814337990501, 5.393558078342014e-05, 17.489038221110913 +HS24 , -1.0000000826919648 , -1.000000082691965 , 0.00 , True, 0.0 , 0.0 , 0.00 , 10 , 14 , 0.0010336875915527345, 3.036430903843471e-05, 34.04284913067863 +HS25 , 1.3837549393683133 , 2.092099908445872 , -51.19 , True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.000521976629892985, 1.4825105667114257e-05, 35.208965225175966 +HS26 , 1.8793965576815343e-08 , 1.2835596034629835e-06 , -6729.64, True, 1.1628193963275635e-09 , 8.136795215385462e-08 , -6897.47, 1500 , 192 , 0.0010811306635538738, 2.8432657321294148e-05, 38.024256802201165 +HS268 , 2.2637881498121715 , 2.5071222611513804 , -10.75 , True, 0.0 , 0.0 , 0.00 , 2500 , 972 , 0.0006303243637084961, 1.1791172341554743e-05, 53.457310727881676 +HS27 , 0.04000000000194822 , 0.045069006451661266 , -12.67 , True, 3.866647900436256e-12 , 4.09149025930311e-06 , -105814816.81, 822 , 1000 , 0.0007454858789188728, 2.628779411315918e-05, 28.358631983719643 +HS28 , 5.676213641791447e-14 , 7.066937017007986e-09 , -12449989.91, True, 0.0 , 0.0 , 0.00 , 99 , 49 , 0.0004481330062403823, 1.949193526287468e-05, 22.990688210109077 +HS29 , -22.6274169990359 , -22.627416916754395 , -0.00 , True, 1.587153519722051e-09 , 6.20848545906938e-08 , -3811.71, 97 , 69 , 0.0005990500302658868, 2.3292458575704824e-05, 25.718625980115526 +HS3 , 3.4052170504073325e-13 , 2.106046023506225e-14 , 93.82 , True, 0.0 , 0.0 , 0.00 , 27 , 40 , 0.0006480040373625579, 1.3470649719238281e-05, 48.10488364470665 +HS30 , 1.000000000000247 , 1.0000000131512348 , -0.00 , True, 0.0 , 0.0 , 0.00 , 82 , 64 , 0.0008902288064724062, 3.731250762939453e-05, 23.858723603210475 +HS31 , 5.999999990445379 , 6.000000006108164 , -0.00 , True, 5.2100325165227446e-09 , 8.156090025579488e-09 , -56.55 , 83 , 62 , 0.0006398178008665521, 2.6337562068816154e-05, 24.29297742876895 +HS32 , 0.6688834125791887 , 0.66888342705263 , -0.00 , True, 1.0 , 1.0 , 0.00 , 59 , 57 , 0.000972557876069667, 3.9385076154742326e-05, 24.693563426119262 +HS33 , -4.585786437626904 , -4.585786433534783 , -0.00 , True, 0.0 , 0.0 , 0.00 , 32 , 25 , 0.001994185149669647, 3.631591796875e-05, 54.91215040703782 +HS34 , -0.8340324452479582 , -0.8340165056052742 , -0.00 , True, 5.329070518200751e-15 , 0.0 , 100.00 , 28 , 33 , 0.0010270306042262486, 3.345084912849195e-05, 30.702676643011415 +HS35 , 0.11111111111171246 , 0.1111111155756026 , -0.00 , True, 0.0 , 0.0 , 0.00 , 72 , 50 , 0.0005552636252509223, 1.7981529235839844e-05, 30.87966646041427 +HS35I , 0.11111111111171246 , 0.1111111155756026 , -0.00 , True, 0.0 , 0.0 , 0.00 , 72 , 50 , 0.0005350444051954481, 1.7681121826171874e-05, 30.26077250389548 +HS35MOD , 0.25 , 0.25000002500000007 , -0.00 , True, 0.0 , 0.0 , 0.00 , 34 , 30 , 0.00037397356594310086, 2.5733311971028647e-05, 14.532663590451621 +HS36 , -3299.9999999999995 , -3300.0000000000014 , 0.00 , True, 0.0 , 1.4210854715202004e-14 , 0.00 , 20 , 31 , 0.0010371088981628418, 2.9710031324817288e-05, 34.907701268444214 +HS37 , -3455.9999999999986 , -3455.9999999638426 , -0.00 , True, 0.0 , 0.0 , 0.00 , 98 , 73 , 0.0005423365807046696, 1.557559183199112e-05, 34.81964515728707 +HS38 , 7.5476248033592785 , 7.874123872468778 , -4.33 , True, 0.0 , 0.0 , 0.00 , 2000 , 357 , 0.0004899615049362183, 2.046459529246269e-05, 23.941910305779462 +HS39 , -1.000000012835143 , -1.0000000058376701 , -0.00 , True, 8.118040530880083e-09 , 1.7800509626324054e-08 , -119.27 , 137 , 115 , 0.0011027242145399108, 3.407934437627378e-05, 32.35755366548757 +HS3MOD , 7.69905444614579e-15 , 9.387483074291592e-09 , -121930237.55, True, 5.1640636690727773e-26 , 9.123820083056552e-25 , -1666.79, 76 , 77 , 0.0005037627722087659, 9.960942454152293e-06, 50.57380609590498 +HS4 , 2.666666664 , 2.666666664 , 0.00 , False, 0.0 , 0.0 , 0.00 , 10 , 13 , 0.0010376930236816405, 1.9238545344426082e-05, 53.93822688274547 +HS40 , -0.25000000310672466 , -0.2500000112476113 , 0.00 , True, 7.60447804726283e-09 , 2.0260675581695864e-08 , -166.43 , 76 , 76 , 0.0013092348450108578, 4.0330384906969573e-05, 32.46274113254511 +HS41 , 1.9259259259259351 , 2.0 , -3.85 , True, 0.0 , 1.1102230246251565e-16 , 0.00 , 83 , 44 , 0.0009465303765722068, 2.4562532251531426e-05, 38.53553725158743 +HS42 , 12.857864369257461 , 12.857864362253792 , 0.00 , True, 3.0286253505096283e-09 , 9.117252952606236e-09 , -201.04 , 112 , 80 , 0.0008638820477894374, 4.929900169372559e-05, 17.523317270324885 +HS43 , -44.00000001180716 , -44.00000004253842 , 0.00 , True, 4.025152655628972e-09 , 2.902606199839397e-08 , -621.12 , 109 , 94 , 0.0009566228324120198, 2.6253943747662485e-05, 36.43730030072882 +HS44 , -15.0 , -15.0 , 0.00 , False, 2.5544872326980644e-17 , 5.551115123125783e-17 , -117.31 , 23 , 33 , 0.0012792608012323794, 2.1688865892814867e-05, 58.98237406946094 +HS44NEW , -15.0 , -14.999999999999998 , -0.00 , True, 0.0 , 0.0 , 0.00 , 19 , 32 , 0.0014921614998265316, 2.2292137145996094e-05, 66.93667323388685 +HS45 , 1.0000000004 , 1.0000000003999994 , 0.00 , True, 0.0 , 8.881784197001252e-16 , 0.00 , 26 , 37 , 0.0015603854106022762, 1.523945782635663e-05, 102.39113677020654 +HS46 , 9.370651493355147e-07 , 4.660020949307742e-06 , -397.30 , True, 8.230502390738081e-11 , 8.617643154629206e-09 , -10370.37, 2500 , 114 , 0.0012634352684020996, 3.8694917109974646e-05, 32.6511945951789 +HS47 , 1.262452556451271e-09 , 2.4931387134398777e-07 , -19648.38, True, 7.983613770079501e-13 , 5.200653241388409e-09 , -651315.94, 1484 , 267 , 0.0015157364770729909, 3.294730454348446e-05, 46.00487044615422 +HS48 , 1.3668380310505785e-12 , 2.3896504076590145e-08 , -1748205.47, True, 3.0 , 3.0 , 0.00 , 126 , 97 , 0.000975270119924394, 2.107177813028552e-05, 46.28323788786871 +HS49 , 4.060968732970158e-06 , 4.208809976512229e-05 , -936.41 , True, 0.0 , 0.0 , 0.00 , 2500 , 1000 , 0.0006804152488708496, 1.4566898345947265e-05, 46.70968607810403 +HS5 , -1.9132229549805313 , -1.9132229482506355 , -0.00 , True, 0.0 , 0.0 , 0.00 , 57 , 38 , 0.00041175306889048793, 1.2786764847604851e-05, 32.201504743212304 +HS50 , 3.394568194263641e-07 , 5.329841050980891e-06 , -1470.11, True, 0.0 , 0.0 , 0.00 , 2500 , 857 , 0.0004937252044677734, 1.5659399043720827e-05, 31.529000767481524 +HS51 , 1.2524005178970177e-13 , 1.790358943006667e-08 , -14295318.42, True, 2.220446049250313e-16 , 1.1102230246251565e-16 , 50.00 , 111 , 98 , 0.0010970798698631493, 1.7246421502560984e-05, 63.61202929548254 +HS52 , 5.326647564487172 , 5.3266481128480265 , -0.00 , True, 0.0 , 8.326672684688674e-17 , 0.00 , 155 , 117 , 0.001097936014975271, 1.6899190397344082e-05, 64.96974051181914 +HS53 , 4.093023255813972 , 4.093023284924769 , -0.00 , True, 1.1102230246251565e-16 , 1.1102230246251565e-16 , 0.00 , 84 , 88 , 0.0009581758862450009, 2.052296291698109e-05, 46.68798994185133 +HS54 , -0.8350653717953426 , -0.8346917264256679 , -0.04 , True, 0.0 , 0.0 , 0.00 , 3000 , 1000 , 0.0004626483917236328, 1.4852046966552734e-05, 31.150479982020745 +HS55 , 0.9999999999999998 , 1.0 , -0.00 , True, 4.398722839364572e-17 , 7.323949384273595e-21 , 99.98 , 27 , 82 , 0.0016306594566062645, 1.7767999230361568e-05, 91.77507469832784 +HS56 , -3.455999996784974 , -3.455999770215785 , -0.00 , True, 6.962839194102344e-10 , 1.0788117066340419e-07 , -15393.85, 425 , 280 , 0.001703639871933881, 3.2857486179896764e-05, 51.84936737419131 +HS57 , 0.030646319844124605 , 0.03064653795175385 , -0.00 , True, 0.0 , 0.0 , 0.00 , 41 , 30 , 0.0003853716501375524, 2.693335215250651e-05, 14.308343348998552 +HS59 , -7.802789403951061 , -6.74950471925318 , -13.50 , True, 4.908088158117607e-09 , 0.0 , 100.00 , 62 , 107 , 0.000540583364425167, 2.2963942768417787e-05, 23.540529162467212 +HS6 , 2.659399629742652e-16 , 3.430240577916082e-10 , -128985425.14, True, 3.997913111675189e-12 , 4.0028778069967075e-08 , -1001141.82, 51 , 40 , 0.0006423744500852099, 3.2448768615722655e-05, 19.796574030052877 +HS60 , 0.03256820028662839 , 0.03256820403967027 , -0.00 , True, 2.5243585000112034e-11 , 4.5365016188014806e-08 , -179609.09, 82 , 50 , 0.0007014390898913872, 3.386020660400391e-05, 20.71573567446701 +HS61 , -81.9190960946562 , -81.91909603830148 , -0.00 , True, 7.051248473999294e-11 , 7.051226269538802e-09 , -9899.97, 77 , 73 , 0.000797024020900974, 3.163128683011826e-05, 25.197331527532867 +HS62 , -26272.514646270065 , nan , nan , True, 0.0 , 1.533407839658385 , 0.00 , 385 , 59 , 0.0005814162167635831, 2.0572694681458552e-05, 28.261548900912484 +HS63 , 961.7151721285715 , 961.7151721061806 , 0.00 , True, 1.2500507295953867e-09 , 1.9999431444261973e-08 , -1499.89, 76 , 66 , 0.0010064338382921722, 4.3572801532167375e-05, 23.0977537110892 +HS64 , 6299.842422132616 , 6299.84242792121 , -0.00 , True, 5.776867061102475e-09 , 4.1320419308377154e-13 , 99.99 , 176 , 371 , 0.0006296878511255437, 2.0644092816869524e-05, 30.502083899321946 +HS65 , 0.953528855884636 , 0.9535288959683764 , -0.00 , True, 6.471939428820406e-09 , 2.3011377692228052e-08 , -255.56 , 98 , 70 , 0.0005856338812380421, 2.948556627546038e-05, 19.861713889668145 +HS66 , 0.5181632731531938 , 0.5181632732274452 , -0.00 , True, 4.561963695692839e-09 , 2.60709320798469e-09 , 42.85 , 69 , 58 , 0.0007716192715409874, 2.6739876845787313e-05, 28.856500573694706 +HS68 , -0.9204250023983066 , -0.9203940315688056 , -0.00 , True, 1.6521228829446954e-12 , 2.16818663023588e-09 , -131136.40, 1919 , 1000 , 0.0009502293605118632, 3.0305147171020507e-05, 31.355378515387187 +HS7 , -1.7320508076751209 , -1.7320508111268387 , 0.00 , True, 4.0000580625587645e-10 , 4.0000162737641176e-08 , -9899.90, 71 , 54 , 0.0007170690617091219, 3.0446935583043983e-05, 23.55143622757426 +HS70 , 0.2690861852831081 , 0.26908618894490766 , -0.00 , True, 7.929190637412376e-10 , 0.0 , 100.00 , 71 , 64 , 0.0011711825787181585, 3.343820571899414e-05, 35.02528181567121 +HS71 , 17.014017287253317 , 17.01401728831689 , -0.00 , True, 7.500043253116928e-09 , 2.000000343116426e-08 , -166.67 , 137 , 70 , 0.0010568695346804431, 4.554476056780134e-05, 23.205073898832072 +HS72 , 727.67899310589 , 727.6793577895986 , -0.00 , True, 1.2488123892840167e-08 , 5.121120541518032e-15 , 100.00 , 320 , 944 , 0.0011094622313976288, 2.1704425246028577e-05, 51.11686758904779 +HS73 , 21.70034024455217 , 21.70034043817458 , -0.00 , True, 5.808574387409816e-12 , 0.0 , 100.00 , 24 , 28 , 0.001163711150487264, 5.1294054303850445e-05, 22.687057326250553 +HS74 , 5126.498109901266 , 436.89511259075994 , 91.48 , True, 1.159658880034442e-08 , 479.93301445999 , -4138570597882.54, 157 , 1000 , 0.0010929745473679464, 3.654408454895019e-05, 29.908384923527777 +HS75 , 5174.412695642915 , 436.89511259075994 , 91.56 , True, 1.353841483364704e-10 , 479.93301445999 , -354497199529649.88, 83 , 1000 , 0.0013568688587970044, 3.610801696777344e-05, 37.57804977238201 +HS76 , -4.681818181818033 , -4.681818171849587 , -0.00 , True, 8.881784197001252e-16 , 1.2688556221783827e-16 , 85.71 , 78 , 72 , 0.0006519494912563226, 1.4291869269476996e-05, 45.61681043701433 +HS76I , -4.681818181818033 , -4.681818171849587 , -0.00 , True, 8.881784197001252e-16 , 1.2688556221783827e-16 , 85.71 , 78 , 72 , 0.0006382067998250326, 1.5599860085381402e-05, 40.91105922309489 +HS77 , 0.24150512830947857 , 0.2415051297117471 , -0.00 , True, 2.630118345336996e-13 , 3.381773971966595e-08 , -12857777.59, 201 , 132 , 0.0009368497933914412, 3.094564784656871e-05, 30.274040409056106 +HS78 , -2.919700409047368 , -2.9197004157844497 , 0.00 , True, 1.240882951947242e-10 , 2.0006278744766348e-08 , -16022.62, 124 , 110 , 0.0011742884112942603, 3.3055652271617545e-05, 35.524587493998276 +HS79 , 0.07877682098723651 , 0.07877682718903371 , -0.00 , True, 4.805045250577678e-13 , 6.055925760861669e-09 , -1260226.48, 120 , 91 , 0.0013684988021850585, 3.44737545474545e-05, 39.696830825353395 +HS8 , -1.0 , -1.0 , 0.00 , False, 1.1235457009206584e-13 , 0.0002806925282650141 , -249827423951.38, 15 , 17 , 0.0007341225941975911, 4.736114950741039e-05, 15.500523146777217 +HS80 , 0.05394984776144163 , 0.05394984783191497 , -0.00 , True, 4.405702358489805e-09 , 2.065755155822302e-08 , -368.88 , 131 , 106 , 0.0011649386573383826, 3.648029183441738e-05, 31.933370013211345 +HS83 , -30665.53867178331 , -30665.538289526732 , -0.00 , True, 0.0 , 3.268360524278465e-08 , 0.00 , 36 , 67 , 0.0016066100862291125, 3.061009876763643e-05, 52.486275801493186 +HS84 , -5280335.079198177 , -5280334.2186224535 , -0.00 , True, 0.0 , 0.0 , 0.00 , 32 , 54 , 0.0014945939183235168, 3.1329967357494216e-05, 47.70493059470124 +HS85 , -2.2156046884766307 , -2.215604689605889 , 0.00 , True, 6.295408638834488e-12 , 8.624069209872687e-07 , -13698882.39, 49 , 266 , 0.0018364701952253068, 7.541645738415252e-05, 24.351053588619102 +HS86 , -32.34867896572225 , -32.34867871945164 , -0.00 , True, 1.1102230246251565e-16 , 0.0 , 100.00 , 81 , 76 , 0.0008820751566945771, 1.5315256620708266e-05, 57.594539780802236 +HS87 , 8996.881026598478 , 9196.88105110364 , -2.22 , True, 1.4873345610677546e-13 , 1.971844909576248e-11 , -13157.57, 146 , 142 , 0.0024563694653445727, 4.1541918902329994e-05, 59.12989891294599 +HS88 , 1.3626551998868794 , 1.3626533804334495 , 0.00 , True, 1.5249093925383045e-09 , 2.2630245737767312e-08 , -1384.04, 121 , 132 , 0.0006946532194279442, 5.406863761670662e-05, 12.847618324551679 +HS89 , 1.3626510087114894 , 0.6534571821001889 , 52.05 , True, 5.62993057938953e-09 , 0.05121323369363297 , -909660027.62, 295 , 368 , 0.0008284415228892181, 7.655115231223728e-05, 10.822064696167683 +HS9 , -0.4999999999999995 , -0.4999999997539461 , -0.00 , True, 1.7763568394002505e-15 , 1.7763568394002505e-15 , 0.00 , 41 , 33 , 0.0005403669869027487, 3.151460127397017e-05, 17.146559532995603 +HS90 , 1.362648090657046 , 1.3630340071803333 , -0.03 , True, 8.82065914600339e-09 , 1.529846251095083e-08 , -73.44 , 2000 , 164 , 0.000781682014465332, 0.00010245747682524891, 7.629331100926543 +HS91 , 1.3627003313032782 , 0.8818616472766194 , 35.29 , True, 9.618945080470129e-09 , 0.0066511102162089 , -69145842.31, 2500 , 1000 , 0.0008310148239135742, 0.0001330878734588623, 6.244106260894178 +HS92 , 1.362648315862452 , 1.367642925113423 , -0.37 , True, 8.823653232590124e-09 , 3.131879766495678e-08 , -254.94 , 2200 , 504 , 0.0010079858519814232, 0.00020546667159549773, 4.905836280668648 +HS93 , 135.07596849134077 , 135.08418262044773 , -0.01 , True, 8.19484991407271e-10 , 9.17840560556979e-07 , -111902.12, 3000 , 1000 , 0.0009676140149434408, 2.3874998092651366e-05, 40.528338942203675 +HS95 , 0.015619525242393854 , 0.015619525242383853 , 0.00 , True, 9.74976069359163e-21 , 5.55208328359702e-17 , -569358.42, 27 , 38 , 0.0018240699061640986, 3.705526653089022e-05, 49.22565877763981 +HS96 , 0.015619525242393854 , 0.015619525242383853 , 0.00 , True, 9.74976069359163e-21 , 5.55208328359702e-17 , -569358.42, 27 , 38 , 0.0017926339749936705, 3.7161927474172494e-05, 48.2384552372734 +HS97 , 4.071246356513221 , 4.071246356513634 , -0.00 , True, 2.6496772428321986e-15 , 4.7477714944161886e-14 , -1691.83, 90 , 44 , 0.00126546753777398, 3.5746531053022906e-05, 35.401128459063884 +HS98 , 4.071246356513219 , 4.07124635651389 , -0.00 , True, 6.277010138248813e-15 , 0.0 , 100.00 , 47 , 44 , 0.0014956809104757105, 3.919818184592507e-05, 38.156895040559064 +HS99 , -831079891.4454019 , -831079253.8696586 , -0.00 , True, 8.119968697428703e-09 , 0.003438641535467468 , -42347865.41, 1063 , 870 , 0.0015174817724936656, 2.9898785996711118e-05, 50.75395946379192 +HUBFIT , 0.016893493939398714 , 0.01689349718586012 , -0.00 , True, 0.0 , 1.1102230246251565e-16 , 0.00 , 42 , 38 , 0.0005108628954206194, 1.968208112214741e-05, 25.955735689239038 +HUMPS , 0.07402558850596634 , 2.0602960599452964 , -2683.22, True, 0.0 , 0.0 , 0.00 , 1000 , 1000 , 0.00036452412605285643, 6.0830116271972655e-06, 59.92494316845654 +HYPCIR , 0.0 , 0.0 , 0.00 , False, 6.257883100602157e-11 , 1.2569433910147865e-05 , -20085660.17, 14 , 16 , 0.0009254898343767438, 5.869567394256592e-05, 15.767598737895767 +INTEQNE , 0.0 , 0.0 , 0.00 , False, 1.1899801123065486e-16 , 5.390476856057033e-06 , -4529888189046.81, 63 , 74 , 0.0036056230938623824, 7.734749768231366e-05, 46.615898405293166 +JENSMP , 244.6723932383504 , 256.16633854572797 , -4.70 , True, 0.0 , 0.0 , 0.00 , 1000 , 31 , 0.0003684151172637939, 1.045196287093624e-05, 35.24841427520236 +JENSMPNE , 0.0 , 0.0 , 0.00 , False, 4.6933761371746625 , 4.693388772381194 , -0.00 , 57 , 63 , 0.0008112296723482901, 5.666793338836185e-05, 14.315497739942217 +KIRBY2 , 0.0 , 0.0 , 0.00 , False, 0.3353220492242386 , 8.704211509383981 , -2495.78, 453 , 1000 , 0.0037359007146974274, 0.00048044490814208986, 7.775919052081093 +KIRBY2LS , 1134.542293442038 , 200082.05825988215 , -17535.49, True, 0.0 , 0.0 , 0.00 , 39 , 57 , 0.00042369426825107675, 1.2820227104320861e-05, 33.0488894466056 +KIWCRESC , -4.3039668897216e-09 , -2.5269589045371094e-09, -41.29 , True, 9.77613667796362e-09 , 1.9999999767428278e-08 , -104.58 , 65 , 65 , 0.0013820758232703577, 2.5228353647085337e-05, 54.7826403024135 +KOEBHELB , 112.2324652731155 , 113.28664365934536 , -0.94 , True, 0.0 , 0.0 , 0.00 , 1500 , 14 , 0.0004128459294637044, 2.4931771414620535e-05, 16.559029143897995 +KOWOSB , 0.0003539600568591833 , 0.00038688806415937014 , -9.30 , True, 0.0 , 0.0 , 0.00 , 2000 , 1000 , 0.0004183650016784668, 6.96706771850586e-06, 60.048935733351584 +KOWOSBNE , 0.0 , 0.0 , 0.00 , False, 0.008084368386043338 , 0.00808583455662032 , -0.02 , 39 , 38 , 0.0015308184501452323, 6.61862523932206e-05, 23.128948909970806 +KSIP , 0.5757979234546846 , 0.5757979255464901 , -0.00 , True, 1.3807686216615878e-08 , 6.661338147750939e-16 , 100.00 , 750 , 634 , 0.027528508186340332, 0.0008133755121321332, 33.84477129656728 +LANCZOS1 , 0.0 , 0.0 , 0.00 , False, 2.624619657026761e-09 , 4.521541613344837e-09 , -72.27 , 507 , 689 , 0.003046384224524865, 0.00011666454320722118, 26.11234005445712 +LANCZOS1LS , 0.0015028766437297843 , 0.0023299171692234373 , -55.03 , True, 0.0 , 0.0 , 0.00 , 3000 , 1000 , 0.0006532660325368246, 1.0816097259521484e-05, 60.39757380710959 +LANCZOS2 , 0.0 , 0.0 , 0.00 , False, 2.5616923711169193e-06 , 3.0022247374805744e-06 , -17.20 , 741 , 1000 , 0.0028394983525861775, 9.669089317321777e-05, 29.366761019565022 +LANCZOS2LS , 0.0014905484473592546 , 0.0023493445221330583 , -57.62 , True, 0.0 , 0.0 , 0.00 , 3000 , 1000 , 0.0005183592637379964, 8.569955825805664e-06, 60.485640098298326 +LANCZOS3 , 0.0 , 0.0 , 0.00 , False, 3.8872465890252283e-05 , 3.9353375935691215e-05 , -1.24 , 654 , 77 , 0.0022951266087523296, 0.00011855905706232244, 19.358509300102313 +LANCZOS3LS , 0.0014414244649921589 , 0.002248338414042431 , -55.98 , True, 0.0 , 0.0 , 0.00 , 3000 , 1000 , 0.00047188337643941245, 8.73398780822754e-06, 54.02839880253687 +LEWISPOL , 3.8200966003246027e-13 , 6.037172370249287e-09 , -1580271.65, True, 30.0 , 30.0 , 0.00 , 169 , 135 , 0.001029722789335533, 8.529027303059896e-05, 12.073156208165813 +LIN , -0.01960627871535296 , -0.019122267920497843 , -2.47 , True, 1.1102230246251565e-16 , 0.029258730348960538 , -26353921419382400.00, 324 , 60 , 0.0010510491736141251, 0.0003184676170349121, 3.3003329613224177 +LOGHAIRY , 5.936265653044021 , 6.204964390857263 , -4.53 , True, 0.0 , 0.0 , 0.00 , 1000 , 1000 , 0.0004649970531463623, 7.606029510498047e-06, 61.135320669550495 +LOGROS , 0.0 , 0.5738932043439839 , 0.00 , False, 0.0 , 0.0 , 0.00 , 34 , 882 , 0.00042635553023394416, 8.441153026762463e-06, 50.509157798963564 +LOOTSMA , -6.639986497366268 , 4.900175445692261 , -173.80 , True, 1.0000000000003528 , 1.0000000200000276 , -0.00 , 84 , 67 , 0.0009571285474868048, 3.1044234090776585e-05, 30.83112131831183 +LOTSCHD , 0.0 , 6.642249999999998e-09 , 0.00 , False, 0.0 , 6.487214466105119e-21 , 0.00 , 57 , 127 , 0.0021796477468390215, 2.7889341819943407e-05, 78.15343083071167 +LSC1 , 0.0 , 0.0 , 0.00 , False, 20.59128191228956 , 20.634217308633765 , -0.21 , 124 , 1000 , 0.001209572438270815, 5.10711669921875e-05, 23.684057159998844 +LSC1LS , 1094.5009122473384 , 1569.0090759854781 , -43.35 , True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.00044538021087646483, 7.580041885375976e-06, 58.75695907904256 +LSC2 , 0.0 , 0.0 , 0.00 , False, 1.8579296004027128 , 1.9223791146362714 , -3.47 , 156 , 1000 , 0.0010485068345681215, 4.978203773498535e-05, 21.061950901846306 +LSC2LS , 16.04542573077069 , 36.74697943684713 , -129.02 , True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.0005188700358072916, 1.0124683380126953e-05, 51.24802587167773 +LSNNODOC , 0.0013164087313451043 , 0.00248921836647701 , -89.09 , True, 10.0 , 10.0 , 0.00 , 2500 , 1000 , 0.001014249610900879, 1.9684076309204103e-05, 51.52640108525817 +LSQFIT , 0.03378698787879743 , 0.03378699437172024 , -0.00 , True, 0.0 , 1.1102230246251565e-16 , 0.00 , 42 , 38 , 0.000628329458690825, 1.910485719379626e-05, 32.888466651028224 +MADSEN , 0.616432435072257 , 0.616432429017703 , 0.00 , True, 1.8759019893010986e-09 , 2.0002580702893624e-08 , -966.29 , 84 , 63 , 0.0010018462226504372, 3.4112778920975945e-05, 29.368648768582204 +MAKELA1 , -1.4142135674087453 , -1.414213574056223 , 0.00 , True, 7.50028950058379e-09 , 1.9999412681492856e-08 , -166.65 , 89 , 64 , 0.0008727084384875352, 3.415718674659729e-05, 25.54977507257601 +MAKELA2 , 7.199999994681275 , 7.199999998946289 , -0.00 , True, 7.50009743200053e-09 , 1.9999744083065707e-08 , -166.66 , 93 , 85 , 0.0008986124428369666, 2.7011422549977023e-05, 33.26786810929108 +MARATOS , -1.0000000030881628 , -1.0000000065320287 , 0.00 , True, 7.499812483947891e-09 , 1.999789887698231e-08 , -166.65 , 54 , 42 , 0.0008073515362209744, 3.869192940848214e-05, 20.866148278560253 +MARATOSB , 1.0000001135252934 , 1.0280420792410259 , -2.80 , True, 0.0 , 0.0 , 0.00 , 46 , 31 , 0.0004007608994193699, 1.125181874921245e-05, 35.61743291033908 +MATRIX2 , 2.4886787886708407e-13 , 5.5903814276132715e-09 , -2246225.02, True, 2.989196465904595e-12 , 1.3090055599121024e-09 , -43691.22, 133 , 117 , 0.0013546298321028402, 3.181971036470853e-05, 42.57203527550866 +MAXLIKA , 1149.311569730486 , nan , nan , True, 0.0 , 3.9998999999999967 , 0.00 , 4000 , 93 , 0.001142895758152008, 4.257950731503066e-05, 26.841450975374798 +MCONCON , -13372.956913035729 , -8970.549732816078 , -32.92 , True, 1000.0 , 1000.0000000000001 , -0.00 , 4947 , 1000 , 0.003936196279593229, 4.70731258392334e-05, 83.61875718719706 +MDHOLE , 5.817221177434099 , 7.93810479325739 , -36.46 , True, 0.0 , 0.0 , 0.00 , 1000 , 1000 , 0.0003581387996673584, 6.824016571044922e-06, 52.48211166235763 +MEXHAT , 0.16058334003669944 , 0.13397947544143426 , 16.57 , True, 0.0 , 0.0 , 0.00 , 1000 , 28 , 0.0003308241367340088, 9.715557098388672e-06, 34.050969325153375 +MEYER3 , 7081397.716410512 , 7180936.942682075 , -1.41 , True, 0.0 , 0.0 , 0.00 , 115 , 49 , 0.0003773938054623811, 7.999186613121812e-06, 47.17902253252935 +MEYER3NE , 0.0 , 0.0 , 0.00 , False, 31.733493240528333 , 98.61035270974753 , -210.75 , 1500 , 1000 , 0.0008506460189819336, 5.4048061370849607e-05, 15.738696216044536 +MGH09 , 0.0 , 0.0 , 0.00 , False, 0.013514448366290482 , 0.013865007226279924 , -2.59 , 2000 , 1000 , 0.0011714234352111815, 5.446600914001465e-05, 21.5074218527711 +MGH09LS , 0.006806104091232839 , 0.007712599744335959 , -13.32 , True, 0.0 , 0.0 , 0.00 , 2000 , 1000 , 0.00040782296657562256, 7.098197937011718e-06, 57.454437054950965 +MGH10 , 0.0 , 0.0 , 0.00 , False, 15435.174910484824 , 15492.164395288964 , -0.37 , 1500 , 1000 , 0.0008472480773925781, 6.514906883239746e-05, 13.00476112056504 +MGH10LS , 1366860355.936367 , 1381312551.0101686 , -1.06 , True, 0.0 , 0.0 , 0.00 , 47 , 42 , 0.0006435272541451962, 9.854634602864584e-06, 65.30199039121483 +MGH10S , 0.0 , 0.0 , 0.00 , False, 5.065742562474043 , 144.26391731940384 , -2747.83, 1500 , 1000 , 0.001045417308807373, 7.08160400390625e-05, 14.76243670545141 +MGH17 , 0.0 , 0.0 , 0.00 , False, 0.2649999983691491 , 0.2649958584298719 , 0.00 , 57 , 683 , 0.0015917409930312843, 0.00013908774402445268, 11.444149908358886 +MGH17LS , 1.106036218750212 , 1.1072477047543667 , -0.11 , True, 0.0 , 0.0 , 0.00 , 289 , 1000 , 0.0005194258112395923, 1.1410951614379882e-05, 45.51993810796822 +MGH17S , 0.0 , 0.0 , 0.00 , False, 0.2649999991164428 , 0.2649948678691345 , 0.00 , 55 , 1000 , 0.0017652728340842507, 0.00013646197319030763, 12.936005487934944 +MIFFLIN1 , -1.0000000025491724 , -1.0000000092602752 , 0.00 , True, 7.499656378582602e-09 , 2.000000003387451e-08 , -166.68 , 63 , 53 , 0.0009465104057675316, 5.0247840161593456e-05, 18.836837617768683 +MIFFLIN2 , -1.0000000009121601 , -1.000000007202976 , 0.00 , True, 7.03149435283479e-09 , 7.50080113444859e-08 , -966.74 , 82 , 59 , 0.001173818983682772, 5.5187839572712525e-05, 21.269522285542838 +MINMAXBD , 822.559 , 115.7064396668632 , 85.93 , True, 0.0 , 2.4966753525701435e-08 , 0.00 , 2500 , 824 , 0.0011209948539733887, 7.295868929150034e-05, 15.364788825831937 +MINMAXRB , 0.0 , 3.608224830031759e-16 , 0.00 , False, 1.7763568394002505e-15 , 2.789139829673104e-05 , -1570146137100.00, 28 , 60 , 0.0013152446065630233, 4.5482317606608076e-05, 28.91771298769377 +MISRA1A , 0.0 , 0.0 , 0.00 , False, 0.12611092265655088 , 1.6508123118882736 , -1209.02, 91 , 1000 , 0.0011217987144386376, 9.257912635803223e-05, 12.117188383267884 +MISRA1ALS , 19.594518355352196 , 10747.849573197622 , -54751.31, True, 0.0 , 0.0 , 0.00 , 39 , 5 , 0.0007184101985051081, 8.645057678222657e-05, 8.31006831006831 +MISRA1B , 0.0 , 0.0 , 0.00 , False, 0.09916875804037772 , 1.0159510957075781 , -924.47 , 80 , 1000 , 0.0014340877532958984, 8.237099647521972e-05, 17.410105676302287 +MISRA1BLS , 7.424831134022499 , 8765.497950447194 , -117956.53, True, 0.0 , 0.0 , 0.00 , 35 , 28 , 0.00046482086181640623, 1.7651489802769254e-05, 26.333236854799804 +MISRA1C , 0.0 , 0.0 , 0.00 , False, 0.07504991856171728 , 0.0 , 100.00 , 96 , 14 , 0.0013123949368794758, 0.00012409687042236328, 10.5755683637528 +MISRA1CLS , 4.692559563212987 , 11571.116798248933 , -246484.34, True, 0.0 , 0.0 , 0.00 , 38 , 4 , 0.0005683459733661852, 6.80685043334961e-05, 8.349617476265093 +MISRA1D , 0.0 , 0.0 , 0.00 , False, 0.08579603296624327 , 0.40622020325264074 , -373.47 , 96 , 1000 , 0.0012605711817741394, 7.324004173278808e-05, 17.211502778401712 +MISTAKE , -1.0000000026472402 , -1.000000042821479 , 0.00 , True, 1.181797504301585e-08 , 6.943817887350434e-08 , -487.56 , 172 , 183 , 0.0017522088316983956, 4.672743583637508e-05, 37.49850169040058 +MOREBVNE , 0.0 , 0.0 , 0.00 , False, 1.2981837047421567e-12 , 4.78898302959316e-10 , -36789.87, 52 , 63 , 0.003994423609513503, 8.036219884478856e-05, 49.70525529332922 +MWRIGHT , 24.978809538615934 , 24.97880985026962 , -0.00 , True, 8.565215203759635e-11 , 3.381369184651817e-09 , -3847.79, 152 , 102 , 0.0012754343057933607, 3.734289431104473e-05, 34.15467197506786 +NELSON , 0.0 , 0.0 , 0.00 , False, 0.5181440320956119 , 0.7479573287922272 , -44.35 , 1500 , 238 , 0.002233206590016683, 0.00036642831914565144, 6.094525104455713 +NELSONLS , 55.484298826377845 , 58.91568283195533 , -6.18 , True, 0.0 , 0.0 , 0.00 , 1500 , 41 , 0.00039609607060750327, 1.4997110134217798e-05, 26.41149308517513 +NYSTROM5 , 0.0 , 0.0 , 0.00 , False, 0.009163814503268558 , 0.011944507269092297 , -30.34 , 7500 , 1000 , 0.0026516372044881184, 9.052014350891113e-05, 29.293338495724786 +ODFITS , -2380.026775403082 , -2344.0120879448864 , -1.51 , True, 0.0 , 37.47020816688695 , 0.00 , 313 , 1000 , 0.0030240921166758187, 1.8482208251953124e-05, 163.62179645693826 +OET1 , 0.5382431193122431 , 0.5386936158944566 , -0.08 , True, 4.440892098500626e-16 , 0.0 , 100.00 , 17 , 35 , 0.0073705280528349034, 7.70296369280134e-05, 95.684315112674 +OET2 , 0.0871596358543518 , 0.32072088945283955 , -267.97 , True, 1.7763568394002505e-15 , 1.9944508267144556e-09 , -112277500.00, 24 , 76 , 0.03513017296791077, 0.0017238949474535491, 20.37837225510945 +OET3 , 0.004505052872585125 , 0.009967839872030435 , -121.26 , True, 2.7755575615628914e-17 , 3.3306690738754696e-16 , -1100.00, 30 , 52 , 0.11287006537119547, 0.0010773081045884353, 104.77045971385809 +OET4 , 0.00429542968155437 , 0.005443423951409177 , -26.73 , True, 3.1086244689504383e-15 , 0.0 , 100.00 , 34 , 43 , 0.04509129243738511, 0.0018917238989541697, 23.83608541516741 +OET5 , 0.0026500864864651566 , 0.003196907389169015 , -20.63 , True, 7.947938307495406e-09 , 1.0361844993145297e-08 , -30.37 , 804 , 197 , 0.0248510033930119, 0.0018073507977016082, 13.749961227568383 +OET6 , 0.0020697326322287866 , 0.08715963581538654 , -4111.15, True, 1.0628072533158672e-08 , 3.534472048372095e-09 , 66.74 , 434 , 88 , 0.13978921213457662, 0.002643815495751121, 52.8740422163468 +OET7 , 0.00028428994336747866 , 0.001096817998305305 , -285.81 , True, 7.086220499274987e-11 , 1.6931354471783067e-06 , -2389234.97, 3500 , 1000 , 0.012406636306217739, 0.0017832670211791993, 6.957251022347598 +OSBORNE1 , 0.0 , 0.0 , 0.00 , False, 0.0027817898995155994 , 0.0027818884248117367 , -0.00 , 69 , 222 , 0.0037099002064138217, 0.00012616638664726738, 29.404822512559242 +OSBORNE2 , 0.0 , 0.0 , 0.00 , False, 0.048027412887798715 , 0.04803248935990123 , -0.01 , 5500 , 1000 , 0.0044582757949829105, 0.00020226502418518066, 22.041753451655605 +OSBORNEA , 0.004328709474377522 , 0.059537620695548056 , -1275.41, True, 0.0 , 0.0 , 0.00 , 2500 , 287 , 0.00040103569030761716, 7.620256536929034e-06, 52.62758390929903 +OSBORNEB , 0.2551399831307883 , 0.29084371628595873 , -13.99 , True, 0.0 , 0.0 , 0.00 , 5500 , 1000 , 0.0005395476601340554, 1.3611078262329101e-05, 39.64033192192733 +OSCIPANE , 0.0 , 0.0 , 0.00 , False, 0.0 , 0.0 , 0.00 , 41 , 61 , 0.0003996069838361042, 7.011460476234311e-05, 5.6993401758534 +OSLBQP , 6.2500000000000755 , 6.2500000066152035 , -0.00 , True, 3.85924847427735e-22 , 1.7313673500272e-18 , -448528.11, 111 , 118 , 0.0010668479644500458, 1.119759123204118e-05, 95.27477314918673 +PALMER1 , 18426.97730380164 , 17576.650914898073 , 4.61 , True, 0.0 , 0.0 , 0.00 , 2000 , 1000 , 0.0003655660152435303, 7.077932357788086e-06, 51.64870145181393 +PALMER1A , 15595.886845369452 , 16067.707440698048 , -3.03 , True, 0.0 , 0.0 , 0.00 , 3000 , 832 , 0.00040282265345255536, 7.4640489541567286e-06, 53.968383102340646 +PALMER1B , 20458.740170932877 , 20305.23345647078 , 0.75 , True, 0.0 , 0.0 , 0.00 , 2000 , 507 , 0.00037306499481201173, 7.793042786727996e-06, 47.87154453294714 +PALMER1C , 40143.2411255121 , 175360.73723720576 , -336.84 , True, 0.0 , 0.0 , 0.00 , 4000 , 1000 , 0.0004768775105476379, 8.614063262939454e-06, 55.36034458898422 +PALMER1D , 38838.68102031663 , 45421.66075524001 , -16.95 , True, 0.0 , 0.0 , 0.00 , 3500 , 1000 , 0.0005281685420445033, 2.0392179489135744e-05, 25.90054399657935 +PALMER1E , 31545.841528458997 , 37742.59112904983 , -19.64 , True, 0.0 , 0.0 , 0.00 , 4000 , 1000 , 0.000714377760887146, 1.723194122314453e-05, 41.45660385190105 +PALMER2 , 3933.02094414188 , 4706.620154926712 , -19.67 , True, 0.0 , 0.0 , 0.00 , 2000 , 1000 , 0.0007894455194473267, 4.495596885681152e-05, 17.560416103182558 +PALMER2A , 175.59072825893284 , 443.7803645656473 , -152.74 , True, 0.0 , 0.0 , 0.00 , 3000 , 1000 , 0.0009437759717305501, 1.7165899276733397e-05, 54.979698792112856 +PALMER2B , 1136.440931815371 , 1166.8495067165788 , -2.68 , True, 0.0 , 0.0 , 0.00 , 2000 , 1000 , 0.000778048038482666, 2.5928735733032227e-05, 30.00717221593887 +PALMER2C , 1458.2566929233517 , 8479.995025585766 , -481.52 , True, 0.0 , 0.0 , 0.00 , 4000 , 1000 , 0.0009304055571556091, 2.7450084686279297e-05, 33.8944512481109 +PALMER2E , 612.379217991725 , 1053.1313324449006 , -71.97 , True, 0.0 , 0.0 , 0.00 , 4000 , 1000 , 0.0007037519812583923, 9.928941726684571e-06, 70.8788510025213 +PALMER3 , 2416.9805277318605 , 2416.9805681329453 , -0.00 , True, 1.3497761085680545e-10 , 5.421010862427522e-20 , 100.00 , 130 , 106 , 0.0005205832994901217, 1.3828277587890625e-05, 37.646286472148546 +PALMER3A , 62.578266724925825 , 89.18426333777415 , -42.52 , True, 0.0 , 0.0 , 0.00 , 3000 , 1000 , 0.000501252015431722, 7.826805114746094e-06, 64.04299175500589 +PALMER3B , 309.77081333812976 , 262.3123413543056 , 15.32 , True, 0.0 , 0.0 , 0.00 , 2000 , 1000 , 0.0003691519498825073, 7.181167602539063e-06, 51.40556108897742 +PALMER3C , 281.31682987791885 , 2346.7200763756005 , -734.19 , True, 0.0 , 0.0 , 0.00 , 4000 , 1000 , 0.00045891201496124265, 7.791996002197266e-06, 58.89530934459335 +PALMER3E , 136.96208957072193 , 188.42913878471836 , -37.58 , True, 0.0 , 0.0 , 0.00 , 4000 , 1000 , 0.0005943915247917176, 1.3798952102661133e-05, 43.07512051419389 +PALMER4 , 2424.016566791981 , 2424.0166444549363 , -0.00 , True, 0.0 , 0.0 , 0.00 , 79 , 107 , 0.0021410380737690985, 2.3420726027444144e-05, 91.4163835595982 +PALMER4A , 69.40817027791556 , 90.92371379687197 , -31.00 , True, 0.0 , 0.0 , 0.00 , 3000 , 1000 , 0.0006025390625, 1.1413812637329101e-05, 52.790341110855806 +PALMER4B , 254.3322023583863 , 135.37802511859908 , 46.77 , True, 0.0 , 0.0 , 0.00 , 2000 , 1000 , 0.000518918514251709, 1.2322664260864258e-05, 42.11090258295443 +PALMER4C , 272.0005141189913 , 2307.438636422316 , -748.32 , True, 0.0 , 0.0 , 0.00 , 4000 , 1000 , 0.0007137389779090881, 2.374100685119629e-05, 30.06355132209245 +PALMER4E , 123.48847944611043 , 182.28782900584324 , -47.62 , True, 0.0 , 0.0 , 0.00 , 4000 , 1000 , 0.0007795212268829346, 1.5221118927001953e-05, 51.21313555339745 +PALMER5A , 7473.394291347882 , 8271.203812982863 , -10.68 , True, 0.0 , 0.0 , 0.00 , 4000 , 1000 , 0.0008203052878379822, 1.0535955429077149e-05, 77.85770292593514 +PALMER5B , 4992.511406614943 , 6192.495642725261 , -24.04 , True, 0.0 , 0.0 , 0.00 , 4500 , 1000 , 0.0006161942481994629, 1.0640859603881836e-05, 57.908314848423736 +PALMER5C , 2.1280866434670522 , 2.128086786937186 , -0.00 , True, 0.0 , 0.0 , 0.00 , 390 , 242 , 0.0005315994605039939, 1.0268747313948702e-05, 51.76867676760222 +PALMER5D , 517.3947921492595 , 831.3481735093361 , -60.68 , True, 0.0 , 0.0 , 0.00 , 2000 , 1000 , 0.0004996631145477295, 9.399890899658204e-06, 53.156267437731444 +PALMER5E , 0.4511720609317045 , 0.5416183301910702 , -20.05 , True, 0.0 , 0.0 , 0.00 , 4000 , 1000 , 0.0006471437215805054, 1.3000965118408203e-05, 49.77659086741244 +PALMER6A , 40.20591002687489 , 51.83652561105828 , -28.93 , True, 0.0 , 0.0 , 0.00 , 3000 , 1000 , 0.0006094636917114257, 1.1648893356323243e-05, 52.319449845473706 +PALMER6C , 195.75176237716278 , 226.47263022520832 , -15.69 , True, 0.0 , 0.0 , 0.00 , 4000 , 1000 , 0.0007245749831199646, 1.049494743347168e-05, 69.040363252232 +PALMER6E , 29.03020349871904 , 137.81130902318995 , -374.72 , True, 0.0 , 0.0 , 0.00 , 4000 , 1000 , 0.0007137767672538757, 9.70292091369629e-06, 73.56308204535961 +PALMER7A , 23.332481546463345 , 74.14079098301832 , -217.76 , True, 0.0 , 0.0 , 0.00 , 3000 , 1000 , 0.00047919702529907224, 7.803916931152344e-06, 61.40468043504827 +PALMER7C , 311.4131460348408 , 524.2604396316923 , -68.35 , True, 0.0 , 0.0 , 0.00 , 4000 , 1000 , 0.00046015465259552, 6.135940551757813e-06, 74.99333618277898 +PALMER7E , 72.70337739300605 , 139.13518155539796 , -91.37 , True, 0.0 , 0.0 , 0.00 , 4000 , 1000 , 0.00044088172912597656, 7.5361728668212895e-06, 58.502072194628106 +PALMER8A , 6.871746864460462 , 44.6500637135331 , -549.76 , True, 0.0 , 0.0 , 0.00 , 3000 , 1000 , 0.0004001479943593343, 7.546901702880859e-06, 53.02149280764937 +PALMER8C , 167.4385745025157 , 206.36506999750594 , -23.25 , True, 0.0 , 0.0 , 0.00 , 4000 , 1000 , 0.0004783860445022583, 7.302045822143554e-06, 65.5139745975773 +PALMER8E , 32.90721047483019 , 72.64116733305937 , -120.75 , True, 0.0 , 0.0 , 0.00 , 4000 , 1000 , 0.0005176717042922974, 8.866071701049804e-06, 58.38794471186168 +PENLT1NE , 0.0 , 0.0 , 0.00 , False, 3.247402347028583e-15 , 4.665901482559659e-07 , -14368103953.47, 109 , 123 , 0.0009790538647852906, 4.59023607455618e-05, 21.329052555972368 +PENLT2NE , 0.0 , 0.0 , 0.00 , False, 7.149708869819871e-06 , 7.191284433716305e-06 , -0.58 , 57 , 72 , 0.0008256686361212479, 5.7084692849053274e-05, 14.463923600404224 +PENTAGON , 0.00014621320344806158 , 0.00014621329758032382 , -0.00 , True, 0.0 , 4.440892098500626e-16 , 0.00 , 111 , 84 , 0.001132135992651587, 1.860800243559338e-05, 60.84135019705489 +PFIT1 , 0.0 , 0.0 , 0.00 , False, 0.009972264424374266 , 0.01052368350320787 , -5.53 , 1500 , 1000 , 0.0008875425656636556, 3.311491012573242e-05, 26.801901690017807 +PFIT1LS , 0.5227670808206053 , 0.8773806454261258 , -67.83 , True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.00040715853373209635, 8.332014083862305e-06, 48.86676014154767 +PFIT2 , 0.0 , 0.0 , 0.00 , False, 0.07107887331608609 , 0.07083355535754343 , 0.35 , 1500 , 1000 , 0.0007090678215026855, 3.2462120056152345e-05, 21.842930168336316 +PFIT2LS , 1.9481840450734285 , 12.256752302823445 , -529.14 , True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.00042748133341471354, 9.128093719482422e-06, 46.83139180553379 +PFIT3 , 0.0 , 0.0 , 0.00 , False, 0.18184498174026942 , 0.18201142470308795 , -0.09 , 1500 , 1000 , 0.0009600192705790202, 7.341623306274414e-05, 13.076389655657671 +PFIT3LS , 6.287985246701351 , 39.36165938886093 , -525.98 , True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.0004496898651123047, 8.435964584350587e-06, 53.3062770256903 +PFIT4 , 0.0 , 0.0 , 0.00 , False, 0.32135655443162037 , 0.3223648377134225 , -0.31 , 1500 , 1000 , 0.0009535231590270996, 3.242111206054688e-05, 29.410563007412634 +PFIT4LS , 9.384636725256742 , 43.28808581992509 , -361.27 , True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.0004047813415527344, 8.050203323364258e-06, 50.282126462313045 +POLAK1 , 2.7182818192195684 , 2.718281828408681 , -0.00 , True, 9.507688414345239e-09 , 5.4370286051153016e-11 , 99.43 , 110 , 292 , 0.0007416530088944868, 1.9456425758257305e-05, 38.11866671244739 +POLAK2 , 1.1 , -932.5289613566381 , 84875.36, True, 90.74478199714775 , 152434.20612772668 , -167881.24, 5500 , 1000 , 0.008732337301427667, 1.99432373046875e-05, 437.8595695381512 +POLAK3 , -13.957712874480018 , -1.9934046864105297 , -85.72 , True, 35.383402510344645 , 7.959991403795836 , 77.50 , 6000 , 1000 , 0.011217011491457622, 4.439616203308106e-05, 252.65723381898312 +POLAK4 , 1.1192154093882192e-13 , 5.212612849176793e-09 , -4657281.24, True, 1.3523488342899713e-10 , 7.631272879833192e-08 , -56329.77, 90 , 67 , 0.0009974532657199436, 2.584884415811567e-05, 38.58792523250123 +POLAK5 , 50.00000003503054 , 19.14766139213366 , 61.70 , True, 2.5795099389824827e-10 , 30.857625611031516 , -11962592252288.71, 1500 , 1000 , 0.000708303451538086, 1.5940189361572267e-05, 44.435071345239166 +POLAK6 , 0.0 , -993.9999986803389 , 0.00 , False, 0.0 , 993.0297799765005 , 0.00 , 2500 , 1000 , 0.0007019983291625977, 1.906609535217285e-05, 36.81919743900762 +PORTFL1 , 0.018457825613176597 , 0.018457830260677037 , -0.00 , True, 7.409911470835284e-23 , 1.0262945234025578e-19 , -138402.94, 1279 , 606 , 0.0015366028956457262, 1.9403967526879642e-05, 79.19013951745299 +PORTFL2 , 0.027989415850735305 , 0.0279894186824485 , -0.00 , True, 3.5007553171730114e-22 , 3.073893629126549e-21 , -778.07 , 476 , 197 , 0.0016860696447997534, 2.0111877906140943e-05, 83.83452070803047 +PORTFL3 , 0.02845310222824779 , 0.028453103470708885 , -0.00 , True, 4.974106347955733e-22 , 3.02997399669649e-20 , -5991.49, 244 , 188 , 0.001476114890614494, 2.053697058495055e-05, 71.8759801748067 +PORTFL4 , 0.021620228016928155 , 0.02162023097696929 , -0.00 , True, 2.881400829909583e-25 , 5.50250497949128e-20 , -19096531.48, 286 , 212 , 0.0014581988741467883, 2.048038086801205e-05, 71.19979279410393 +PORTFL6 , 0.023659274250001115 , 0.023659280802090735 , -0.00 , True, 4.1660600678407226e-22 , 1.0139328018602346e-19 , -24237.93, 865 , 610 , 0.0018705629888986577, 2.3501427447209593e-05, 79.59359035107275 +POWELLBS , 0.0 , 0.0 , 0.00 , False, 3.164135620181696e-14 , 3.7443014577753786e-08 , -118335581.75, 216 , 89 , 0.0006350422347033465, 3.143910611613413e-05, 20.199118650432982 +POWELLBSLS , 0.013862884415376104 , 9.891391626769396 , -71251.61, True, 0.0 , 0.0 , 0.00 , 39 , 27 , 0.00032882201365935494, 1.0667023835358796e-05, 30.826031584309728 +POWELLSE , 0.0 , 0.0 , 0.00 , False, 1.415723430320683e-13 , 2.5509793991955816e-08 , -18018810.65, 83 , 61 , 0.0013944097312099963, 4.819963799148309e-05, 28.92987975254896 +POWELLSQ , 0.0 , 0.0 , 0.00 , False, 8.742702096101641e-08 , 4.094709739029326e-08 , 53.16 , 1000 , 61 , 0.0006793529987335205, 3.929216353619685e-05, 17.289783447727046 +PSPDOC , 2.4142135623790284 , 2.4142136044786575 , -0.00 , True, 0.0 , 0.0 , 0.00 , 262 , 175 , 0.0006047742057392615, 9.400503976004465e-06, 64.3342322159531 +PT , 0.1783942254303165 , 0.17839422543031647 , 0.00 , True, 0.0 , 2.7755575615628914e-17 , 0.00 , 9 , 13 , 0.008801539738972982, 0.00014239091139573319, 61.812510733298986 +QC , -1055.316255331069 , -1077.8351725231637 , 2.13 , True, 1.1102230246251565e-16 , 2.255140518769849e-16 , -103.12 , 59 , 54 , 0.0013785725933010296, 2.109121393274378e-05, 65.36241098767753 +QCNEW , -806.5218543888329 , nan , nan , True, 0.0 , 0.486386486 , 0.00 , 32 , 82 , 0.0015308782458305359, 1.709635664777058e-05, 89.54412202380954 +RAT42 , 0.0 , 0.0 , 0.00 , False, 1.4056861586229985 , 4.6850703149595745 , -233.29 , 99 , 1000 , 0.0010965665181477864, 4.799485206604004e-05, 22.847586166927464 +RAT42LS , 469.0113295948495 , 356.49260098639155 , 23.99 , True, 0.0 , 0.0 , 0.00 , 1500 , 43 , 0.0004178573290506999, 9.675358617028525e-06, 43.187787201528174 +RAT43 , 0.0 , 0.0 , 0.00 , False, 44.50658873261841 , 129.00834863076386 , -189.86 , 169 , 1000 , 0.0010996852400740223, 6.424808502197266e-05, 17.11623373207051 +RAT43LS , 1076461.596373333 , 1536945.7935744931 , -42.78 , True, 0.0 , 0.0 , 0.00 , 110 , 1000 , 0.00040832649577747694, 7.721900939941406e-06, 52.879012428845705 +RECIPE , 0.0 , 0.0 , 0.00 , False, 4.890121115583538e-13 , 8.750355563305065e-09 , -1789294.45, 66 , 53 , 0.0009886062506473427, 4.988346459730616e-05, 19.81831572101209 +RES , 0.0 , 0.0 , 0.00 , False, 2.0 , 2.0 , 0.00 , 82 , 122 , 0.0011357446996177116, 5.291915330730501e-05, 21.461883432306017 +RK23 , 0.0833333340217678 , 0.08333333533190992 , -0.00 , True, 1.7546444852634124e-09 , 1.8116619315833304e-12 , 99.90 , 283 , 222 , 0.008404180776104067, 0.0002686655199205553, 31.281203403358916 +ROBOT , 5.462841228152021 , 5.462841265494781 , -0.00 , True, 1.1976530878143876e-12 , 2.1546298474561798e-08 , -1798943.37, 534 , 207 , 0.0013801801517215114, 3.424128472517078e-05, 40.307487373770776 +ROSENBR , 0.021302704016258677 , 0.27251509554666337 , -1179.25, True, 0.0 , 0.0 , 0.00 , 1000 , 1000 , 0.0003733949661254883, 5.956172943115234e-06, 62.69041710031223 +ROSENBRTU , 0.8437947476454654 , 0.9527493227160052 , -12.91 , True, 0.0 , 0.0 , 0.00 , 1000 , 43 , 0.00036330699920654295, 8.771585863690043e-06, 41.418621997471554 +ROSENMMX , -0.998907700384006 , -44.00000008836955 , 4304.81 , True, 0.0 , 2.9291254799446165e-07 , 0.00 , 2500 , 223 , 0.0010089760780334473, 2.2246698627557454e-05, 45.353968915801616 +ROSZMAN1 , 0.0 , 0.0 , 0.00 , False, 0.008884331667433576 , 0.08172331231712542 , -819.86 , 69 , 1000 , 0.002274914064269135, 9.337711334228515e-05, 24.36265143397784 +ROSZMAN1LS , 0.4151155653428399 , 0.7434169787321968 , -79.09 , True, 0.0 , 0.0 , 0.00 , 51 , 59 , 0.00034927854350968904, 9.265996642031912e-06, 37.69465466081766 +RSNBRNE , 0.0 , 0.0 , 0.00 , False, 2.017327416226067e-09 , 5.668697938832068e-05 , -2809903.92, 12 , 14 , 0.0009406010309855143, 7.278578622000558e-05, 12.922866947434098 +S268 , 2.2637881498121715 , 2.5071222611513804 , -10.75 , True, 0.0 , 0.0 , 0.00 , 2500 , 972 , 0.0005982287406921387, 9.640744684164416e-06, 62.05212981884796 +S277-280 , 5.0761904640000095 , 5.076190464000009 , 0.00 , True, 0.0 , 0.0 , 0.00 , 18 , 27 , 0.001168052355448405, 1.9444359673394098e-05, 60.071525885558586 +S308 , 0.7731990564936675 , 0.7731990784534997 , -0.00 , True, 0.0 , 0.0 , 0.00 , 55 , 38 , 0.000318145751953125, 8.288182710346423e-06, 38.385465556396674 +S316-322 , 334.3145744015894 , 334.31457503278205 , -0.00 , True, 3.749951750648087e-09 , 2.0000125486291153e-10 , 94.67 , 76 , 80 , 0.000582353064888402, 2.6661157608032227e-05, 21.842752420958497 +S365 , -9.193904706873826e-24 , -1.2636421891639561e-26, -99.86 , True, 1.415640811214227e-11 , 0.00014695176193956888 , -1038058147.37, 111 , 97 , 0.0015531617241936761, 2.6742207635309278e-05, 58.07903914944356 +S365MOD , 0.030105695295638172 , 0.030118553780139296 , -0.04 , True, 0.3264900714874588 , 0.32661451887491977 , -0.04 , 302 , 141 , 0.001366668189598235, 2.6667371709296044e-05, 51.24870214044471 +S368 , -0.9999999999990771 , -0.9999999813502138 , -0.00 , True, 0.0 , 2.220446049250313e-16 , 0.00 , 154 , 138 , 0.0011759717743118087, 1.303527666174847e-05, 90.21456197877669 +SIM2BQP , 0.0 , 0.0 , 0.00 , False, 0.0 , 0.0 , 0.00 , 6 , 8 , 0.000897685686747233, 5.4270029067993164e-05, 16.54109463664653 +SIMBQP , 7.438031981798952e-13 , 1.0982775924688045e-07 , -14765601.40, True, 8.762868012256883e-24 , 6.395849050447015e-26 , 99.27 , 53 , 49 , 0.0004982813349309957, 1.1434360426299427e-05, 43.577543155359294 +SIMPLLPA , 1.0 , 1.0 , 0.00 , False, 0.0 , 0.0 , 0.00 , 10 , 13 , 0.001021599769592285, 2.8445170475886418e-05, 35.91470019342359 +SIMPLLPB , 1.1 , 1.1 , 0.00 , False, 0.0 , 0.0 , 0.00 , 10 , 13 , 0.0009218931198120117, 2.839015080378606e-05, 32.472286821705424 +SINEVAL , 3.1609476046174545 , 3.852340661616279 , -21.87 , True, 0.0 , 0.0 , 0.00 , 1000 , 1000 , 0.0003617849349975586, 5.777120590209961e-06, 62.62374644051008 +SINVALNE , 0.0 , 0.0 , 0.00 , False, 5.851282756895132e-19 , 2.143824381935569e-05 , -3663853672785228.00, 41 , 127 , 0.0007131623058784298, 3.7833461611289674e-05, 18.850041088114946 +SIPOW1 , -1.0 , -1.0 , 0.00 , False, 0.0 , 0.0 , 0.00 , 14 , 16 , 0.017626643180847168, 0.00022730231285095215, 77.54713517765832 +SIPOW1M , -1.0000012353564025 , -1.0000012340015227 , -0.00 , True, 2.1402732919284517e-09 , 0.0 , 100.00 , 14 , 15 , 0.018777149064200267, 0.00023527145385742186, 79.81057096531357 +SIPOW2 , -1.000000003141572 , -1.0000000000000002 , -0.00 , True, 3.1415718915184243e-09 , 2.220446049250313e-16 , 100.00 , 13 , 16 , 0.017972304270817682, 0.00018668174743652344, 96.27242361725119 +SIPOW2M , -1.0000049350243543 , -1.0000049350243545 , 0.00 , True, 0.0 , 2.220446049250313e-16 , 0.00 , 12 , 15 , 0.014672736326853434, 0.00017647743225097657, 83.14228136539673 +SIPOW3 , 0.5346586469505029 , 0.8540845526582248 , -59.74 , True, 0.0 , 0.0 , 0.00 , 67 , 643 , 0.01223425366985264, 9.481680708391299e-05, 129.03043295926756 +SIPOW4 , 0.27236199874363276 , 0.2723619987436327 , 0.00 , True, 0.0 , 0.0 , 0.00 , 19 , 30 , 0.033267159211008174, 0.00035596688588460286, 93.45576942736382 +SISSER , 6.441637708678534e-25 , 3.3058660597067607e-19 , -51320173.03, True, 0.0 , 0.0 , 0.00 , 46 , 30 , 0.0004809576532115107, 1.076062520345052e-05, 44.696069616594954 +SNAIL , 12.022774080244304 , 13.576483168229196 , -12.92 , True, 0.0 , 0.0 , 0.00 , 1000 , 1000 , 0.00042391395568847654, 6.810188293457031e-06, 62.247024226298834 +SNAKE , -0.00024764316798738954, 1.4574929804722636e-15 , -100.00 , True, 1.2383349706605613e-08 , 2.699140313382545e-10 , 97.82 , 20 , 62 , 0.00126725435256958, 2.8471792897870464e-05, 44.50911669367909 +SPECAN , 0.005313719745498664 , 345.3788329706698 , -6499656.28, True, 0.0 , 0.0 , 0.00 , 4500 , 1000 , 0.0013042688369750977, 0.0005501198768615722, 2.370881133064918 +SPIRAL , 0.0986498913873749 , 0.09794059219331279 , 0.72 , True, 0.0 , 4.078534064624304e-13 , 0.00 , 1500 , 1000 , 0.0013044439951578775, 3.951811790466309e-05, 33.00875811709532 +SSI , 0.03310296732309187 , 0.056551691828758514 , -70.84 , True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.0009063940048217773, 1.6466856002807616e-05, 55.0435374346649 +SSINE , 0.0 , 0.0 , 0.00 , False, 0.021882772401179196 , 0.04253055569877251 , -94.36 , 1500 , 1000 , 0.0015710312525431314, 0.00011667823791503907, 13.464646712329513 +STANCMIN , 4.250000000210743 , 4.25 , 0.00 , True, 0.0 , 0.0 , 0.00 , 20 , 150 , 0.003061044216156006, 1.9307136535644532e-05, 158.54470239565325 +STRATEC , 2496.131432762392 , 2501.215147471184 , -0.20 , True, 0.0 , 0.0 , 0.00 , 5000 , 206 , 0.001851170778274536, 0.0004126990883095751, 4.485521850452769 +STREG , 9.999999995318236e+19 , 9.99999859287021e+19 , 0.00 , True, 0.0 , 0.0 , 0.00 , 2000 , 1000 , 0.00046424543857574463, 5.77092170715332e-06, 80.44563106796117 +SUPERSIM , 0.0 , 0.0 , 0.00 , False, 0.0 , 0.0 , 0.00 , 9 , 13 , 0.0006428559621175131, 4.698679997370793e-05, 13.681628935727298 +SYNTHES1 , 0.7592843920963659 , 0.7592844830298012 , -0.00 , True, 4.2147742005922135e-11 , 4.2149559920551495e-09 , -9900.43, 110 , 104 , 0.001080090349370783, 3.0962320474477914e-05, 34.88402460859147 +SYNTHES2 , 142.0 , -0.55440669767132 , 100.39 , True, 0.0 , 1.0535177290549314e-06 , 0.00 , 52 , 83 , 0.003056058516869178, 4.8602919980704064e-05, 62.87808465175486 +SYNTHES3 , 122.0 , 15.082046800304942 , 87.64 , True, 0.0 , 5.324256235894609e-08 , 0.00 , 81 , 745 , 0.0056469617066559966, 5.2311276429451555e-05, 107.94922418441932 +TAME , 0.0 , 1e-08 , 0.00 , False, 0.0 , 6.734455237049213e-22 , 0.00 , 15 , 31 , 0.0005351384480794271, 2.032710659888483e-05, 26.326346323622143 +TENBARS1 , -142.05539019911558 , 48.01126898006518 , -133.80 , True, 589.884 , 10.575368607208219 , 98.21 , 151 , 1000 , 0.000873794618821302, 5.5129051208496096e-05, 15.849984711629483 +TENBARS2 , -142.05539019911558 , 48.01126898006518 , -133.80 , True, 589.884 , 10.575368607208219 , 98.21 , 151 , 1000 , 0.0008633057802718207, 5.156517028808594e-05, 16.742032954583035 +TENBARS3 , -142.05539019911558 , 48.01126898006518 , -133.80 , True, 589.884 , 10.575368607208219 , 98.21 , 151 , 1000 , 0.0008816940105514021, 5.071115493774414e-05, 17.386589038128182 +TENBARS4 , -142.05539019911558 , 48.01126898006518 , -133.80 , True, 589.884 , 10.575368607208219 , 98.21 , 151 , 1000 , 0.0008612310649543409, 5.423903465270996e-05, 15.87843645206379 +TFI1 , 5.334687279569737 , 5.334687303910119 , -0.00 , True, 3.628640499186986e-09 , 3.3437217439313827e-09 , 7.85 , 100 , 74 , 0.0008381295204162597, 0.00014032222129203178, 5.972892338070856 +TFI2 , 0.6490311069639091 , 0.6494441966408517 , -0.06 , True, 5.551115123125783e-17 , 0.0 , 100.00 , 15 , 46 , 0.0018640677134195963, 1.6761862713357676e-05, 111.20886415172129 +TFI3 , 4.301460324843022 , 4.301359348845657 , 0.00 , True, 2.220446049250313e-16 , 1.1102230246251565e-16 , 50.00 , 15 , 23 , 0.002618996302286784, 2.5966893071713656e-05, 100.85905522288755 +THURBER , 0.0 , 0.0 , 0.00 , False, 25.841769136535532 , 295.1508461812309 , -1042.15, 557 , 1000 , 0.001846734240410358, 0.00010926413536071777, 16.90155909177028 +THURBERLS , 987382.9954318649 , 986695.702624421 , 0.07 , True, 0.0 , 0.0 , 0.00 , 3500 , 288 , 0.00042790283475603374, 6.847083568572998e-06, 62.49417441318203 +TRIGGER , 0.0 , 0.0 , 0.00 , False, 0.006330708306140968 , 0.006331112885052103 , -0.01 , 153 , 70 , 0.0010180722654255386, 4.0715081351143973e-05, 25.00479506955311 +TRUSPYR1 , 7.65139242055767 , -2.292599165742959 , 129.96 , True, 0.18759591227451852 , 1.7306107637113926 , -822.52 , 5500 , 1000 , 0.010782542922280052, 0.00017972803115844725, 59.9936629405027 +TRUSPYR2 , 7.202479576756248 , -2.292599165742959 , 131.83 , True, 0.0892702950315187 , 1.7306107637113926 , -1838.62, 5500 , 1000 , 0.010902261994101785, 6.357216835021973e-05, 171.49426041347388 +TRY-B , 1.2718974807986884e-14 , 1.0103349146807851e-08 , -79435147.73, True, 2.00228722491147e-12 , 2.0044385595774372e-08 , -1000974.44, 58 , 50 , 0.0009936875310437433, 4.5762062072753906e-05, 21.714221038902245 +TWOBARS , 1.5086524161560113 , 1.5086523710872959 , 0.00 , True, 1.4766803033121468e-09 , 3.148290059578994e-08 , -2032.01, 58 , 47 , 0.0008748276480313005, 3.653384269552028e-05, 23.9456784035086 +VARDIMNE , 0.0 , 0.0 , 0.00 , False, 1.378536603774537e-12 , 2.58072901955605e-07 , -18720687.05, 135 , 135 , 0.00324740763063784, 6.192525227864584e-05, 52.44076545744923 +VESUVIA , 0.0 , 0.0 , 0.00 , False, 5.961691098163129 , 6.4552887587167005 , -8.28 , 84 , 74 , 0.015540713355654762, 0.005016594319730191, 3.097861290982483 +VESUVIALS , 3339.0188628590886 , 3000.8342667582765 , 10.13 , True, 0.0 , 0.0 , 0.00 , 90 , 82 , 0.0006101555294460721, 8.5903377067752e-05, 7.102811906507964 +VESUVIO , 0.0 , 0.0 , 0.00 , False, 5.664914830838203 , 5.94668528390914 , -4.97 , 4000 , 83 , 0.05681325745582581, 0.01871952953108822, 3.0349725061986152 +VESUVIOLS , 1670.982045452748 , 1763.4953258421388 , -5.54 , True, 0.0 , 0.0 , 0.00 , 94 , 83 , 0.0021003738362738427, 0.00035802427544651263, 5.866568219862594 +VESUVIOU , 0.0 , 0.0 , 0.00 , False, 0.10743803308694935 , 0.12491415383736779 , -16.27 , 538 , 123 , 0.06188858707598151, 0.018229155036492077, 3.395033228478758 +VESUVIOULS , 0.813033654890136 , 1.4580989849709194 , -79.34 , True, 0.0 , 0.0 , 0.00 , 94 , 82 , 0.0029504578164283265, 0.0009949149155035252, 2.9655378268553787 +VIBRBEAM , 883.1889634632254 , 466.11031682002766 , 47.22 , True, 0.0 , 0.0 , 0.00 , 84 , 103 , 0.0020195217359633673, 0.00022191214329988053, 9.10054630599593 +WACHBIEG , -0.8228756555322956 , -0.8228756579472484 , 0.00 , True, 0.1614378277661478 , 0.16143782897362424 , -0.00 , 21 , 24 , 0.009985901060558501, 0.00017754236857096353, 56.24517201688196 +WATSON , 0.0018914079165782333 , 0.012902495210350428 , -582.16 , True, 0.0 , 0.0 , 0.00 , 6000 , 1000 , 0.003643523971239726, 0.00011732983589172364, 31.053686758772134 +WATSONNE , 0.0 , 0.0 , 0.00 , False, 1.3069007098742702e-08 , 1.3472222004651258e-08 , -3.09 , 81 , 87 , 0.16275839158046393, 0.0021104812622070312, 77.11908866239338 +WEEDS , 3984.581659759342 , 5921.493070343549 , -48.61 , True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.002600839296976725, 2.945828437805176e-05, 88.28889230611512 +WOMFLET , -3.777737088703945e-21 , 1.0653097853279642e-20 , -382.00 , True, 5.9995998519862805e-09 , 2.0040906096505842e-08 , -234.04 , 68 , 91 , 0.004877279786502614, 0.00011216415153754936, 43.48340998121704 +YFIT , 171.83084122937814 , 182.51059870423828 , -6.22 , True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.0021788078943888347, 1.791501045227051e-05, 121.61912493401294 +YFITNE , 0.0 , 0.0 , 0.00 , False, 4.0724756189547406e-07 , 1.1047210460191081e-05 , -2612.65, 121 , 451 , 0.006934981700802638, 0.00033038154145302107, 20.99082675836708 +YFITU , 171.83084122937814 , 182.51059870423828 , -6.22 , True, 0.0 , 0.0 , 0.00 , 1500 , 1000 , 0.0025989858309427897, 4.6470880508422854e-05, 55.92719144780833 +ZANGWIL2 , -18.200000009100002 , -18.199999996039626 , -0.00 , True, 0.0 , 0.0 , 0.00 , 34 , 25 , 0.0022616807152243223, 6.927490234375e-05, 32.64790910857735 +ZANGWIL3 , 0.0 , 0.0 , 0.00 , False, 1.9928836358928947e-10 , 6.6058269965196814e-15 , 100.00 , 13 , 121 , 0.010831466087928185, 4.282470577019305e-05, 252.9256393739692 +ZECEVIC2 , -4.124999999999986 , -4.124999997435835 , -0.00 , True, 0.0 , 0.0 , 0.00 , 43 , 35 , 0.0026445555132488872, 4.600116184779576e-05, 57.48888521552867 +ZECEVIC3 , 97.30945013022745 , 97.30945009186712 , 0.00 , True, 1.874998600825961e-09 , 1.9999224276645577e-08 , -966.63 , 60 , 42 , 0.002483550707499186, 7.112253279913039e-05, 34.91932317024503 +ZECEVIC4 , 7.557507768932092 , 7.557507825925506 , -0.00 , True, 0.0 , 0.0 , 0.00 , 49 , 46 , 0.0025835523799974092, 6.606786147407864e-05, 39.10452559465772 +ZY2 , 2.0000000000023004 , 2.000002431907019 , -0.00 , True, 2.55991584964972e-24 , 6.881493070779656e-18 , -268817059.43, 18 , 22 , 0.004822121726142036, 0.00012535398656671697, 38.46803646388673 diff --git a/prima/pyprima/profiles_vs_python_bindings/results_with_comparing.csv b/prima/pyprima/profiles_vs_python_bindings/results_with_comparing.csv new file mode 100644 index 0000000..7397034 --- /dev/null +++ b/prima/pyprima/profiles_vs_python_bindings/results_with_comparing.csv @@ -0,0 +1,517 @@ +Problem, Fortran result, Python result, Error, Fortran cstrv, Python cstrv, Error, Fortran nfev, Python nfev, Fresult.status +AIRCRFTA , 0.0 , 0.0 , 0.00 , 8.61995381757491e-12 , 8.61995381757491e-12 , 0.00 , 33 , 33 , 0 +AIRCRFTB , 0.36027262356871653 , 0.36027262356871653 , 0.00 , 0.0 , 0.0 , 0.00 , 2500 , 2500 , 3 +AKIVA , 6.170773522073405 , 6.170773522073405 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +ALLINIT , 16.705968432897922 , 16.705968432897922 , 0.00 , 0.0 , 0.0 , 0.00 , 85 , 85 , 0 +ALLINITA , 33.29662696801105 , 33.29662696801105 , 0.00 , 1.29867090414848e-08 , 1.29867090414848e-08 , 0.00 , 61 , 61 , 0 +ALLINITC , 30.49661795347201 , 30.49661795347201 , 0.00 , 1.007899408378421e-08 , 1.007899408378421e-08 , 0.00 , 46 , 46 , 0 +ALLINITU , 5.744384910324333 , 5.744384910324333 , 0.00 , 0.0 , 0.0 , 0.00 , 98 , 98 , 0 +ALSOTAME , 0.08208499862391111 , 0.08208499862391111 , 0.00 , 1.5010215292932116e-13 , 1.5010215292932116e-13 , 0.00 , 13 , 13 , 0 +ARGAUSS , 0.0 , 0.0 , 0.00 , 3.517346078718564e-05 , 3.517346078718564e-05 , 0.00 , 15 , 15 , 0 +AVGASA , -4.631925545270105 , -4.631925545270105 , -0.00 , 5.551106906001769e-17 , 5.551106906001769e-17 , 0.00 , 153 , 153 , 0 +AVGASB , -4.4832193648526735 , -4.4832193648526735 , -0.00 , 4.440892098500626e-16 , 4.440892098500626e-16 , 0.00 , 148 , 148 , 0 +BARD , 0.010314822865069531 , 0.010314822865069531 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +BARDNE , 0.0 , 0.0 , 0.00 , 0.050816326530669365 , 0.050816326530669365 , 0.00 , 31 , 31 , 0 +BEALE , 1.852104547751497e-09 , 1.852104547751497e-09 , 0.00 , 0.0 , 0.0 , 0.00 , 735 , 735 , 0 +BENNETT5 , 0.0 , 0.0 , 0.00 , 0.007660478826139183 , 0.007660478826139183 , 0.00 , 1500 , 1500 , 3 +BENNETT5LS , 0.684541044282733 , 0.684541044282733 , 0.00 , 0.0 , 0.0 , 0.00 , 53 , 53 , 0 +BIGGS3 , 1.0631133951128183e-08 , 1.0631133951128183e-08 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +BIGGS5 , 0.0037254020202865394 , 0.0037254020202865394 , 0.00 , 0.0 , 0.0 , 0.00 , 2500 , 2500 , 3 +BIGGS6 , 0.009233751892945407 , 0.009233751892945407 , 0.00 , 0.0 , 0.0 , 0.00 , 3000 , 3000 , 3 +BIGGS6NE , 0.0 , 0.0 , 0.00 , 3.0298184655608296e-09 , 3.0298184655608296e-09 , 0.00 , 71 , 71 , 0 +BIGGSC4 , -24.375 , -24.375 , -0.00 , 0.0 , 0.0 , 0.00 , 19 , 19 , 0 +BOOTH , 0.0 , 0.0 , 0.00 , 8.881784197001252e-16 , 8.881784197001252e-16 , 0.00 , 9 , 9 , 0 +BOX2 , 5.846883652860379e-19 , 5.846883652860379e-19 , 0.00 , 0.0 , 0.0 , 0.00 , 34 , 34 , 0 +BOX3 , 5.846883652860379e-19 , 5.846883652860379e-19 , 0.00 , 0.0 , 0.0 , 0.00 , 41 , 41 , 0 +BOX3NE , 0.0 , 0.0 , 0.00 , 3.174127159027984e-10 , 3.174127159027984e-10 , 0.00 , 14 , 14 , 0 +BOXBOD , 0.0 , 0.0 , 0.00 , 19.45872044064301 , 19.45872044064301 , 0.00 , 35 , 35 , 0 +BOXBODLS , 2706.7053209986425 , 2706.7053209986425 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +BRKMCC , 0.16904267926782027 , 0.16904267926782027 , 0.00 , 0.0 , 0.0 , 0.00 , 240 , 240 , 0 +BROWNBS , 996487161510.3127 , 996487161510.3127 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +BROWNDEN , 85822.20135313956 , 85822.20135313956 , 0.00 , 0.0 , 0.0 , 0.00 , 821 , 821 , 0 +BROWNDENE , 0.0 , 0.0 , 0.00 , 115.70643967925741 , 115.70643967925741 , 0.00 , 152 , 152 , 0 +BT1 , -0.9839255863997494 , -0.9839255863997494 , -0.00 , 5.007552775215807e-10 , 5.007552775215807e-10 , 0.00 , 1000 , 1000 , 3 +BT10 , -1.0000000000001457 , -1.0000000000001457 , -0.00 , 2.184918912462308e-13 , 2.184918912462308e-13 , 0.00 , 23 , 23 , 0 +BT11 , 0.8248917775441493 , 0.8248917775441493 , 0.00 , 8.572899334868822e-11 , 8.572899334868822e-11 , 0.00 , 160 , 160 , 0 +BT12 , 6.188118810425604 , 6.188118810425604 , 0.00 , 9.053202239837774e-09 , 9.053202239837774e-09 , 0.00 , 281 , 281 , 0 +BT13 , -1.1684547475646606e-08, -1.1684547475646606e-08, -0.00 , 1.2413868567670141e-08 , 1.2413868567670141e-08 , 0.00 , 733 , 733 , 0 +BT2 , 0.03256820039408809 , 0.03256820039408809 , 0.00 , 2.8332891588433995e-13 , 2.8332891588433995e-13 , 0.00 , 159 , 159 , 0 +BT3 , 4.09302325581437 , 4.09302325581437 , 0.00 , 1.1102230246251565e-16 , 1.1102230246251565e-16 , 0.00 , 105 , 105 , 0 +BT4 , -45.510550745652516 , -45.510550745652516 , -0.00 , 1.875001487405825e-09 , 1.875001487405825e-09 , 0.00 , 86 , 86 , 0 +BT6 , 0.27704478842853564 , 0.27704478842853564 , 0.00 , 4.426459199180499e-13 , 4.426459199180499e-13 , 0.00 , 185 , 185 , 0 +BT7 , 306.49999431504455 , 306.49999431504455 , 0.00 , 3.884431763290827e-09 , 3.884431763290827e-09 , 0.00 , 181 , 181 , 0 +BT8 , 0.9999999961817733 , 0.9999999961817733 , 0.00 , 1.2139740305875072e-08 , 1.2139740305875072e-08 , 0.00 , 142 , 142 , 0 +BT9 , -1.000000005686783 , -1.000000005686783 , -0.00 , 5.6577898813565485e-09 , 5.6577898813565485e-09 , 0.00 , 146 , 146 , 0 +BYRDSPHR , -4.683300133687232 , -4.683300133687232 , -0.00 , 7.49991979631659e-09 , 7.49991979631659e-09 , 0.00 , 81 , 81 , 0 +CAMEL6 , -1.0316284534897109 , -1.0316284534897109 , -0.00 , 0.0 , 0.0 , 0.00 , 70 , 70 , 0 +CANTILVR , 1.3399563589493664 , 1.3399563589493664 , 0.00 , 3.870630996272162e-09 , 3.870630996272162e-09 , 0.00 , 187 , 187 , 0 +CB2 , 1.9522244912137912 , 1.9522244912137912 , 0.00 , 4.621474314348006e-09 , 4.621474314348006e-09 , 0.00 , 92 , 92 , 0 +CB3 , 1.9999999999998086 , 1.9999999999998086 , 0.00 , 3.6770586575585185e-13 , 3.6770586575585185e-13 , 0.00 , 27 , 27 , 0 +CHACONN1 , 1.952224490848229 , 1.952224490848229 , 0.00 , 4.619454596621608e-09 , 4.619454596621608e-09 , 0.00 , 74 , 74 , 0 +CHACONN2 , 2.000000000803364 , 2.000000000803364 , 0.00 , 0.0 , 0.0 , 0.00 , 28 , 28 , 0 +CHWIRUT1 , 0.0 , 0.0 , 0.00 , 13.100003505803315 , 13.100003505803315 , 0.00 , 21 , 21 , 0 +CHWIRUT1LS , 2610.6084708005064 , 2610.6084708005064 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +CHWIRUT2 , 0.0 , 0.0 , 0.00 , 8.550007574529019 , 8.550007574529019 , 0.00 , 31 , 31 , 0 +CHWIRUT2LS , 627.5103290371579 , 627.5103290371579 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +CLIFF , 0.20068728039814143 , 0.20068728039814143 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +CLUSTER , 0.0 , 0.0 , 0.00 , 3.455543131680771e-11 , 3.455543131680771e-11 , 0.00 , 23 , 23 , 0 +CONCON , -6230.7955476904135 , -6230.7955476904135 , -0.00 , 3.0144826545009335e-09 , 3.0144826545009335e-09 , 0.00 , 1841 , 1841 , 0 +CONGIGMZ , 27.99999999627225 , 27.99999999627225 , 0.00 , 3.727762987182359e-09 , 3.727762987182359e-09 , 0.00 , 40 , 40 , 0 +COOLHANS , 0.0 , 0.0 , 0.00 , 6.654471028777323e-13 , 6.654471028777323e-13 , 0.00 , 526 , 526 , 0 +CRESC100 , 12.344516657246785 , 12.344516657246785 , 0.00 , 0.0 , 0.0 , 0.00 , 3000 , 3000 , 3 +CRESC132 , 22.027329882204143 , 22.027329882204143 , 0.00 , 0.0 , 0.0 , 0.00 , 3000 , 3000 , 3 +CRESC4 , 2.2014732007195974 , 2.2014732007195974 , 0.00 , 2.369838850418249e-18 , 2.369838850418249e-18 , 0.00 , 3000 , 3000 , 3 +CRESC50 , 2.4825387320290133 , 2.4825387320290133 , 0.00 , 0.0 , 0.0 , 0.00 , 3000 , 3000 , 3 +CSFI1 , -49.07519859222229 , -49.07519859222229 , -0.00 , 1.1193520776942023e-08 , 1.1193520776942023e-08 , 0.00 , 105 , 105 , 0 +CSFI2 , 55.01760720743365 , 55.01760720743365 , 0.00 , 7.934445989121741e-09 , 7.934445989121741e-09 , 0.00 , 130 , 130 , 0 +CUBE , 0.011249469195071457 , 0.011249469195071457 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +CUBENE , 0.0 , 0.0 , 0.00 , 0.0 , 0.0 , 0.00 , 43 , 43 , 0 +DANWOOD , 0.0 , 0.0 , 0.00 , 0.03663810054155192 , 0.03663810054155192 , 0.00 , 20 , 20 , 0 +DANWOODLS , 0.138114157125975 , 0.138114157125975 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +DEGENLPA , 4.591745425365873 , 4.591745425365873 , 0.00 , 2.54815467584966e-13 , 2.54815467584966e-13 , 0.00 , 83 , 83 , 0 +DEGENLPB , -30.731246817992613 , -30.731246817992613 , -0.00 , 2.872528603869995e-13 , 2.872528603869995e-13 , 0.00 , 97 , 97 , 0 +DEMBO7 , 174.86529625946446 , 174.86529625946446 , 0.00 , 5.328243238335286e-11 , 5.328243238335286e-11 , 0.00 , 8000 , 8000 , 3 +DEMYMALO , -2.9999999999999996 , -2.9999999999999996 , -0.00 , 0.0 , 0.0 , 0.00 , 30 , 30 , 0 +DENSCHNB , 2.6945695224742453e-13 , 2.6945695224742453e-13 , 0.00 , 0.0 , 0.0 , 0.00 , 65 , 65 , 0 +DENSCHNC , 1.0258723343782074e-10 , 1.0258723343782074e-10 , 0.00 , 0.0 , 0.0 , 0.00 , 165 , 165 , 0 +DENSCHND , 4.736985431672521e-07 , 4.736985431672521e-07 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +DENSCHNE , 3.8548206981663624e-13 , 3.8548206981663624e-13 , 0.00 , 0.0 , 0.0 , 0.00 , 323 , 323 , 0 +DENSCHNF , 3.500480714730578e-11 , 3.500480714730578e-11 , 0.00 , 0.0 , 0.0 , 0.00 , 54 , 54 , 0 +DIPIGRI , 680.630057374634 , 680.630057374634 , 0.00 , 4.5813297600005853e-11 , 4.5813297600005853e-11 , 0.00 , 417 , 417 , 0 +DIXCHLNG , 2471.9000558807024 , 2471.9000558807024 , 0.00 , 2.0647288323516477e-09 , 2.0647288323516477e-09 , 0.00 , 389 , 389 , 0 +DJTL , -8950.910668174563 , -8950.910668174563 , -0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +DUALC1 , 6155.251686004852 , 6155.251686004852 , 0.00 , 2.9360577716497774e-24 , 2.9360577716497774e-24 , 0.00 , 190 , 190 , 0 +DUALC2 , 3551.3063845622737 , 3551.3063845622737 , 0.00 , 3.2131266153824106e-22 , 3.2131266153824106e-22 , 0.00 , 116 , 116 , 0 +DUALC5 , 427.23254727394436 , 427.23254727394436 , 0.00 , 1.1673796479837064e-08 , 1.1673796479837064e-08 , 0.00 , 176 , 176 , 0 +DUALC8 , 18309.360566957563 , 18309.360566957563 , 0.00 , 9.287690237297924e-09 , 9.287690237297924e-09 , 0.00 , 170 , 170 , 0 +ECKERLE4 , 0.0 , 0.0 , 0.00 , 0.013712801732086388 , 0.013712801732086388 , 0.00 , 68 , 68 , 0 +ECKERLE4LS , 0.699695856485977 , 0.699695856485977 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +ELATTAR , 51.47204869447854 , 51.47204869447854 , 0.00 , 0.0 , 0.0 , 0.00 , 3500 , 3500 , 3 +ENGVAL2 , 0.0066521853170942065 , 0.0066521853170942065 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +ENSO , 0.0 , 0.0 , 0.00 , 4.872796761247474 , 4.872796761247474 , 0.00 , 155 , 155 , 0 +ENSOLS , 788.5397866694871 , 788.5397866694871 , 0.00 , 0.0 , 0.0 , 0.00 , 2491 , 2491 , 0 +EQC , -829.5477053187723 , -829.5477053187723 , -0.00 , 8.326672684688674e-17 , 8.326672684688674e-17 , 0.00 , 30 , 30 , 0 +ERRINBAR , 203.48674841371607 , 203.48674841371607 , 0.00 , 3.4968691556686338 , 3.4968691556686338 , 0.00 , 9000 , 9000 , 3 +EXPFIT , 0.24051059462618385 , 0.24051059462618385 , 0.00 , 0.0 , 0.0 , 0.00 , 259 , 259 , 0 +EXPFITA , 0.001136611706167525 , 0.001136611706167525 , 0.00 , 7.105427357601002e-15 , 7.105427357601002e-15 , 0.00 , 118 , 118 , 0 +EXPFITB , 0.005019365520499348 , 0.005019365520499348 , 0.00 , 3.3306690738754696e-15 , 3.3306690738754696e-15 , 0.00 , 113 , 113 , 0 +EXPFITC , 0.02330257260645052 , 0.02330257260645052 , 0.00 , 0.0 , 0.0 , 0.00 , 138 , 138 , 0 +EXTRASIM , 1.0 , 1.0 , 0.00 , 0.0 , 0.0 , 0.00 , 10 , 10 , 0 +FBRAIN , 0.0 , 0.0 , 0.00 , 0.04787576461951498 , 0.04787576461951498 , 0.00 , 16 , 16 , 0 +FBRAIN2 , 0.0 , 0.0 , 0.00 , 0.031128547346446538 , 0.031128547346446538 , 0.00 , 522 , 522 , 0 +FBRAIN2LS , 0.39207832626399236 , 0.39207832626399236 , 0.00 , 0.0 , 0.0 , 0.00 , 2000 , 2000 , 3 +FBRAIN3 , 0.0 , 0.0 , 0.00 , 0.027822835134793777 , 0.027822835134793777 , 0.00 , 3000 , 3000 , 3 +FBRAIN3LS , 0.36640222953974183 , 0.36640222953974183 , 0.00 , 0.0 , 0.0 , 0.00 , 3000 , 3000 , 3 +FBRAINLS , 0.4948844132827409 , 0.4948844132827409 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +FCCU , 11.149109141488331 , 11.149109141488331 , 0.00 , 3.552713678800501e-15 , 3.552713678800501e-15 , 0.00 , 594 , 594 , 0 +FLETCHER , 11.656854202187198 , 11.656854202187198 , 0.00 , 9.999189920506524e-09 , 9.999189920506524e-09 , 0.00 , 130 , 130 , 0 +FLT , 5.378712120506562e-05 , 5.378712120506562e-05 , 0.00 , 1.520961492941767e-14 , 1.520961492941767e-14 , 0.00 , 63 , 63 , 0 +FREURONE , 0.0 , 0.0 , 0.00 , 4.94895209510279 , 4.94895209510279 , 0.00 , 66 , 66 , 0 +GAUSS1 , 0.0 , 0.0 , 0.00 , 6.3982592316549995 , 6.3982592316549995 , 0.00 , 678 , 678 , 0 +GAUSS1LS , 3552.649289380294 , 3552.649289380294 , 0.00 , 0.0 , 0.0 , 0.00 , 92 , 92 , 0 +GAUSS2 , 0.0 , 0.0 , 0.00 , 5.539526323253131 , 5.539526323253131 , 0.00 , 159 , 159 , 0 +GAUSS2LS , 5155.796364986979 , 5155.796364986979 , 0.00 , 0.0 , 0.0 , 0.00 , 307 , 307 , 0 +GAUSS3 , 0.0 , 0.0 , 0.00 , 5.420551209450949 , 5.420551209450949 , 0.00 , 220 , 220 , 0 +GAUSS3LS , 14723.692179276592 , 14723.692179276592 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +GAUSSIAN , 1.1304050654009694e-08 , 1.1304050654009694e-08 , 0.00 , 0.0 , 0.0 , 0.00 , 267 , 267 , 0 +GBRAIN , 0.0 , 0.0 , 0.00 , 0.3285258575483354 , 0.3285258575483354 , 0.00 , 17 , 17 , 0 +GBRAINLS , 31.639378435784558 , 31.639378435784558 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +GENHS28 , 0.9271827220986375 , 0.9271827220986375 , 0.00 , 2.220446049250313e-16 , 2.220446049250313e-16 , 0.00 , 129 , 129 , 0 +GIGOMEZ1 , -2.999999999999996 , -2.999999999999996 , -0.00 , 0.0 , 0.0 , 0.00 , 24 , 24 , 0 +GIGOMEZ2 , 1.9522244909024595 , 1.9522244909024595 , 0.00 , 4.619804760963575e-09 , 4.619804760963575e-09 , 0.00 , 85 , 85 , 0 +GIGOMEZ3 , 1.9999999999999987 , 1.9999999999999987 , 0.00 , 2.6645352591003757e-15 , 2.6645352591003757e-15 , 0.00 , 25 , 25 , 0 +GOTTFR , 0.0 , 0.0 , 0.00 , 4.27467727881492e-10 , 4.27467727881492e-10 , 0.00 , 14 , 14 , 0 +GROWTH , 0.0 , 0.0 , 0.00 , 0.4409413035711687 , 0.4409413035711687 , 0.00 , 686 , 686 , 0 +GROWTHLS , 14.197523033483348 , 14.197523033483348 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +GULF , 6.267728684025267 , 6.267728684025267 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +GULFNE , 0.0 , 0.0 , 0.00 , 0.029037560460857925 , 0.029037560460857925 , 0.00 , 84 , 84 , 0 +HAHN1 , 0.0 , 0.0 , 0.00 , 7.903071395717545 , 7.903071395717545 , 0.00 , 77 , 77 , 0 +HAHN1LS , 5271.868589886393 , 5271.868589886393 , 0.00 , 0.0 , 0.0 , 0.00 , 67 , 67 , 0 +HAIFAS , -0.45000001318128324 , -0.45000001318128324 , -0.00 , 1.3456683714552555e-08 , 1.3456683714552555e-08 , 0.00 , 287 , 287 , 0 +HAIRY , 20.000000000325755 , 20.000000000325755 , 0.00 , 0.0 , 0.0 , 0.00 , 90 , 90 , 0 +HALDMADS , 0.00012237099686381107 , 0.00012237099686381107 , 0.00 , 3.61577434659921e-12 , 3.61577434659921e-12 , 0.00 , 62 , 62 , 0 +HART6 , -3.3228868915570007 , -3.3228868915570007 , -0.00 , 0.0 , 0.0 , 0.00 , 209 , 209 , 0 +HATFLDA , 1.6411188694437973e-07 , 1.6411188694437973e-07 , 0.00 , 0.0 , 0.0 , 0.00 , 2000 , 2000 , 3 +HATFLDB , 0.00557280900512232 , 0.00557280900512232 , 0.00 , 0.0 , 0.0 , 0.00 , 329 , 329 , 0 +HATFLDD , 0.0014731196825665605 , 0.0014731196825665605 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +HATFLDE , 0.0046816426137926605 , 0.0046816426137926605 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +HATFLDF , 0.0 , 0.0 , 0.00 , 6.851463840717997e-14 , 6.851463840717997e-14 , 0.00 , 123 , 123 , 0 +HATFLDFL , 6.656493180111125e-05 , 6.656493180111125e-05 , 0.00 , 0.0 , 0.0 , 0.00 , 156 , 156 , 0 +HATFLDH , -24.374999999999996 , -24.374999999999996 , -0.00 , 0.0 , 0.0 , 0.00 , 20 , 20 , 0 +HEART6 , 0.0 , 0.0 , 0.00 , 2.0605739337042905e-13 , 2.0605739337042905e-13 , 0.00 , 1808 , 1808 , 0 +HEART6LS , 8.24858224813558 , 8.24858224813558 , 0.00 , 0.0 , 0.0 , 0.00 , 3000 , 3000 , 3 +HEART8 , 0.0 , 0.0 , 0.00 , 7.105427357601002e-15 , 7.105427357601002e-15 , 0.00 , 1217 , 1217 , 0 +HEART8LS , 1.4181245230979846 , 1.4181245230979846 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +HELIX , 3.272203026880364e-06 , 3.272203026880364e-06 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +HELIXNE , 0.0 , 0.0 , 0.00 , 1.0426623005503126e-11 , 1.0426623005503126e-11 , 0.00 , 34 , 34 , 0 +HET-Z , 0.9999980000553024 , 0.9999980000553024 , 0.00 , 0.0 , 0.0 , 0.00 , 14 , 14 , 0 +HIELOW , 933.4139380419493 , 933.4139380419493 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +HILBERTA , 2.784356174323199e-12 , 2.784356174323199e-12 , 0.00 , 0.0 , 0.0 , 0.00 , 161 , 161 , 0 +HILBERTB , 2.440616690682895e-12 , 2.440616690682895e-12 , 0.00 , 0.0 , 0.0 , 0.00 , 286 , 286 , 0 +HIMMELBA , 0.0 , 0.0 , 0.00 , 0.0 , 0.0 , 0.00 , 9 , 9 , 0 +HIMMELBC , 0.0 , 0.0 , 0.00 , 1.7763568394002505e-15 , 1.7763568394002505e-15 , 0.00 , 18 , 18 , 0 +HIMMELBD , 0.0 , 0.0 , 0.00 , 2.421306136054515 , 2.421306136054515 , 0.00 , 66 , 66 , 0 +HIMMELBE , 0.0 , 0.0 , 0.00 , 0.0 , 0.0 , 0.00 , 15 , 15 , 0 +HIMMELBF , 885.379842556993 , 885.379842556993 , 0.00 , 0.0 , 0.0 , 0.00 , 2000 , 2000 , 3 +HIMMELBG , 5.361100772323128e-13 , 5.361100772323128e-13 , 0.00 , 0.0 , 0.0 , 0.00 , 60 , 60 , 0 +HIMMELBH , -0.9999999999997446 , -0.9999999999997446 , -0.00 , 0.0 , 0.0 , 0.00 , 72 , 72 , 0 +HIMMELP1 , -51.7378463582927 , -51.7378463582927 , -0.00 , 0.0 , 0.0 , 0.00 , 61 , 61 , 0 +HIMMELP2 , -62.05393553382589 , -62.05393553382589 , -0.00 , 0.0 , 0.0 , 0.00 , 83 , 83 , 0 +HIMMELP3 , -59.01317776912174 , -59.01317776912174 , -0.00 , 0.0 , 0.0 , 0.00 , 19 , 19 , 0 +HIMMELP4 , -59.01317776912174 , -59.01317776912174 , -0.00 , 0.0 , 0.0 , 0.00 , 20 , 20 , 0 +HIMMELP5 , -59.01317776912174 , -59.01317776912174 , -0.00 , 0.0 , 0.0 , 0.00 , 22 , 22 , 0 +HIMMELP6 , -59.01317776912174 , -59.01317776912174 , -0.00 , 0.0 , 0.0 , 0.00 , 24 , 24 , 0 +HONG , 22.571087363549214 , 22.571087363549214 , 0.00 , 0.0 , 0.0 , 0.00 , 86 , 86 , 0 +HS1 , 0.014236464990845877 , 0.014236464990845877 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +HS10 , -1.0000000014785269 , -1.0000000014785269 , -0.00 , 3.750422306048051e-09 , 3.750422306048051e-09 , 0.00 , 87 , 87 , 0 +HS100 , 680.6300573744186 , 680.6300573744186 , 0.00 , 1.3812950783176348e-11 , 1.3812950783176348e-11 , 0.00 , 494 , 494 , 0 +HS100LNP , 680.6300573744146 , 680.6300573744146 , 0.00 , 2.3419488570652902e-11 , 2.3419488570652902e-11 , 0.00 , 382 , 382 , 0 +HS100MOD , 678.6796378870499 , 678.6796378870499 , 0.00 , 5.243805389909539e-09 , 5.243805389909539e-09 , 0.00 , 291 , 291 , 0 +HS101 , 1810.9721677773778 , 1810.9721677773778 , 0.00 , 0.0 , 0.0 , 0.00 , 3500 , 3500 , 3 +HS102 , 3000.076360741547 , 3000.076360741547 , 0.00 , 0.07636220156756568 , 0.07636220156756568 , 0.00 , 3500 , 3500 , 3 +HS103 , 3000.2102326770078 , 3000.2102326770078 , 0.00 , 0.21023382818340428 , 0.21023382818340428 , 0.00 , 3500 , 3500 , 3 +HS104 , 3.9511633798338273 , 3.9511633798338273 , 0.00 , 9.32302749698707e-09 , 9.32302749698707e-09 , 0.00 , 3494 , 3494 , 0 +HS105 , 1062.0117612847187 , 1062.0117612847187 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +HS106 , 6403.84461691428 , 6403.84461691428 , 0.00 , 0.07250389269029256 , 0.07250389269029256 , 0.00 , 4000 , 4000 , 3 +HS107 , 5055.011797825531 , 5055.011797825531 , 0.00 , 2.0773698317100298e-09 , 2.0773698317100298e-09 , 0.00 , 127 , 127 , 0 +HS108 , -0.8660254047017132 , -0.8660254047017132 , -0.00 , 1.5396028896219605e-09 , 1.5396028896219605e-09 , 0.00 , 252 , 252 , 0 +HS109 , -111.57243927624917 , -111.57243927624917 , -0.00 , 38560.53255599182 , 38560.53255599182 , 0.00 , 4500 , 4500 , 3 +HS11 , -8.498464230059602 , -8.498464230059602 , -0.00 , 2.8177220556813154e-09 , 2.8177220556813154e-09 , 0.00 , 70 , 70 , 0 +HS110 , -45.778475531884865 , -45.7784755318843 , -0.00 , 0.0 , 0.0 , 0.00 , 228 , 265 , 0 +HS111 , -47.76109083484443 , -47.76109083484443 , -0.00 , 2.544230104373213e-11 , 2.544230104373213e-11 , 0.00 , 5000 , 5000 , 3 +HS111LNP , -47.761091063897 , -47.761091063897 , -0.00 , 1.2907698493380693e-08 , 1.2907698493380693e-08 , 0.00 , 5000 , 5000 , 3 +HS112 , -47.71663324635484 , -47.71663324635484 , -0.00 , 1.1102230246251565e-16 , 1.1102230246251565e-16 , 0.00 , 171 , 171 , 0 +HS113 , 24.306209068181655 , 24.306209068181655 , 0.00 , 5.115907697472721e-13 , 5.115907697472721e-13 , 0.00 , 278 , 278 , 0 +HS114 , -1634.2809767930557 , -1634.2809767930557 , -0.00 , 2.842170943040401e-14 , 2.842170943040401e-14 , 0.00 , 999 , 999 , 0 +HS116 , 118.97425136644837 , 118.97425136644837 , 0.00 , 9.270415174885203e-09 , 9.270415174885203e-09 , 0.00 , 6500 , 6500 , 3 +HS117 , 32.348678965728865 , 32.348678965728865 , 0.00 , 3.049782648645305e-13 , 3.049782648645305e-13 , 0.00 , 1499 , 1499 , 0 +HS118 , 664.8204499999993 , 664.8204499999993 , 0.00 , 4.263256414560601e-14 , 4.263256414560601e-14 , 0.00 , 83 , 83 , 0 +HS119 , 244.89969751680334 , 244.89969751680334 , 0.00 , 4.440892098500626e-16 , 4.440892098500626e-16 , 0.00 , 288 , 288 , 0 +HS12 , -30.00000000122298 , -30.00000000122298 , -0.00 , 2.5688748905849934e-09 , 2.5688748905849934e-09 , 0.00 , 62 , 62 , 0 +HS13 , 1.0000009773373966 , 1.0000009773373966 , 0.00 , 1.2564712928227616e-22 , 1.2564712928227616e-22 , 0.00 , 75 , 75 , 0 +HS14 , 1.3934649806418395 , 1.3934649806418395 , 0.00 , 2.570288426539946e-11 , 2.570288426539946e-11 , 0.00 , 15 , 15 , 0 +HS15 , 306.4999999128419 , 306.4999999128419 , 0.00 , 1.2451162323401377e-10 , 1.2451162323401377e-10 , 0.00 , 21 , 21 , 0 +HS16 , 23.144660975101118 , 23.144660975101118 , 0.00 , 0.0 , 0.0 , 0.00 , 14 , 14 , 0 +HS17 , 0.9999999999786774 , 0.9999999999786774 , 0.00 , 4.7749575873117735e-09 , 4.7749575873117735e-09 , 0.00 , 35 , 35 , 0 +HS18 , 4.99999999956311 , 4.99999999956311 , 0.00 , 3.4653027114472934e-09 , 3.4653027114472934e-09 , 0.00 , 65 , 65 , 0 +HS19 , -6961.813875580135 , -6961.813875580135 , -0.00 , 0.0 , 0.0 , 0.00 , 38 , 38 , 0 +HS2 , 4.941229318024095 , 4.941229318024095 , 0.00 , 0.0 , 0.0 , 0.00 , 42 , 42 , 0 +HS20 , 40.19872981077604 , 40.19872981077604 , 0.00 , 2.853273173286652e-14 , 2.853273173286652e-14 , 0.00 , 15 , 15 , 0 +HS21 , -99.96 , -99.96 , -0.00 , 0.0 , 0.0 , 0.00 , 34 , 34 , 0 +HS21MOD , -95.96 , -95.96 , -0.00 , 0.0 , 0.0 , 0.00 , 81 , 81 , 0 +HS22 , 1.0000000000000036 , 1.0000000000000036 , 0.00 , 4.440892098500626e-16 , 4.440892098500626e-16 , 0.00 , 19 , 19 , 0 +HS23 , 2.0000000017670727 , 2.0000000017670727 , 0.00 , 0.0 , 0.0 , 0.00 , 22 , 22 , 0 +HS24 , -1.0000000826919648 , -1.0000000826919648 , -0.00 , 0.0 , 0.0 , 0.00 , 10 , 10 , 0 +HS25 , 1.3629384448866604 , 1.3629384448866604 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +HS26 , 2.0117861896751436e-08 , 2.0117861896751436e-08 , 0.00 , 2.6467050773248957e-11 , 2.6467050773248957e-11 , 0.00 , 1500 , 1500 , 3 +HS268 , 2.2139807428320637 , 2.2139807428320637 , 0.00 , 0.0 , 0.0 , 0.00 , 2500 , 2500 , 3 +HS27 , 0.039999999999920544 , 0.039999999999920544 , 0.00 , 4.23221484457637e-11 , 4.23221484457637e-11 , 0.00 , 805 , 805 , 0 +HS28 , 1.0401675481935155e-14 , 1.0401675481935155e-14 , 0.00 , 0.0 , 0.0 , 0.00 , 96 , 96 , 0 +HS29 , -22.62741700345932 , -22.62741700345932 , -0.00 , 9.463470007631258e-09 , 9.463470007631258e-09 , 0.00 , 100 , 100 , 0 +HS3 , 3.4052170504073325e-13 , 3.4052170504073325e-13 , 0.00 , 0.0 , 0.0 , 0.00 , 27 , 27 , 0 +HS30 , 1.000000000002668 , 1.000000000002668 , 0.00 , 0.0 , 0.0 , 0.00 , 77 , 77 , 0 +HS31 , 5.999999982263959 , 5.999999982263959 , 0.00 , 4.570218981037044e-09 , 4.570218981037044e-09 , 0.00 , 86 , 86 , 0 +HS32 , 1.0 , 1.0 , 0.00 , 9.840662800703482e-21 , 9.840662800703482e-21 , 0.00 , 20 , 20 , 0 +HS33 , -4.585786437626904 , -4.585786437626904 , -0.00 , 0.0 , 0.0 , 0.00 , 32 , 32 , 0 +HS34 , -0.8340324452479582 , -0.8340324452479582 , -0.00 , 5.329070518200751e-15 , 5.329070518200751e-15 , 0.00 , 28 , 28 , 0 +HS35 , 0.111111111111722 , 0.111111111111722 , 0.00 , 0.0 , 0.0 , 0.00 , 86 , 86 , 0 +HS35I , 0.111111111111722 , 0.111111111111722 , 0.00 , 0.0 , 0.0 , 0.00 , 86 , 86 , 0 +HS35MOD , 0.25 , 0.25 , 0.00 , 0.0 , 0.0 , 0.00 , 34 , 34 , 0 +HS36 , -3299.999999999999 , -3299.999999999999 , -0.00 , 0.0 , 0.0 , 0.00 , 20 , 20 , 0 +HS37 , -3456.000000000001 , -3456.000000000001 , -0.00 , 0.0 , 0.0 , 0.00 , 90 , 90 , 0 +HS38 , 7.637443873107534 , 7.637443873107534 , 0.00 , 0.0 , 0.0 , 0.00 , 2000 , 2000 , 3 +HS39 , -1.000000005686783 , -1.000000005686783 , -0.00 , 5.6577898813565485e-09 , 5.6577898813565485e-09 , 0.00 , 146 , 146 , 0 +HS3MOD , 4.089468459443429e-14 , 4.089468459443429e-14 , 0.00 , 0.0 , 0.0 , 0.00 , 77 , 77 , 0 +HS4 , 2.666666664 , 2.666666664 , 0.00 , 0.0 , 0.0 , 0.00 , 10 , 10 , 0 +HS40 , -0.25000000154939434 , -0.25000000154939434 , -0.00 , 7.597619033905545e-09 , 7.597619033905545e-09 , 0.00 , 82 , 82 , 0 +HS41 , 1.9259259259259345 , 1.9259259259259345 , 0.00 , 2.220446049250313e-16 , 2.220446049250313e-16 , 0.00 , 81 , 81 , 0 +HS42 , 13.8578643700655 , 13.8578643700655 , 0.00 , 5.725128371381061e-09 , 5.725128371381061e-09 , 0.00 , 110 , 110 , 0 +HS43 , -44.000000011807266 , -44.000000011807266 , -0.00 , 4.0251952881931174e-09 , 4.0251952881931174e-09 , 0.00 , 109 , 109 , 0 +HS44 , -15.0 , -15.0 , -0.00 , 1.5766590820375744e-17 , 1.5766590820375744e-17 , 0.00 , 23 , 23 , 0 +HS44NEW , -15.0 , -15.0 , -0.00 , 0.0 , 0.0 , 0.00 , 19 , 19 , 0 +HS45 , 1.0000000004 , 1.0000000004 , 0.00 , 0.0 , 0.0 , 0.00 , 26 , 26 , 0 +HS46 , 9.110617542747234e-07 , 9.110617542747234e-07 , 0.00 , 1.3620372607547893e-09 , 1.3620372607547893e-09 , 0.00 , 2500 , 2500 , 3 +HS47 , 1.30080076710692e-09 , 1.30080076710692e-09 , 0.00 , 2.039590718538875e-12 , 2.039590718538875e-12 , 0.00 , 1359 , 1359 , 0 +HS48 , 2.4076629560869293e-12 , 2.4076629560869293e-12 , 0.00 , 8.881784197001252e-16 , 8.881784197001252e-16 , 0.00 , 126 , 126 , 0 +HS49 , 5.2915272548080974e-06 , 5.2915272548080974e-06 , 0.00 , 0.0 , 0.0 , 0.00 , 2500 , 2500 , 3 +HS5 , -1.9132229549805313 , -1.9132229549805313 , -0.00 , 0.0 , 0.0 , 0.00 , 57 , 57 , 0 +HS50 , 4.919755075054164e-13 , 4.919755075054164e-13 , 0.00 , 8.881784197001252e-16 , 8.881784197001252e-16 , 0.00 , 154 , 154 , 0 +HS51 , 2.6082197118214614e-13 , 2.6082197118214614e-13 , 0.00 , 2.220446049250313e-16 , 2.220446049250313e-16 , 0.00 , 96 , 96 , 0 +HS52 , 5.326647564545302 , 5.326647564545302 , 0.00 , 2.7755575615628914e-17 , 2.7755575615628914e-17 , 0.00 , 172 , 172 , 0 +HS53 , 4.09302325581405 , 4.09302325581405 , 0.00 , 1.1102230246251565e-16 , 1.1102230246251565e-16 , 0.00 , 90 , 90 , 0 +HS54 , -0.1539790077340626 , -0.1539790077340626 , -0.00 , 0.0 , 0.0 , 0.00 , 82 , 82 , 0 +HS55 , 6.666666666666667 , 6.666666666666667 , 0.00 , 8.881784197001252e-16 , 8.881784197001252e-16 , 0.00 , 26 , 26 , 0 +HS56 , -3.4560000011102447 , -3.4560000011102447 , -0.00 , 6.83309142601729e-09 , 6.83309142601729e-09 , 0.00 , 544 , 544 , 0 +HS57 , 0.030646319844124605 , 0.030646319844124605 , 0.00 , 0.0 , 0.0 , 0.00 , 41 , 41 , 0 +HS59 , -7.802789403937213 , -7.802789403937213 , -0.00 , 3.681179805425927e-09 , 3.681179805425927e-09 , 0.00 , 67 , 67 , 0 +HS6 , 6.719569297825384e-15 , 6.719569297825384e-15 , 0.00 , 1.5020207300153743e-10 , 1.5020207300153743e-10 , 0.00 , 51 , 51 , 0 +HS60 , 0.03256820028601623 , 0.03256820028601623 , 0.00 , 1.5341061754270413e-12 , 1.5341061754270413e-12 , 0.00 , 78 , 78 , 0 +HS61 , -81.91909609513321 , -81.91909609513321 , -0.00 , 6.610445524302122e-10 , 6.610445524302122e-10 , 0.00 , 81 , 81 , 0 +HS62 , -26272.5146470247 , -26272.5146470247 , -0.00 , 0.0 , 0.0 , 0.00 , 362 , 362 , 0 +HS63 , 961.7151721281875 , 961.7151721281875 , 0.00 , 1.8749766184100736e-09 , 1.8749766184100736e-09 , 0.00 , 87 , 87 , 0 +HS64 , 6299.842412880226 , 6299.842412880226 , 0.00 , 6.59982296591366e-09 , 6.59982296591366e-09 , 0.00 , 169 , 169 , 0 +HS65 , 0.953528855367757 , 0.953528855367757 , 0.00 , 1.466633747781998e-08 , 1.466633747781998e-08 , 0.00 , 102 , 102 , 0 +HS66 , 0.5181632727830466 , 0.5181632727830466 , 0.00 , 4.566252709281571e-09 , 4.566252709281571e-09 , 0.00 , 70 , 70 , 0 +HS68 , -0.9204101858789134 , -0.9204101858789134 , -0.00 , 3.6950720261330616e-10 , 3.6950720261330616e-10 , 0.00 , 2000 , 2000 , 3 +HS7 , -1.7320508076737495 , -1.7320508076737495 , -0.00 , 3.99998256739309e-10 , 3.99998256739309e-10 , 0.00 , 71 , 71 , 0 +HS70 , 0.2690861852486161 , 0.2690861852486161 , 0.00 , 8.015053065690836e-10 , 8.015053065690836e-10 , 0.00 , 71 , 71 , 0 +HS71 , 17.01401728817721 , 17.01401728817721 , 0.00 , 1.8750361263641935e-09 , 1.8750361263641935e-09 , 0.00 , 120 , 120 , 0 +HS72 , 727.6791802684454 , 727.6791802684454 , 0.00 , 9.59813380770752e-09 , 9.59813380770752e-09 , 0.00 , 327 , 327 , 0 +HS73 , 29.89437816317189 , 29.89437816317189 , 0.00 , 4.9072215607930255e-22 , 4.9072215607930255e-22 , 0.00 , 22 , 22 , 0 +HS74 , 5126.498109897566 , 5126.498109897566 , 0.00 , 1.1290406831676592e-08 , 1.1290406831676592e-08 , 0.00 , 159 , 159 , 0 +HS75 , 5174.412695641726 , 5174.412695641726 , 0.00 , 4.3787196091216174e-13 , 4.3787196091216174e-13 , 0.00 , 88 , 88 , 0 +HS76 , -4.681818181817892 , -4.681818181817892 , -0.00 , 5.421010862427522e-23 , 5.421010862427522e-23 , 0.00 , 88 , 88 , 0 +HS76I , -4.681818181817892 , -4.681818181817892 , -0.00 , 5.421010862427522e-23 , 5.421010862427522e-23 , 0.00 , 88 , 88 , 0 +HS77 , 0.2415051283087972 , 0.2415051283087972 , 0.00 , 1.4992451724538114e-12 , 1.4992451724538114e-12 , 0.00 , 214 , 214 , 0 +HS78 , -2.9197004090473686 , -2.9197004090473686 , -0.00 , 1.240879621278168e-10 , 1.240879621278168e-10 , 0.00 , 124 , 124 , 0 +HS79 , 0.07877682098728211 , 0.07877682098728211 , 0.00 , 4.3720582709738665e-13 , 4.3720582709738665e-13 , 0.00 , 104 , 104 , 0 +HS8 , -1.0 , -1.0 , -0.00 , 1.1235457009206584e-13 , 1.1235457009206584e-13 , 0.00 , 15 , 15 , 0 +HS80 , 0.053949847761852854 , 0.053949847761852854 , 0.00 , 7.238273314058574e-10 , 7.238273314058574e-10 , 0.00 , 134 , 134 , 0 +HS83 , -30665.538671783306 , -30665.538671783306 , -0.00 , 0.0 , 0.0 , 0.00 , 36 , 36 , 0 +HS84 , -5280335.079198179 , -5280335.079198179 , -0.00 , 1.1641532182693481e-10 , 1.1641532182693481e-10 , 0.00 , 32 , 32 , 0 +HS85 , -2.215604688476282 , -2.215604688476282 , -0.00 , 5.684341886080802e-14 , 5.684341886080802e-14 , 0.00 , 45 , 45 , 0 +HS86 , -32.34867896572227 , -32.34867896572227 , -0.00 , 0.0 , 0.0 , 0.00 , 81 , 81 , 0 +HS87 , 8996.881026604726 , 8996.881026604726 , 0.00 , 1.2964257261881096e-12 , 1.2964257261881096e-12 , 0.00 , 200 , 200 , 0 +HS88 , 1.3626502251796233 , 1.3626502251796233 , 0.00 , 8.822988650106028e-09 , 8.822988650106028e-09 , 0.00 , 151 , 151 , 0 +HS89 , 1.3626451537619035 , 1.3626451537619035 , 0.00 , 1.104449660084539e-08 , 1.104449660084539e-08 , 0.00 , 281 , 281 , 0 +HS9 , -0.4999999999999995 , -0.4999999999999995 , -0.00 , 1.7763568394002505e-15 , 1.7763568394002505e-15 , 0.00 , 42 , 42 , 0 +HS90 , 1.362648281096731 , 1.362648281096731 , 0.00 , 8.815662938183098e-09 , 8.815662938183098e-09 , 0.00 , 1685 , 1685 , 0 +HS91 , 1.3626641188199062 , 1.3626641188199062 , 0.00 , 8.822004249543118e-09 , 8.822004249543118e-09 , 0.00 , 2500 , 2500 , 3 +HS92 , 1.362641880130116 , 1.362641880130116 , 0.00 , 1.490098172015643e-08 , 1.490098172015643e-08 , 0.00 , 2474 , 2474 , 0 +HS93 , 135.07596925568015 , 135.07596925568015 , 0.00 , 1.0736364646074526e-09 , 1.0736364646074526e-09 , 0.00 , 3000 , 3000 , 3 +HS95 , 0.015619525242393854 , 0.015619525242393854 , 0.00 , 0.0 , 0.0 , 0.00 , 27 , 27 , 0 +HS96 , 0.015619525242393854 , 0.015619525242393854 , 0.00 , 0.0 , 0.0 , 0.00 , 27 , 27 , 0 +HS97 , 4.071246356513221 , 4.071246356513221 , 0.00 , 2.6962671608384e-15 , 2.6962671608384e-15 , 0.00 , 90 , 90 , 0 +HS98 , 4.071246356513221 , 4.071246356513221 , 0.00 , 2.7056267184999924e-15 , 2.7056267184999924e-15 , 0.00 , 47 , 47 , 0 +HS99 , -831079891.3531996 , -831079891.3531996 , -0.00 , 4.656612873077393e-10 , 4.656612873077393e-10 , 0.00 , 836 , 836 , 0 +HUBFIT , 0.016893493939398714 , 0.016893493939398714 , 0.00 , 0.0 , 0.0 , 0.00 , 42 , 42 , 0 +HUMPS , 0.271692660681852 , 0.271692660681852 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +HYPCIR , 0.0 , 0.0 , 0.00 , 6.257883100602157e-11 , 6.257883100602157e-11 , 0.00 , 14 , 14 , 0 +INTEQNE , 0.0 , 0.0 , 0.00 , 1.1899801123065486e-16 , 1.1899801123065486e-16 , 0.00 , 63 , 63 , 0 +JENSMP , 245.5097053022826 , 245.5097053022826 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +JENSMPNE , 0.0 , 0.0 , 0.00 , 4.693376137742932 , 4.693376137742932 , 0.00 , 59 , 59 , 0 +KIRBY2 , 0.0 , 0.0 , 0.00 , 0.3247954040282792 , 0.3247954040282792 , 0.00 , 431 , 431 , 0 +KIRBY2LS , 1067.9706707179575 , 1067.9706707179575 , 0.00 , 0.0 , 0.0 , 0.00 , 45 , 45 , 0 +KIWCRESC , -9.240327366129015e-10 , -9.240327366129015e-10 , -0.00 , 1.8749840569043386e-09 , 1.8749840569043386e-09 , 0.00 , 78 , 78 , 0 +KOEBHELB , 112.23228919514905 , 112.23304984281278 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +KOWOSB , 0.00034700028730681916 , 0.00034700028730681916 , 0.00 , 0.0 , 0.0 , 0.00 , 2000 , 2000 , 3 +KOWOSBNE , 0.0 , 0.0 , 0.00 , 0.008084368386043324 , 0.008084368386043324 , 0.00 , 39 , 39 , 0 +KSIP , 0.5757979235507544 , 0.5757979235507544 , 0.00 , 1.3694114953111125e-08 , 1.3694114953111125e-08 , 0.00 , 750 , 750 , 0 +LANCZOS1 , 0.0 , 0.0 , 0.00 , 2.6246195598822464e-09 , 2.6246195598822464e-09 , 0.00 , 507 , 507 , 0 +LANCZOS1LS , 0.001438579472562677 , 0.001438579472562677 , 0.00 , 0.0 , 0.0 , 0.00 , 3000 , 3000 , 3 +LANCZOS2 , 0.0 , 0.0 , 0.00 , 2.5616923711169193e-06 , 2.5616923711169193e-06 , 0.00 , 741 , 741 , 0 +LANCZOS2LS , 0.0014781514972468002 , 0.0014781514972468002 , 0.00 , 0.0 , 0.0 , 0.00 , 3000 , 3000 , 3 +LANCZOS3 , 0.0 , 0.0 , 0.00 , 3.8970466907151113e-05 , 3.8970466907151113e-05 , 0.00 , 3000 , 3000 , 3 +LANCZOS3LS , 0.001474893581124513 , 0.001474893581124513 , 0.00 , 0.0 , 0.0 , 0.00 , 3000 , 3000 , 3 +LEWISPOL , 2.1740981202273453 , 2.1740981202273453 , 0.00 , 3.011805242536525e-05 , 3.011805242536525e-05 , 0.00 , 55 , 55 , 0 +LIN , -0.020175818254486055 , -0.020175818254486055 , -0.00 , 0.0 , 0.0 , 0.00 , 904 , 904 , 0 +LOGHAIRY , 6.007577226484713 , 6.007577226484713 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +LOGROS , 0.0 , 0.0 , 0.00 , 0.0 , 0.0 , 0.00 , 34 , 34 , 0 +LOOTSMA , -8.9998777866624 , -8.9998777866624 , -0.00 , 1.000000000001 , 1.000000000001 , 0.00 , 89 , 89 , 0 +LOTSCHD , 2398.4158385317214 , 2398.4158385317214 , 0.00 , 8.881784197001252e-14 , 8.881784197001252e-14 , 0.00 , 54 , 54 , 0 +LSC1 , 0.0 , 0.0 , 0.00 , 20.59128159377724 , 20.59128159377724 , 0.00 , 117 , 117 , 0 +LSC1LS , 1094.4645070508968 , 1094.4645070508968 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +LSC2 , 0.0 , 0.0 , 0.00 , 1.857929600868374 , 1.857929600868374 , 0.00 , 146 , 146 , 0 +LSC2LS , 16.023713142592644 , 16.023713142592644 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +LSNNODOC , 123.11244879144516 , 123.11244879144516 , 0.00 , 3.5527136788005e-16 , 3.5527136788005e-16 , 0.00 , 33 , 33 , 0 +LSQFIT , 0.03378698787879743 , 0.03378698787879743 , 0.00 , 0.0 , 0.0 , 0.00 , 42 , 42 , 0 +MADSEN , 0.6164324350721612 , 0.6164324350721612 , 0.00 , 1.8759100939291784e-09 , 1.8759100939291784e-09 , 0.00 , 77 , 77 , 0 +MAKELA1 , -1.4142135675748042 , -1.4142135675748042 , -0.00 , 7.500361887124996e-09 , 7.500361887124996e-09 , 0.00 , 89 , 89 , 0 +MAKELA2 , 7.199999994045252 , 7.199999994045252 , 0.00 , 7.500004173266461e-09 , 7.500004173266461e-09 , 0.00 , 90 , 90 , 0 +MARATOS , -1.000000001792786 , -1.000000001792786 , -0.00 , 7.499750078721651e-09 , 7.499750078721651e-09 , 0.00 , 55 , 55 , 0 +MARATOSB , 1.0000001135252934 , 1.0000001135252934 , 0.00 , 0.0 , 0.0 , 0.00 , 46 , 46 , 0 +MATRIX2 , 2.824534071388212e-13 , 2.824534071388212e-13 , 0.00 , 3.37038528586148e-13 , 3.37038528586148e-13 , 0.00 , 137 , 137 , 0 +MAXLIKA , 1149.311907396927 , 1149.311907396927 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +MCONCON , -6230.795547690415 , -6230.795547690415 , -0.00 , 3.049235739382165e-09 , 3.049235739382165e-09 , 0.00 , 1937 , 1937 , 0 +MDHOLE , 5.78546146501778 , 5.78546146501778 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +MEXHAT , 0.1676149182987266 , 0.1676149182987266 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +MEYER3 , 7081469.356952106 , 7081469.356952106 , 0.00 , 0.0 , 0.0 , 0.00 , 95 , 95 , 0 +MEYER3NE , 0.0 , 0.0 , 0.00 , 33.91330594086685 , 33.91330594086685 , 0.00 , 1500 , 1500 , 3 +MGH09 , 0.0 , 0.0 , 0.00 , 0.01381740054783101 , 0.01381740054783101 , 0.00 , 2000 , 2000 , 3 +MGH09LS , 0.006827816057483676 , 0.006827816057483676 , 0.00 , 0.0 , 0.0 , 0.00 , 2000 , 2000 , 3 +MGH10 , 0.0 , 0.0 , 0.00 , 15434.52601255495 , 15434.52601255495 , 0.00 , 1500 , 1500 , 3 +MGH10LS , 1366860257.1510346 , 1366860257.1510346 , 0.00 , 0.0 , 0.0 , 0.00 , 51 , 51 , 0 +MGH10S , 0.0 , 0.0 , 0.00 , 44.592726115468395 , 44.592726115468395 , 0.00 , 1500 , 1500 , 3 +MGH17 , 0.0 , 0.0 , 0.00 , 0.26499999969053323 , 0.26499999969053323 , 0.00 , 54 , 54 , 0 +MGH17LS , 1.10603621877387 , 1.106036218821421 , 0.00 , 0.0 , 0.0 , 0.00 , 256 , 272 , 0 +MGH17S , 0.0 , 0.0 , 0.00 , 0.26499999911643746 , 0.26499999911643746 , 0.00 , 55 , 55 , 0 +MIFFLIN1 , -1.000000000757027 , -1.000000000757027 , -0.00 , 1.8749380273534917e-09 , 1.8749380273534917e-09 , 0.00 , 76 , 76 , 0 +MIFFLIN2 , -1.0000000007777747 , -1.0000000007777747 , -0.00 , 7.031732753291723e-09 , 7.031732753291723e-09 , 0.00 , 86 , 86 , 0 +MINMAXBD , 822.559 , 822.559 , 0.00 , 0.0 , 0.0 , 0.00 , 2500 , 2500 , 3 +MINMAXRB , 1.3877787807814457e-17 , 1.3877787807814457e-17 , 0.00 , 0.0 , 0.0 , 0.00 , 28 , 28 , 0 +MISRA1A , 0.0 , 0.0 , 0.00 , 0.12611092265660773 , 0.12611092265660773 , 0.00 , 91 , 91 , 0 +MISRA1ALS , 19.594518355352196 , 19.59761475637583 , 0.02 , 0.0 , 0.0 , 0.00 , 39 , 31 , 0 +MISRA1B , 0.0 , 0.0 , 0.00 , 0.09916875803321545 , 0.09916875803321545 , 0.00 , 101 , 101 , 0 +MISRA1BLS , 7.424831134022499 , 7.424831134022499 , 0.00 , 0.0 , 0.0 , 0.00 , 35 , 35 , 0 +MISRA1C , 0.0 , 0.0 , 0.00 , 0.07504991856126253 , 0.07504991856126253 , 0.00 , 97 , 97 , 0 +MISRA1CLS , 4.692559563212987 , 4.692559563212987 , 0.00 , 0.0 , 0.0 , 0.00 , 38 , 38 , 0 +MISRA1D , 0.0 , 0.0 , 0.00 , 0.0857960329662717 , 0.0857960329662717 , 0.00 , 96 , 96 , 0 +MISTAKE , -1.0000000026471214 , -1.0000000026471214 , -0.00 , 1.1817140488368238e-08 , 1.1817140488368238e-08 , 0.00 , 172 , 172 , 0 +MOREBVNE , 0.0 , 0.0 , 0.00 , 1.2981837047421567e-12 , 1.2981837047421567e-12 , 0.00 , 52 , 52 , 0 +MWRIGHT , 24.97880953861595 , 24.97880953861595 , 0.00 , 8.56517079483865e-11 , 8.56517079483865e-11 , 0.00 , 152 , 152 , 0 +NELSON , 0.0 , 0.0 , 0.00 , 0.5181181494376179 , 0.5181181494376179 , 0.00 , 1500 , 1500 , 3 +NELSONLS , 55.78451654625992 , 55.78451654625992 , 0.00 , 0.0 , 0.0 , 0.00 , 485 , 485 , 0 +NYSTROM5 , 0.0 , 0.0 , 0.00 , 0.009115798666323283 , 0.009115798666323283 , 0.00 , 7500 , 7500 , 3 +ODFITS , -2326.5550699033583 , -2326.5550699033583 , -0.00 , 0.0 , 0.0 , 0.00 , 69 , 69 , 0 +OET1 , 0.5382431193122431 , 0.5382431193122431 , 0.00 , 4.440892098500626e-16 , 4.440892098500626e-16 , 0.00 , 17 , 17 , 0 +OET2 , 0.08715963585435173 , 0.08715963585435173 , 0.00 , 1.7763568394002505e-15 , 1.7763568394002505e-15 , 0.00 , 24 , 24 , 0 +OET3 , 0.004505052872585095 , 0.004505052872585095 , 0.00 , 1.1102230246251565e-16 , 1.1102230246251565e-16 , 0.00 , 29 , 29 , 0 +OET4 , 0.004295429673128485 , 0.004295429673128485 , 0.00 , 2.983613356377646e-11 , 2.983613356377646e-11 , 0.00 , 35 , 35 , 0 +OET5 , 0.002650086531749752 , 0.002650086531749752 , 0.00 , 2.5552893134772603e-12 , 2.5552893134772603e-12 , 0.00 , 1338 , 1338 , 0 +OET6 , 0.002069732885596081 , 0.002069732885596081 , 0.00 , 1.017661510616108e-08 , 1.017661510616108e-08 , 0.00 , 353 , 353 , 0 +OET7 , 0.00028748986861539823 , 0.00028748986861539823 , 0.00 , 1.0456152610416325e-10 , 1.0456152610416325e-10 , 0.00 , 3500 , 3500 , 3 +OSBORNE1 , 0.0 , 0.0 , 0.00 , 0.0027817898858990553 , 0.0027817898858990553 , 0.00 , 61 , 61 , 0 +OSBORNE2 , 0.0 , 0.0 , 0.00 , 0.04802741461997104 , 0.04802741461997104 , 0.00 , 5500 , 5500 , 3 +OSBORNEA , 0.005033019604934856 , 0.005033019604934856 , 0.00 , 0.0 , 0.0 , 0.00 , 2500 , 2500 , 3 +OSBORNEB , 0.24818291862716213 , 0.24818291862716213 , 0.00 , 0.0 , 0.0 , 0.00 , 5500 , 5500 , 3 +OSCIPANE , 0.0 , 0.0 , 0.00 , 0.9996566894137592 , 0.9996566894137592 , 0.00 , 604 , 604 , 0 +OSLBQP , 6.250000000000002 , 6.250000000000002 , 0.00 , 1.1648144326692191e-21 , 1.1648144326692191e-21 , 0.00 , 113 , 113 , 0 +PALMER1 , 18443.017565442216 , 18443.017565442216 , 0.00 , 0.0 , 0.0 , 0.00 , 2000 , 2000 , 3 +PALMER1A , 15600.394338629283 , 15600.394338629283 , 0.00 , 0.0 , 0.0 , 0.00 , 3000 , 3000 , 3 +PALMER1B , 20831.199562653826 , 20831.199562653826 , 0.00 , 0.0 , 0.0 , 0.00 , 2000 , 2000 , 3 +PALMER1C , 40203.26503158763 , 40203.26503158763 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +PALMER1D , 39007.768412673526 , 39007.768412673526 , 0.00 , 0.0 , 0.0 , 0.00 , 3500 , 3500 , 3 +PALMER1E , 32006.1764699275 , 32006.1764699275 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +PALMER2 , 3736.4326483396276 , 3736.4326483396276 , 0.00 , 0.0 , 0.0 , 0.00 , 2000 , 2000 , 3 +PALMER2A , 216.55650767675104 , 216.55650767675104 , 0.00 , 0.0 , 0.0 , 0.00 , 3000 , 3000 , 3 +PALMER2B , 1097.5855717736188 , 1097.5855717736188 , 0.00 , 0.0 , 0.0 , 0.00 , 2000 , 2000 , 3 +PALMER2C , 1414.0819761003331 , 1414.0819761003331 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +PALMER2E , 624.4537853833527 , 624.4537853833527 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +PALMER3 , 2416.980526876446 , 2416.980526876446 , 0.00 , 1.4216134175728932e-08 , 1.4216134175728932e-08 , 0.00 , 286 , 286 , 0 +PALMER3A , 60.66394582450659 , 60.66394582450659 , 0.00 , 0.0 , 0.0 , 0.00 , 3000 , 3000 , 3 +PALMER3B , 324.6120596974852 , 324.6120596974852 , 0.00 , 0.0 , 0.0 , 0.00 , 2000 , 2000 , 3 +PALMER3C , 288.33548019188027 , 288.33548019188027 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +PALMER3E , 133.58010762749961 , 133.58010762749961 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +PALMER4 , 2424.0165667957262 , 2424.0165667957262 , 0.00 , 0.0 , 0.0 , 0.00 , 83 , 83 , 0 +PALMER4A , 69.94907244177588 , 69.94907244177588 , 0.00 , 0.0 , 0.0 , 0.00 , 3000 , 3000 , 3 +PALMER4B , 320.8542339362576 , 320.8542339362576 , 0.00 , 0.0 , 0.0 , 0.00 , 2000 , 2000 , 3 +PALMER4C , 275.345708419572 , 275.345708419572 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +PALMER4E , 126.56418046055174 , 126.56418046055174 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +PALMER5A , 7354.655360384113 , 7354.655360384113 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +PALMER5B , 4984.588036742078 , 4984.588036742078 , 0.00 , 0.0 , 0.0 , 0.00 , 4500 , 4500 , 3 +PALMER5C , 2.1280866434670838 , 2.1280866434670838 , 0.00 , 0.0 , 0.0 , 0.00 , 390 , 390 , 0 +PALMER5D , 494.82619226725996 , 494.82619226725996 , 0.00 , 0.0 , 0.0 , 0.00 , 2000 , 2000 , 3 +PALMER5E , 0.44915062905389014 , 0.44915062905389014 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +PALMER6A , 38.86788777259002 , 38.86788777259002 , 0.00 , 0.0 , 0.0 , 0.00 , 3000 , 3000 , 3 +PALMER6C , 194.82556096879847 , 194.82556096879847 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +PALMER6E , 27.450616340567958 , 27.450616340567958 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +PALMER7A , 43.6870422445713 , 43.6870422445713 , 0.00 , 0.0 , 0.0 , 0.00 , 3000 , 3000 , 3 +PALMER7C , 308.68548819097856 , 308.68548819097856 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +PALMER7E , 72.9445616450166 , 72.9445616450166 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +PALMER8A , 5.952976187477223 , 5.952976187477223 , 0.00 , 0.0 , 0.0 , 0.00 , 3000 , 3000 , 3 +PALMER8C , 169.5560709630756 , 169.5560709630756 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +PALMER8E , 32.75437813724635 , 32.75437813724635 , 0.00 , 0.0 , 0.0 , 0.00 , 4000 , 4000 , 3 +PENLT1NE , 0.0 , 0.0 , 0.00 , 8.418836638851758e-06 , 8.418836638851758e-06 , 0.00 , 94 , 94 , 0 +PENLT2NE , 0.0 , 0.0 , 0.00 , 7.2823335373348894e-06 , 7.2823335373348894e-06 , 0.00 , 70 , 70 , 0 +PENTAGON , 0.00014621320344806123 , 0.00014621320344806123 , 0.00 , 0.0 , 0.0 , 0.00 , 111 , 111 , 0 +PFIT1 , 0.0 , 0.0 , 0.00 , 0.010135688459226522 , 0.010135688459226522 , 0.00 , 1500 , 1500 , 3 +PFIT1LS , 0.49063882182978624 , 0.49063882182978624 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +PFIT2 , 0.0 , 0.0 , 0.00 , 0.07109333000049922 , 0.07109333000049922 , 0.00 , 1500 , 1500 , 3 +PFIT2LS , 1.9681099460619362 , 1.9681099460619362 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +PFIT3 , 0.0 , 0.0 , 0.00 , 0.18183624871680237 , 0.18183624871680237 , 0.00 , 1500 , 1500 , 3 +PFIT3LS , 6.075516480019205 , 6.075516480019205 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +PFIT4 , 0.0 , 0.0 , 0.00 , 0.3209527455478849 , 0.3209527455478849 , 0.00 , 1500 , 1500 , 3 +PFIT4LS , 9.074886404378923 , 9.074886404378923 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +POLAK1 , 2.718281822381711 , 2.718281822381711 , 0.00 , 9.514375065577951e-09 , 9.514375065577951e-09 , 0.00 , 111 , 111 , 0 +POLAK2 , 1.1 , 1.1 , 0.00 , 90.74478199714775 , 90.74478199714775 , 0.00 , 5500 , 5500 , 3 +POLAK3 , -13.957712874480016 , -13.957712874480016 , -0.00 , 35.38340251034428 , 35.38340251034428 , 0.00 , 6000 , 6000 , 3 +POLAK4 , 1.0464029452042218e-12 , 1.0464029452042218e-12 , 0.00 , 1.0619966233592089e-09 , 1.0619966233592089e-09 , 0.00 , 91 , 91 , 0 +POLAK5 , 50.00000185704198 , 50.00000185704198 , 0.00 , 1.0514396464600395e-08 , 1.0514396464600395e-08 , 0.00 , 221 , 221 , 0 +POLAK6 , 0.0 , 0.0 , 0.00 , 0.0 , 0.0 , 0.00 , 2500 , 2500 , 3 +PORTFL1 , 0.02048627467571856 , 0.02048627467571856 , 0.00 , 6.896730776655354e-24 , 6.896730776655354e-24 , 0.00 , 590 , 590 , 0 +PORTFL2 , 0.029689239853496228 , 0.029689239853496228 , 0.00 , 1.963841223876566e-23 , 1.963841223876566e-23 , 0.00 , 482 , 482 , 0 +PORTFL3 , 0.032749709342919556 , 0.032749709342919556 , 0.00 , 1.1102230246251565e-16 , 1.1102230246251565e-16 , 0.00 , 608 , 608 , 0 +PORTFL4 , 0.026306950934774496 , 0.026306950934774496 , 0.00 , 8.617170601441278e-23 , 8.617170601441278e-23 , 0.00 , 509 , 509 , 0 +PORTFL6 , 0.02579179815375995 , 0.02579179815375995 , 0.00 , 4.3267716076655915e-09 , 4.3267716076655915e-09 , 0.00 , 517 , 517 , 0 +POWELLBS , 0.0 , 0.0 , 0.00 , 6.528252331078344e-17 , 6.528252331078344e-17 , 0.00 , 223 , 223 , 0 +POWELLBSLS , 0.013862884415376104 , 0.013862884415376104 , 0.00 , 0.0 , 0.0 , 0.00 , 39 , 39 , 0 +POWELLSE , 0.0 , 0.0 , 0.00 , 8.593934603639937e-13 , 8.593934603639937e-13 , 0.00 , 79 , 79 , 0 +POWELLSQ , 0.0 , 0.0 , 0.00 , 5.16745778613073e-08 , 5.16745778613073e-08 , 0.00 , 1000 , 1000 , 3 +PSPDOC , 2.4142135528727406 , 2.4142135528727406 , 0.00 , 1.3446441404774134e-08 , 1.3446441404774134e-08 , 0.00 , 289 , 289 , 0 +PT , 0.1783942254303165 , 0.1783942254303165 , 0.00 , 0.0 , 0.0 , 0.00 , 9 , 9 , 0 +QC , -1060.8552344686261 , -1060.8552344686261 , -0.00 , 3.469446951953614e-18 , 3.469446951953614e-18 , 0.00 , 74 , 74 , 0 +QCNEW , -806.5218543888329 , -806.5218543888329 , -0.00 , 0.0 , 0.0 , 0.00 , 40 , 40 , 0 +RAT42 , 0.0 , 0.0 , 0.00 , 1.4056861590851497 , 1.4056861590851497 , 0.00 , 130 , 130 , 0 +RAT42LS , 436.12590755906604 , 436.12590755906604 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +RAT43 , 0.0 , 0.0 , 0.00 , 44.50658873254321 , 44.50658873254321 , 0.00 , 133 , 133 , 0 +RAT43LS , 1076461.5963733331 , 1076461.5963733331 , 0.00 , 0.0 , 0.0 , 0.00 , 108 , 108 , 0 +RECIPE , 0.0 , 0.0 , 0.00 , 4.67160976445029e-13 , 4.67160976445029e-13 , 0.00 , 58 , 58 , 0 +RES , 0.0 , 0.0 , 0.00 , 9.2459e-15 , 9.2459e-15 , 0.00 , 81 , 81 , 0 +RK23 , 0.08333333419174745 , 0.08333333419174745 , 0.00 , 3.902116518794685e-09 , 3.902116518794685e-09 , 0.00 , 193 , 193 , 0 +ROBOT , 5.462841228149146 , 5.462841228149146 , 0.00 , 1.0925704785336166e-12 , 1.0925704785336166e-12 , 0.00 , 535 , 535 , 0 +ROSENBR , 0.023671603917145376 , 0.023671603917145376 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +ROSENBRTU , 0.8433245168607838 , 0.8433245168607838 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +ROSENMMX , -0.998907700384006 , -0.998907700384006 , -0.00 , 0.0 , 0.0 , 0.00 , 2500 , 2500 , 3 +ROSZMAN1 , 0.0 , 0.0 , 0.00 , 0.00888433166743352 , 0.00888433166743352 , 0.00 , 69 , 69 , 0 +ROSZMAN1LS , 0.41512040528979666 , 0.41512040528979666 , 0.00 , 0.0 , 0.0 , 0.00 , 51 , 51 , 0 +RSNBRNE , 0.0 , 0.0 , 0.00 , 7.650102773482104e-11 , 7.650102773482104e-11 , 0.00 , 35 , 35 , 0 +S268 , 2.2139807428320637 , 2.2139807428320637 , 0.00 , 0.0 , 0.0 , 0.00 , 2500 , 2500 , 3 +S277-280 , 5.076190464000009 , 5.076190464000009 , 0.00 , 4.440892098500626e-16 , 4.440892098500626e-16 , 0.00 , 18 , 18 , 0 +S308 , 0.7731990564935545 , 0.7731990564935545 , 0.00 , 0.0 , 0.0 , 0.00 , 54 , 54 , 0 +S316-322 , 334.3145739470576 , 334.3145739470576 , 0.00 , 7.497877911182753e-09 , 7.497877911182753e-09 , 0.00 , 73 , 73 , 0 +S365 , 2.677576711495538e-47 , 2.677576711495538e-47 , 0.00 , 2.791701907839698e-08 , 2.791701907839698e-08 , 0.00 , 106 , 106 , 0 +S365MOD , 0.030112242107272882 , 0.030112242107272882 , 0.00 , 0.3264712066910137 , 0.3264712066910137 , 0.00 , 280 , 280 , 0 +S368 , -0.9999999999994998 , -0.9999999999994998 , -0.00 , 0.0 , 0.0 , 0.00 , 164 , 164 , 0 +SIM2BQP , 0.0 , 0.0 , 0.00 , 0.0 , 0.0 , 0.00 , 6 , 6 , 0 +SIMBQP , 1.3438991662011304e-14 , 1.3438991662011304e-14 , 0.00 , 3.3881317890172016e-26 , 3.3881317890172016e-26 , 0.00 , 54 , 54 , 0 +SIMPLLPA , 1.0 , 1.0 , 0.00 , 0.0 , 0.0 , 0.00 , 10 , 10 , 0 +SIMPLLPB , 1.1 , 1.1 , 0.00 , 0.0 , 0.0 , 0.00 , 10 , 10 , 0 +SINEVAL , 3.2647123588530964 , 3.2647123588530964 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +SINVALNE , 0.0 , 0.0 , 0.00 , 3.490104628134213e-17 , 3.490104628134213e-17 , 0.00 , 47 , 47 , 0 +SIPOW1 , -1.0 , -1.0 , -0.00 , 0.0 , 0.0 , 0.00 , 12 , 12 , 0 +SIPOW1M , -1.0000012427663338 , -1.0000012427663338 , -0.00 , 9.550077395559242e-09 , 9.550077395559242e-09 , 0.00 , 14 , 14 , 0 +SIPOW2 , -1.0000000000572606 , -1.0000000000572606 , -0.00 , 5.726064067346215e-11 , 5.726064067346215e-11 , 0.00 , 19 , 19 , 0 +SIPOW2M , -1.0000049350243543 , -1.0000049350243543 , -0.00 , 0.0 , 0.0 , 0.00 , 12 , 12 , 0 +SIPOW3 , 0.5346586469505029 , 0.5346586469505029 , 0.00 , 0.0 , 0.0 , 0.00 , 84 , 84 , 0 +SIPOW4 , 0.2723619987436327 , 0.2723619987436327 , 0.00 , 2.7755575615628914e-17 , 2.7755575615628914e-17 , 0.00 , 19 , 19 , 0 +SISSER , 6.441637708678534e-25 , 6.441637708678534e-25 , 0.00 , 0.0 , 0.0 , 0.00 , 46 , 46 , 0 +SNAIL , 12.471594860861538 , 12.471594860861538 , 0.00 , 0.0 , 0.0 , 0.00 , 1000 , 1000 , 3 +SNAKE , -0.0002476431675960226 , -0.0002476431675960226 , -0.00 , 1.2383349687035763e-08 , 1.2383349687035763e-08 , 0.00 , 20 , 20 , 0 +SPECAN , 0.0039237972095049626 , 0.0039237972095049626 , 0.00 , 0.0 , 0.0 , 0.00 , 4500 , 4500 , 3 +SPIRAL , 0.10584524024726766 , 0.10584524024726766 , 0.00 , 5.068222347315378e-09 , 5.068222347315378e-09 , 0.00 , 1500 , 1500 , 3 +SSI , 0.033284982807277104 , 0.033284982807277104 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +SSINE , 0.0 , 0.0 , 0.00 , 0.021347340220382406 , 0.021347340220382406 , 0.00 , 1500 , 1500 , 3 +STANCMIN , 4.250000000210743 , 4.250000000210743 , 0.00 , 0.0 , 0.0 , 0.00 , 20 , 20 , 0 +STRATEC , 2490.761190691184 , 2490.761190691184 , 0.00 , 0.0 , 0.0 , 0.00 , 5000 , 5000 , 3 +STREG , 9.999999995363072e+19 , 9.999999995363072e+19 , 0.00 , 0.0 , 0.0 , 0.00 , 2000 , 2000 , 3 +SUPERSIM , 0.666666666666667 , 0.666666666666667 , 0.00 , 4.440892098500626e-16 , 4.440892098500626e-16 , 0.00 , 9 , 9 , 0 +SYNTHES1 , 0.7592843899078733 , 0.7592843899078733 , 0.00 , 1.5805184461629874e-09 , 1.5805184461629874e-09 , 0.00 , 111 , 111 , 0 +SYNTHES2 , -0.5544053305120915 , -0.5544053305120915 , -0.00 , 0.0 , 0.0 , 0.00 , 80 , 80 , 0 +SYNTHES3 , 15.082190858604376 , 15.082190858604376 , 0.00 , 1.7763568394002505e-15 , 1.7763568394002505e-15 , 0.00 , 313 , 313 , 0 +TAME , 0.0 , 0.0 , 0.00 , 2.220446049250313e-16 , 2.220446049250313e-16 , 0.00 , 26 , 26 , 0 +TENBARS1 , -30.27643654696821 , -30.27643654696821 , -0.00 , 1.971241986244479 , 1.971241986244479 , 0.00 , 9000 , 9000 , 3 +TENBARS2 , -30.27643654696821 , -30.27643654696821 , -0.00 , 1.971241986244479 , 1.971241986244479 , 0.00 , 9000 , 9000 , 3 +TENBARS3 , -30.27643654696821 , -30.27643654696821 , -0.00 , 1.971241986244479 , 1.971241986244479 , 0.00 , 9000 , 9000 , 3 +TENBARS4 , -30.27643654696821 , -30.27643654696821 , -0.00 , 1.971241986244479 , 1.971241986244479 , 0.00 , 9000 , 9000 , 3 +TFI1 , 5.334687277792823 , 5.334687277792823 , 0.00 , 6.445452171988109e-09 , 6.445452171988109e-09 , 0.00 , 102 , 102 , 0 +TFI2 , 0.6490311069639091 , 0.6490311069639091 , 0.00 , 0.0 , 0.0 , 0.00 , 20 , 20 , 0 +TFI3 , 4.301460324843021 , 4.301460324843021 , 0.00 , 4.440892098500626e-16 , 4.440892098500626e-16 , 0.00 , 15 , 15 , 0 +THURBER , 0.0 , 0.0 , 0.00 , 25.841769135611926 , 25.841769135611926 , 0.00 , 564 , 564 , 0 +THURBERLS , 987328.4838581729 , 987328.4838581729 , 0.00 , 0.0 , 0.0 , 0.00 , 3500 , 3500 , 3 +TRIGGER , 0.0 , 0.0 , 0.00 , 2.2196773986182805e-05 , 2.2196773986182805e-05 , 0.00 , 3000 , 3000 , 3 +TRUSPYR1 , 7.454658583092079 , 7.454658583092079 , 0.00 , 0.1881985762808833 , 0.1881985762808833 , 0.00 , 5500 , 5500 , 3 +TRUSPYR2 , 6.753418297288706 , 6.753418297288706 , 0.00 , 0.09168702114595399 , 0.09168702114595399 , 0.00 , 5500 , 5500 , 3 +TRY-B , 3.11913289067379e-14 , 3.11913289067379e-14 , 0.00 , 1.9994006450474444e-12 , 1.9994006450474444e-12 , 0.00 , 65 , 65 , 0 +TWOBARS , 1.5086524132762278 , 1.5086524132762278 , 0.00 , 2.951234812030176e-09 , 2.951234812030176e-09 , 0.00 , 64 , 64 , 0 +VARDIMNE , 0.0 , 0.0 , 0.00 , 7.194245199571014e-14 , 7.194245199571014e-14 , 0.00 , 73 , 73 , 0 +VESUVIA , 0.0 , 0.0 , 0.00 , 5.962644060006011 , 5.962644060006011 , 0.00 , 85 , 85 , 0 +VESUVIALS , 3339.6088704845483 , 3339.6088704845483 , 0.00 , 0.0 , 0.0 , 0.00 , 89 , 89 , 0 +VESUVIO , 0.0 , 0.0 , 0.00 , 4.911922067299593 , 4.911922067299593 , 0.00 , 949 , 949 , 0 +VESUVIOLS , 1670.5690849716018 , 1670.5690849716018 , 0.00 , 0.0 , 0.0 , 0.00 , 90 , 90 , 0 +VESUVIOU , 0.0 , 0.0 , 0.00 , 0.10794024944868219 , 0.10794024944868219 , 0.00 , 556 , 556 , 0 +VESUVIOULS , 0.8125893016985668 , 0.8125893016985668 , 0.00 , 0.0 , 0.0 , 0.00 , 84 , 84 , 0 +VIBRBEAM , 883.0536358071324 , 883.0536358071324 , 0.00 , 0.0 , 0.0 , 0.00 , 84 , 84 , 0 +WACHBIEG , -0.3660254041058419 , -0.3660254041058419 , -0.00 , 0.433012702052921 , 0.433012702052921 , 0.00 , 19 , 19 , 0 +WATSON , 0.0019153769553988131 , 0.0019153769553988131 , 0.00 , 0.0 , 0.0 , 0.00 , 6000 , 6000 , 3 +WATSONNE , 0.0 , 0.0 , 0.00 , 1.3069017312794529e-08 , 1.3069017312794529e-08 , 0.00 , 80 , 80 , 0 +WEEDS , 3594.8319670977385 , 3594.8319670977385 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +WOMFLET , -9.340380260941673e-23 , -9.340380260941673e-23 , -0.00 , 4.014742031637235e-12 , 4.014742031637235e-12 , 0.00 , 89 , 89 , 0 +YFIT , 172.24970628060524 , 172.24970628060524 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +YFITNE , 0.0 , 0.0 , 0.00 , 4.066709813344005e-07 , 4.066709813344005e-07 , 0.00 , 121 , 121 , 0 +YFITU , 172.24970628060524 , 172.24970628060524 , 0.00 , 0.0 , 0.0 , 0.00 , 1500 , 1500 , 3 +ZANGWIL2 , -18.200000009100002 , -18.200000009100002 , -0.00 , 0.0 , 0.0 , 0.00 , 34 , 34 , 0 +ZANGWIL3 , 0.0 , 0.0 , 0.00 , 5.0182080713057076e-14 , 5.0182080713057076e-14 , 0.00 , 13 , 13 , 0 +ZECEVIC2 , -4.124999999999986 , -4.124999999999986 , -0.00 , 0.0 , 0.0 , 0.00 , 43 , 43 , 0 +ZECEVIC3 , 97.30945013022745 , 97.30945013022745 , 0.00 , 1.874998600825961e-09 , 1.874998600825961e-09 , 0.00 , 64 , 64 , 0 +ZECEVIC4 , 7.557507768853459 , 7.557507768853459 , 0.00 , 6.079403647163417e-11 , 6.079403647163417e-11 , 0.00 , 47 , 47 , 0 +ZY2 , 2.0000000000023004 , 2.0000000000023004 , 0.00 , 0.0 , 0.0 , 0.00 , 18 , 18 , 0 diff --git a/prima/pyprima/profiles_vs_python_bindings/scratch.py b/prima/pyprima/profiles_vs_python_bindings/scratch.py new file mode 100644 index 0000000..a1c51aa --- /dev/null +++ b/prima/pyprima/profiles_vs_python_bindings/scratch.py @@ -0,0 +1,54 @@ +import numpy as np +import pyprima +from pyprima import minimize +from scipy.optimize import NonlinearConstraint +import sys +import debugpy + + +pyprima.common.linalg.USE_NAIVE_MATH = False + +# debugpy.listen(5678) +# debugpy.wait_for_client() +np.set_printoptions(precision=19, floatmode='fixed', suppress=False) + +def f(x): + return np.sum(x**2) + +# eps = np.finfo(float).eps +lb = [-1, None, 1, None, -0.5] +ub = [-0.5, -0.5, None, None, -0.5] +bounds = [(a, b) for a, b in zip(lb, ub)] + +# lb_as_nlc = NonlinearConstraint(lambda x: x - lb, 0, np.inf) +# ub_as_nlc = NonlinearConstraint(lambda x: ub - x, 0, np.inf) + +# res = minimize(f, x0=[1, 2, 3, 4, 5], method='cobyla', bounds=bounds, options={'rhobeg': 0.03997997997997998, 'iprint': 1}) +# sys.exit() +# these are converted to Bounds internally + +# debugpy.breakpoint() +failed = 0 +n = 100 +for i, rhobeg in enumerate(np.linspace(2e-2, 10, n)): + res = minimize(f, x0=np.array([1, 2, 3, 4, 5]), bounds=bounds, options={'rhobeg': rhobeg}) + # print(res.nf) + ref = [-0.5, -0.5, 1, 0, -0.5] + ref = 1.75 + try: + diff = (abs(res.fun - ref)) + except AttributeError: + diff = (abs(res.f - ref)) + try: + nf = res.nf + except AttributeError: + nf = res.nfev + # print(f"diff={diff}") + if diff > 1: + print(f"rhobeg={rhobeg} FAILED with diff={diff} and nf={nf}") + failed += 1 + # break + if i % int(n/10) == 0: + print(f"rhobeg={rhobeg} passed with diff={diff} and nf={nf}") + +print("num failed: ", failed) \ No newline at end of file diff --git a/prima/pyprima/profiles_vs_python_bindings/speedtest.py b/prima/pyprima/profiles_vs_python_bindings/speedtest.py new file mode 100644 index 0000000..41866f8 --- /dev/null +++ b/prima/pyprima/profiles_vs_python_bindings/speedtest.py @@ -0,0 +1,25 @@ +from pyprima.common.linalg import matprod, inprod +import numpy as np +import timeit +import sys + +for numrows in [2, 3, 5, 10, 20, 50, 100]: + np.random.seed(0) + sys.modules['pyprima'].common.linalg.COMPARING = False + np_result = timeit.timeit(lambda: matprod(np.random.random((numrows, numrows)), np.random.random((numrows, numrows))), number=1000) + np.random.seed(0) + sys.modules['pyprima'].common.linalg.COMPARING = True + naive_result = timeit.timeit(lambda: matprod(np.random.random((numrows, numrows)), np.random.random((numrows, numrows))), number=1000) + speedup = naive_result / np_result + print(f"For {numrows} rows, numpy implementation takes {np_result} seconds, naive implementation takes {naive_result} seconds. Numpy is {speedup:.2f}x faster.") + + +# for numrows in [2, 3, 5, 10, 20, 50, 100]: +# np.random.seed(0) +# sys.modules['pyprima'].common.linalg.COMPARING = False +# np_result = timeit.timeit(lambda: inprod(np.random.random(numrows), np.random.random(numrows)), number=1000) +# np.random.seed(0) +# sys.modules['pyprima'].common.linalg.COMPARING = True +# naive_result = timeit.timeit(lambda: inprod(np.random.random(numrows), np.random.random(numrows)), number=1000) +# speedup = naive_result / np_result +# print(f"For {numrows} rows, numpy implementation takes {np_result} seconds, naive implementation takes {naive_result} seconds. Numpy is {speedup:.2f}x faster.") \ No newline at end of file diff --git a/prima/pyprima/profiles_vs_python_bindings/test_float.f90 b/prima/pyprima/profiles_vs_python_bindings/test_float.f90 new file mode 100644 index 0000000..b9c52f8 --- /dev/null +++ b/prima/pyprima/profiles_vs_python_bindings/test_float.f90 @@ -0,0 +1,88 @@ +program test_float + implicit none + + real(8) :: x(4) + real(8) :: y(4) + real(8) :: result + integer(4) :: i + + + + print *, float2bin(epsilon(0.0_8)**2), result + +contains + +function inprod(x, y) result(z) + !--------------------------------------------------------------------------------------------------! + ! INPROD calculates the inner product of X and Y, i.e., Z = X^T*Y, regarding X and Y as columns. + !--------------------------------------------------------------------------------------------------! + implicit none + + ! Inputs + real(8), intent(in) :: x(:) + real(8), intent(in) :: y(:) + ! Outputs + real(8) :: z + ! Local variables + integer(4) :: i + + + + !====================! + ! Calculation starts ! + !====================! + + z = 0.0_8 + do i = 1, int(size(x), kind(i)) + z = z + x(i) * y(i) + end do + + !====================! + ! Calculation ends ! + !====================! + end function inprod + +function bin2float(binary_string) result(result) + implicit none + + character(len=*), intent(in) :: binary_string + real(8) :: result + + integer(8) :: binary_value + integer :: i + + ! Convert binary string to integer + binary_value = 0 + do i = 1, 64 + binary_value = binary_value * 2 + if (binary_string(i:i) == '1') then + binary_value = binary_value + 1 + end if + end do + + ! Transfer the bit pattern to real(8) + result = transfer(binary_value, result) +end function bin2float + +function float2bin(r) result(bin_str) + real(8), intent(in) :: r + character(len=64) :: bin_str + integer(8) :: int_bits + integer :: j + + ! Transfer real bits to integer + int_bits = transfer(r, int_bits) + + ! Convert to binary string + bin_str = '' + do j = 64, 1, -1 + if (btest(int_bits, j-1)) then + bin_str(65-j:65-j) = '1' + else + bin_str(65-j:65-j) = '0' + end if + end do +end function float2bin + + +end program test_float diff --git a/prima/pyprima/profiles_vs_python_bindings/test_float.py b/prima/pyprima/profiles_vs_python_bindings/test_float.py new file mode 100644 index 0000000..1d90375 --- /dev/null +++ b/prima/pyprima/profiles_vs_python_bindings/test_float.py @@ -0,0 +1,39 @@ +import struct +import numpy as np + +np.set_printoptions(precision=53, floatmode='fixed', suppress=False) + +bin2float = lambda b: struct.unpack('>d', int(b, 2).to_bytes(8, byteorder="big"))[0] +float2bin = lambda f: f'{struct.unpack(">Q", struct.pack(">d", f))[0]:064b}' + +simi_bin = [['1011111111000001000100010101001001010100001001001111111001101101','1011111110110010100111001100000010110101010010101000101000001110','0011111111011000000100110110001111000001001110111000111100111100','0000000000000000000000000000000000000000000000000000000000000000','0011111111011110001101100101111010010011011001110111100100101010','0011111111001011011101101011001010010110011101111010000000001101','1011111111100101111110001101101111101111010100011010010010011000','1011111111100101111110001101101111101111010100011010010010011000','1011111111100101111110001101101111101111010100011010010010011000','0011111111010100000011100100100000100001010111001011011011010001','1011111111100101111110001101101111101111010100011010010010011000',], +['0011111111011111100101110111111011100110000101010000100110101011','1011111111100100010000100100011100101010001101100001110111100110','1011111111011101111101111110101001101001011001101000011111111110','0000000000000000000000000000000000000000000000000000000000000000','1011111111101010010010110001100111000001111000101010110011100011','1011111110000001001101100001100101101001101100101101110010100000','0011111111101010100011111111001000100111100010010111100001011010','0011111111101010100011111111001000100111100010010111100001011010','0011111111101010100011111111001000100111100010010111100001011010','0011111111101010100011111111001000100111100010010111100001011010','0011111111101010100011111111001000100111100010010111100001011010',], +['1011111111001001110010110111011011000011000111111111011000011101','1011111111000110001000101100000001110010011000101001110100000101','0011111111111000000111001101010000001100111000101110001101111101','1000000000000000000000000000000000000000000000000000000000000000','0011111111100100000110010010111110101001000001101011010101100001','1011111111101101011000011011001000111011100100101000011110000110','0011111111010010100100010000010100100101000101111010010001001000','0011111111010010100100010000010100100101000101111010010001001000','0011111111010010100100010000010100100101000101111010010001001000','0011111111010010100100010000010100100101000101111010010001001000','0011111111010010100100010000010100100101000101111010010001001000',], +['0011111111101001111100000111001010111011000101001101000000010111','0011111111101000001000001111011010100100000001010010000110111111','1011111111010101110111011100111010000011111010110010100101011100','1011111111110000000000000000000000000000000000000000000000000000','0011111111011110100011000100001100001111000111110011010111101110','1011111111100000001110100101001111011000110100000111100110100100','0011111110011110100001100100101000101000000110111101010110100000','0011111110011110100001100100101000101000000110111101010110100000','0011111110011110100001100100101000101000000110111101010110100000','0011111110011110100001100100101000101000000110111101010110100000','0011111110011110100001100100101000101000000110111101010110100000',], +['1011111111100110000001111000010110111001001101111101010011110110','1011111111100100110001100000010101000101110000100100000111011110','0011111111011011011000110110000010010000011001110100100100100011','0011111111110000000000000000000000000000000000000000000000000000','1011111111101011011101011010110011100010000100000110110001010110','0011111110110000010101100001000011010110000110011101000000110000','1011111111001010010101000101010011100010110010110011011011000011','1011111111001010010101000101010011100010110010110011011011000011','1011111111001010010101000101010011100010110010110011011011000011','1011111111001010010101000101010011100010110010110011011011000011','1011111111001010010101000101010011100010110010110011011011000011',], +['0011111111011010110000010001011010010010111111111000101010010000','0011111111011011111000001001010111011101011101110001101001011110','1011111110111100101110110011110101000011010001001001011100000000','0000000000000000000000000000000000000000000000000000000000000000','0011111111011010101000011010000000001101110101111000101001111001','1011111111010010001000001100111011001110001111111110100111011011','1011111111000001000000011010001001111111001011110100000100111101','1011111111000001000000011010001001111111001011110100000100111101','1011111111000001000000011010001001111111001011110100000100111101','1011111111000001000000011010001001111111001011110100000100111101','1011111111000001000000011010001001111111001011110100000100111101',], +['1011111111001000011100110110000001101000000010001110100110011001','1011111111010111101111010111010110101111001101111110111000001101','1011111110100101001000001010010000010001001000111010000010011011','0000000000000000000000000000000000000000000000000000000000000000','0011111111000111100011000101001111100001100000010110100110011000','0011111110110011010111111000111100110111001011101000000010111001','0011111111100111101100001111100100100000101110011101010110000010','1011111111010000100111100000110110111110100011000101010011111011','1011111111010000100111100000110110111110100011000101010011111011','1011111111010000100111100000110110111110100011000101010011111011','1011111111010000100111100000110110111110100011000101010011111011',], +['1011111110110101000011101001111100010110001100001110100010010000','1011111111001001010000101011101010101010000011001110100100111010','0011111110101011000000001010010111100111011010101000111011110011','0000000000000000000000000000000000000000000000000000000000000000','0011111111001011100111111111001011000011010101000100101011111010','0011111110111010001111010111000001011010000000000010110000110100','1011111111010100010111110101010101111000001010100011000010001011','0011111111100101110100000101010101000011111010101110011110111011','1011111111010100010111110101010101111000001010100011000010001011','1011111111010100010111110101010101111000001010100011000010001011','1011111111010100010111110101010101111000001010100011000010001011',], +['1011111110100000101111001000110000100101100111100011101010111100','1011111110110001110111001011000000110010011000111011111010001100','1011111111000001001110010111001001000001110001000111101011010111','0000000000000000000000000000000000000000000000000000000000000000','0011111110100111001111010100001000001010011011111101011111000110','0011111110011101101010110101011100010000100010000110110000001000','1011111110110011000010010111011011001001010110100000011011100101','1011111110110011000010010111011011001001010110100000011011100101','0011111111101101100111101101000100100110110101001011111100100011','1011111110110011000010010111011011001001010110100000011011100101','1011111110110011000010010111011011001001010110100000011011100101',], +['0011111111100100100110111100000010110100110001010101000001101101','1011111111010101010000001110101000110001010111101101111101010010','0011111111100011011100011011010100110100000100000110010000010001','0000000000000000000000000000000000000000000000000000000000000000','1011111111001110000000000111010000110000001101011011101001010110','0011111111011011111111101110001111101111100110000100101111110111','1011111111001001111111010101001110101110111110101101110110011010','1011111111001001111111010101001110101110111110101101110110011010','1011111111001001111111010101001110101110111110101101110110011010','1011111111001001111111010101001110101110111110101101110110011010','1011111111001001111111010101001110101110111110101101110110011010',], +['0011111110001101111011101011000111001011001011100000001101100110','0011111110001001101011111011101010001110111010001100010001010101','1011111110111011111110101111101110010001000111001001011101111100','0000000000000000000000000000000000000000000000000000000000000000','1011111110100111010100101000000001010100100010100010111001101101','0011111110110001000011000001101110101010011100101110000010100001','1011111110010101100010110110111000000000101101110010010110100110','1011111110010101100010110110111000000000101101110010010110100110','1011111110010101100010110110111000000000101101110010010110100110','1011111110010101100010110110111000000000101101110010010110100110','0011111111101111010100111010010010001111111110100100011011010011',],] + +simi = np.zeros((len(simi_bin), len(simi_bin[0]))) +for i in range(len(simi_bin)): + for j in range(len(simi_bin[0])): + simi[i, j] = bin2float(simi_bin[i][j]) + +# for i in range(simi.shape[0]): +# print(repr(simi[i])) + +simi = np.random.random((3, 3)) + +tempsum = -np.sum(simi, axis=0) +mysum = np.zeros(simi.shape[1]) +for i in range(simi.shape[1]): + for j in range(simi.shape[0] - 1, -1, -1): + mysum[i] += simi[j, i] + # mysum[i] = -sum(simi[:, i]) +print(tempsum + mysum) +# if any(np.abs(tempsum - mysum) > 0): +# print("abs(tempsum - mysum) > 0") \ No newline at end of file diff --git a/prima/pyprima/profiles_vs_python_bindings/test_updatexfc.py b/prima/pyprima/profiles_vs_python_bindings/test_updatexfc.py new file mode 100644 index 0000000..157c1da --- /dev/null +++ b/prima/pyprima/profiles_vs_python_bindings/test_updatexfc.py @@ -0,0 +1,173 @@ +import numpy as np +from pyprima.common.linalg import inv +import debugpy + +np.set_printoptions(precision=16, floatmode='fixed', suppress=False) + +# if input("Type Y to debug, ENTER to continue: ") == 'Y': +# print("Waiting for debugger to attach...") +# debugpy.listen(5678) +# debugpy.wait_for_client() + +np.random.seed(0) +A = np.random.random((3,3)) +# A = np.zeros((12, 12)) + +# for i in range(12): +# A[0, i] = i + 1 +# for j in range(1, 12): +# A[j] = A[j-1] +# for i in range(12): +# A[i, 11-i] = 0 +print(A) +print(np.linalg.det(A)) +# print(np.linalg.inv(A)) +# debugpy.breakpoint() +Bmine = inv(A.copy()) +Bnumpy = np.linalg.inv(A) +print(Bmine - Bnumpy) + +# [-2.75236387645919705846608849242329597473144531250000000e+02 +# -3.30258202677836537608513367558771278709173202514648438e-02 +# -2.60292652305317805117024221317478804849088191986083984e-02 +# -1.03938739868627205709117333753965795040130615234375000e+00 +# -3.51264910543025277167572539838147349655628204345703125e-01 +# -2.75319715006458878292505687568336725234985351562500000e+01 +# -1.45491044079348375817062333226203918457031250000000000e+04 +# -7.59857225741902017034590244293212890625000000000000000e+05 +# -4.13219084514259904494792863260954618453979492187500000e+01 +# -1.35727092186378417768093977637151870130338693343219347e-08 +# 6.19213967364305863156914710998535156250000000000000000e+04 +# 1.32533105409530166383925864240049541376009756277198903e-08] +# [-1.68916879926685368218386429361999034881591796875000000e+02 +# 2.67300378078544828563956059497286332771182060241699219e-02 +# 7.12995373010534040647545594993061968125402927398681641e-03 +# 2.01316482671386376424038644472602754831314086914062500e+00 +# -9.45194914791982032653550049872137606143951416015625000e-01 +# 6.40995497017158211150444913073442876338958740234375000e+00 +# -8.75828268959940942295361310243606567382812500000000000e+03 +# 4.78377892933179857209324836730957031250000000000000000e+05 +# -2.57636486629565013117826310917735099792480468750000000e+02 +# 4.26464824204714732011064571085001695394112175563350320e-07 +# 5.44144248112333225435577332973480224609375000000000000e+04 +# -4.26284063282236404940610946523449342748790513724088669e-07] +# [-1.79266743124217331484260284923948347568511962890625000e+00 +# 1.18679048349766506215141603775009571108967065811157227e-02 +# -2.26948117405421055658987228298428817652165889739990234e-02 +# 8.44028992744987993646077484299894422292709350585937500e-01 +# 1.65154263578907778420301610822207294404506683349609375e-01 +# -1.94759218904803588223728638695320114493370056152343750e+00 +# 1.42768190635548726277193054556846618652343750000000000e+04 +# 1.55295472709112660959362983703613281250000000000000000e+06 +# -3.86782765420878513396019116044044494628906250000000000e+03 +# -3.01454064493740389813272728680715317750582471489906311e-06 +# -2.71507831270575334201566874980926513671875000000000000e+04 +# 3.01202914603102700694657080371374746619039797224104404e-06] +# [ 1.24208516836780916037241695448756217956542968750000000e+02 +# -5.75045921262246073624169184768106788396835327148437500e-03 +# 3.47708082917587380997193058362881856737658381462097168e-03 +# -1.52338947815461644985646216809982433915138244628906250e+00 +# -3.85950559914885971135589670666377060115337371826171875e-01 +# -2.94022145387218847290000667271669954061508178710937500e+00 +# -1.53216826856923980813007801771163940429687500000000000e+04 +# 2.87612711699984734877943992614746093750000000000000000e+06 +# 9.51206475866360676718613831326365470886230468750000000e+01 +# -8.51835695469748415976354513623469699723500525578856468e-07 +# -3.83481842741625267080962657928466796875000000000000000e+05 +# 8.51475812958621226865345288370434673197451047599315643e-07] +# [-3.20371478951535152646101778373122215270996093750000000e+02 +# 1.41639688833007908880246006333436525892466306686401367e-02 +# 3.27582674986352725965410570552194258198142051696777344e-02 +# -2.20952315452089154135251192201394587755203247070312500e+00 +# 3.33312928277775533114635209130938164889812469482421875e-01 +# 1.61394919871353650364653731230646371841430664062500000e+01 +# -1.01024087264925437921192497014999389648437500000000000e+04 +# 2.86856205426727305166423320770263671875000000000000000e+05 +# -8.98673684696424857065721880644559860229492187500000000e+02 +# -5.34338202834764093476348917333140775554056745022535324e-06 +# 1.40074836980978511746798176318407058715820312500000000e+03 +# 5.34065912334614892250121351291447524545219494029879570e-06] +# [-5.09876216386349412346135068219155073165893554687500000e+01 +# -2.63542784930899994660924434697335527744144201278686523e-03 +# -2.51399461410528324289970214522327296435832977294921875e-02 +# 6.81475975441643511132383537187706679105758666992187500e-01 +# 2.48740892408481323316848943250079173594713211059570312e-01 +# 2.74170246240344006594114034669473767280578613281250000e+01 +# -2.15187796125509958073962479829788208007812500000000000e+04 +# 2.78071943791396357119083404541015625000000000000000000e+06 +# 4.40356172737426845742447767406702041625976562500000000e+02 +# 4.02641835422421341629181656962543911504326388239860535e-06 +# 1.78223058897371491184458136558532714843750000000000000e+05 +# -4.02444912037054329675099528795811920645064674317836761e-06] +# [-2.86051101449182169744744896888732910156250000000000000e+02 +# -9.77053447771603810400806167102416566194733604788780212e-05 +# -1.11947531320210503374967814238516439218074083328247070e-02 +# 2.23997275019269759255280405341181904077529907226562500e+00 +# 3.48932607576893150103103380388347432017326354980468750e-01 +# 2.40955831131753628326919169921893626451492309570312500e+00 +# 1.63441173790672182803973555564880371093750000000000000e+04 +# 1.94363316550956893479451537132263183593750000000000000e+05 +# 2.03817412540019654443312902003526687622070312500000000e+03 +# 1.27988156343938833764092063288719813840543793048709631e-06 +# -3.02976024858838820364326238632202148437500000000000000e+05 +# -1.27940384613178134293458732689829915329937648493796587e-06] +# [ 1.15818997729596233625670720357447862625122070312500000e+02 +# 1.12703741223333124207850453046830807579681277275085449e-03 +# 4.21798546158918662846160074764156888704746961593627930e-03 +# 2.61218789441259247041671187616884708404541015625000000e+00 +# 6.13701335209160050987442502901103580370545387268066406e-02 +# 1.18544842965778602916770978481508791446685791015625000e+01 +# -2.79720881523781681607943028211593627929687500000000000e+04 +# -2.17164937667809845879673957824707031250000000000000000e+06 +# 8.36200741229483668348620994947850704193115234375000000e+01 +# -5.68951954248849095605727876900914452562574297189712524e-06 +# -9.33898483185210934607312083244323730468750000000000000e+04 +# 5.68630296168503464440463143758641706426715245470404625e-06] +# [ 4.79238946658743358852916571777313947677612304687500000e+01 +# 5.91489250320679713079918826679204357787966728210449219e-03 +# 1.19697735179991951448563725080020958557724952697753906e-02 +# 7.94627737917767640318800204113358631730079650878906250e-01 +# 2.26244097435694901943037393721169792115688323974609375e-01 +# -2.41108225904587740728857170324772596359252929687500000e+01 +# -2.41168676979214023958775214850902557373046875000000000e+03 +# 2.50508854610166698694229125976562500000000000000000000e+06 +# 2.66767985585901533340802416205406188964843750000000000e+03 +# -5.40057069348209971163064097021688780841941479593515396e-06 +# 1.74723260002154711401090025901794433593750000000000000e+05 +# 5.39748440515866924219266081985679761601204518228769302e-06] +# [-3.08431611060574155658287054393440485000610351562500000e+01 +# -6.54828368150419184989807774854853050783276557922363281e-03 +# 1.13431801987995649338980541642740718089044094085693359e-02 +# 1.44274016581032582529076080390950664877891540527343750e+00 +# 5.04193256703811876207055320264771580696105957031250000e-01 +# -2.63623976718887185199946543434634804725646972656250000e+01 +# -2.52475128202312771463766694068908691406250000000000000e+04 +# 1.55154201332599273882806301116943359375000000000000000e+05 +# -1.94138664675841027928981930017471313476562500000000000e+03 +# 4.00428676598855276639070052691060652705346001312136650e-06 +# -5.61613407598229896393604576587677001953125000000000000e+04 +# -4.00182501009659589438034396624566113587206928059458733e-06] +# [ 3.91479298936926412011416687164455652236938476562500000e+01 +# 3.27387177966747683344195252175268251448869705200195312e-02 +# -2.87916368627453081452394201278366381302475929260253906e-02 +# -2.10551022254688247059561945206951349973678588867187500e+00 +# 2.24290144675719754774334546709724236279726028442382812e-01 +# 2.46756667220616154878598536015488207340240478515625000e+00 +# -1.62737159935236104502109810709953308105468750000000000e+04 +# -1.46263394214811129495501518249511718750000000000000000e+06 +# 1.18826630533348566132190171629190444946289062500000000e+03 +# 1.65204916156191398146917299893932096210846793837845325e-06 +# -6.64766049830698757432401180267333984375000000000000000e+04 +# -1.65203916704949204015146629886956475274928379803895950e-06] +# [ 4.24946360271901539817918092012405395507812500000000000e+03 +# 4.23806231477487290248973295092582702636718750000000000e+03 +# 4.22666162207404249784303829073905944824218750000000000e+03 +# 4.24946360742166416457621380686759948730468750000000000e+03 +# 4.23236195725721518101636320352554321289062500000000000e+03 +# 4.24946360830693447496742010116577148437500000000000000e+03 +# 4.24946307566331142879789695143699645996093750000000000e+03 +# 4.24956831633846013573929667472839355468750000000000000e+03 +# 4.24946356080193800153210759162902832031250000000000000e+03 +# -2.71827999997485614258607711235526949167251586914062500e+00 +# 4.24946300813852121791569516062736511230468750000000000e+03 +# 2.71827999997488367611708781623747199773788452148437500e+00] \ No newline at end of file diff --git a/prima/pyprima/src/pyprima/cobyla/trustregion.py b/prima/pyprima/src/pyprima/cobyla/trustregion.py index e24f484..f27ce05 100644 --- a/prima/pyprima/src/pyprima/cobyla/trustregion.py +++ b/prima/pyprima/src/pyprima/cobyla/trustregion.py @@ -386,7 +386,7 @@ def trstlp_sub(iact: npt.NDArray, nact: int, stage, A, b, delta, d, vmultc, z): # 2. vmultd[:nact] and vmultd[nact:mcon] are calculated separately with no coupling. # 3. vmultd will be calculated from scratch again in the next iteration. # Set vmultd to the vmultc vector that would occur if d became dnew. A device is included to - # force multd[k] = 0 if deviations from this value can be attributed to computer rounding + # force vmultd[k] = 0 if deviations from this value can be attributed to computer rounding # errors. First calculate the new Lagrange multipliers. vmultd[:nact] = -lsqr(A[:, iact[:nact]], dnew, z[:, :nact], zdota[:nact]) if stage == 2: diff --git a/prima/pyproject.toml b/prima/pyproject.toml index 559cfd5..a8fdeea 100644 --- a/prima/pyproject.toml +++ b/prima/pyproject.toml @@ -46,8 +46,8 @@ skip = [ # Disable building PyPy wheels on all platforms. If there is interest in supporting PyPy # we can look into it. "pp*", - # Scipy does not provide binaries for musllinux below 3.9 or for 32-bit - "cp38-musllinux*", "*musllinux_i686", + # Disable musllinux for the moment. It successfully built but there was an error when testing + "*musllinux*", # SciPy does not provide binaries for 32-bit Python on Linux starting from 3.10. # As such we can compile but we cannot test, so we skip those. "cp31*-manylinux_i686", diff --git a/prima/tests.md b/prima/tests.md new file mode 100644 index 0000000..010d4df --- /dev/null +++ b/prima/tests.md @@ -0,0 +1,100 @@ +**Code must be battle-tested before becoming software.** +The development of PRIMA is driven by [intensive and extensive tests](https://github.com/orgs/libprima/discussions/39) +automated by [GitHub Actions](https://docs.github.com/en/actions). + +Since each GitHub Team account can only run at most 60 GitHub Actions workflows concurrently, I have +to distribute this large amount of tests to multiple Team accounts as follows. + +- [Tests](https://github.com/libprima/prima/actions) at [libprima/prima](https://github.com/libprima/prima) + + - [![CMake build](https://github.com/libprima/prima/actions/workflows/cmake.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/cmake.yml) + - [![CMake build, nagfor](https://github.com/libprima/prima/actions/workflows/cmake_nagfor.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/cmake_nagfor.yml) + - [![CMake build, macOS ARM64](https://github.com/libprima/prima/actions/workflows/cmake_mac.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/cmake_mac.yml) + - [![CMake build, macOS ARM64, nagfor](https://github.com/libprima/prima/actions/workflows/cmake_mac_nagfor.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/cmake_mac_nagfor.yml) + - [![Test nagfor, macOS ARM64](https://github.com/libprima/prima/actions/workflows/test_nagfor_mac.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/test_nagfor_mac.yml) + - [![Test matlab, macOS ARM64](https://github.com/libprima/prima/actions/workflows/test_matlab_mac.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/test_matlab_mac.yml) + - [![Stress test, matlab, macOS ARM64](https://github.com/libprima/prima/actions/workflows/stress_test_matlab_mac.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/stress_test_matlab_mac.yml) + - [![Parallel test, matlab, macOS ARM64](https://github.com/libprima/prima/actions/workflows/parallel_test_matlab_mac.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/parallel_test_matlab_mac.yml) + - [![Recursive test, matlab, macOS ARM64](https://github.com/libprima/prima/actions/workflows/recursive_test_matlab_mac.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/recursive_test_matlab_mac.yml) + - [![Test nagfor](https://github.com/libprima/prima/actions/workflows/test_nagfor.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/test_nagfor.yml) + - [![Build Python wheels](https://github.com/libprima/prima/actions/workflows/build_python.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/build_python.yml) + - [![Compile MEX](https://github.com/libprima/prima/actions/workflows/compile_mex.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/compile_mex.yml) + - [![Lint the Fortran code and the MEX gateways with nagfor](https://github.com/libprima/prima/actions/workflows/lint_nagfor.yml/badge.svg)](https://github.com/libprima/prima/actions/workflows/lint_nagfor.yml) + +- [Tests](https://github.com/libsprima/prima/actions) at [libsprima/prima](https://github.com/libsprima/prima) + - [![Verification, small](https://github.com/libsprima/prima/actions/workflows/verify_small.yml/badge.svg)](https://github.com/libsprima/prima/actions/workflows/verify_small.yml) + - [![Verification, big](https://github.com/libsprima/prima/actions/workflows/verify_big.yml/badge.svg)](https://github.com/libsprima/prima/actions/workflows/verify_big.yml) + - [![Verification, large](https://github.com/libsprima/prima/actions/workflows/verify_large.yml/badge.svg)](https://github.com/libsprima/prima/actions/workflows/verify_large.yml) + - [![Plot performance profiles for lincoa](https://github.com/libsprima/prima/actions/workflows/profile_lincoa_small.yml/badge.svg)](https://github.com/libsprima/prima/actions/workflows/profile_lincoa_small.yml) + +- [Tests](https://github.com/primapack/prima/actions) at [primapack/prima](https://github.com/primapack/prima) + + - [![Plot performance profiles for cobyla, small](https://github.com/primapack/prima/actions/workflows/profile_cobyla_small.yml/badge.svg)](https://github.com/primapack/prima/actions/workflows/profile_cobyla_small.yml) + - [![Plot performance profiles for uobyqa, small](https://github.com/primapack/prima/actions/workflows/profile_uobyqa_small.yml/badge.svg)](https://github.com/primapack/prima/actions/workflows/profile_uobyqa_small.yml) + - [![Plot performance profiles for newuoa, small](https://github.com/primapack/prima/actions/workflows/profile_newuoa_small.yml/badge.svg)](https://github.com/primapack/prima/actions/workflows/profile_newuoa_small.yml) + - [![Plot performance profiles for bobyqa, small](https://github.com/primapack/prima/actions/workflows/profile_bobyqa_small.yml/badge.svg)](https://github.com/primapack/prima/actions/workflows/profile_bobyqa_small.yml) + - [![Plot performance profiles for PRIMA, small](https://github.com/primapack/prima/actions/workflows/profile_prima_small.yml/badge.svg)](https://github.com/primapack/prima/actions/workflows/profile_prima_small.yml) + +- [Tests](https://github.com/fortlab/prima/actions) at [fortlab/prima](https://github.com/fortlab/prima) + + - [![Plot performance profiles for all problems, single and quadruple](https://github.com/fortlab/prima/actions/workflows/profile_all_sq.yml/badge.svg)](https://github.com/fortlab/prima/actions/workflows/profile_all_sq.yml) + - [![Plot performance profiles for cobyla, small, single and quadruple](https://github.com/fortlab/prima/actions/workflows/profile_cobyla_small_sq.yml/badge.svg)](https://github.com/fortlab/prima/actions/workflows/profile_cobyla_small_sq.yml) + - [![Plot performance profiles for uobyqa, small, single and quadruple](https://github.com/fortlab/prima/actions/workflows/profile_uobyqa_small_sq.yml/badge.svg)](https://github.com/fortlab/prima/actions/workflows/profile_uobyqa_small_sq.yml) + - [![Plot performance profiles for newuoa, small, single and quadruple](https://github.com/fortlab/prima/actions/workflows/profile_newuoa_small_sq.yml/badge.svg)](https://github.com/fortlab/prima/actions/workflows/profile_newuoa_small_sq.yml) + - [![Plot performance profiles for bobyqa, small, single and quadruple](https://github.com/fortlab/prima/actions/workflows/profile_bobyqa_small_sq.yml/badge.svg)](https://github.com/fortlab/prima/actions/workflows/profile_bobyqa_small_sq.yml) + - [![Plot performance profiles for lincoa, small, single and quadruple](https://github.com/fortlab/prima/actions/workflows/profile_lincoa_small_sq.yml/badge.svg)](https://github.com/fortlab/prima/actions/workflows/profile_lincoa_small_sq.yml) + +- [Tests](https://github.com/primalib/prima/actions) at [primalib/prima](https://github.com/primalib/prima) + + - [![Verification, archiva](https://github.com/primalib/prima/actions/workflows/verify_archiva.yml/badge.svg)](https://github.com/primalib/prima/actions/workflows/verify_archiva.yml) + - [![Plot performance profiles for all problems](https://github.com/primalib/prima/actions/workflows/profile_all.yml/badge.svg)](https://github.com/primalib/prima/actions/workflows/profile_all.yml) + - [![Plot performance profiles, single](https://github.com/primalib/prima/actions/workflows/profile_single.yml/badge.svg)](https://github.com/primalib/prima/actions/workflows/profile_single.yml) + - [![Plot performance profiles, quadruple](https://github.com/primalib/prima/actions/workflows/profile_quadruple.yml/badge.svg)](https://github.com/primalib/prima/actions/workflows/profile_quadruple.yml) + - [![Plot performance profiles, int16 and int64](https://github.com/primalib/prima/actions/workflows/profile_integer_kind.yml/badge.svg)](https://github.com/primalib/prima/actions/workflows/profile_integer_kind.yml) + - [![Plot performance profiles, infnan](https://github.com/primalib/prima/actions/workflows/profile_infnan.yml/badge.svg)](https://github.com/primalib/prima/actions/workflows/profile_infnan.yml) + - [![Plot performance profiles, various compiler options](https://github.com/primalib/prima/actions/workflows/profile_compiler_options.yml/badge.svg)](https://github.com/primalib/prima/actions/workflows/profile_compiler_options.yml) + - [![Plot performance profiles, various npt](https://github.com/primalib/prima/actions/workflows/profile_npt.yml/badge.svg)](https://github.com/primalib/prima/actions/workflows/profile_npt.yml) + +- [Tests](https://github.com/opt4ai/prima/actions) at [opt4ai/prima](https://github.com/opt4ai/prima) + + - [![Test MATLAB](https://github.com/opt4ai/prima/actions/workflows/test_matlab.yml/badge.svg)](https://github.com/opt4ai/prima/actions/workflows/test_matlab.yml) + - [![Test MATLAB, Linux](https://github.com/opt4ai/prima/actions/workflows/test_matlab_linux.yml/badge.svg)](https://github.com/opt4ai/prima/actions/workflows/test_matlab_linux.yml) + +- [Tests](https://github.com/opt2ai/prima/actions) at [opt2ai/prima](https://github.com/opt2ai/prima) + + - [![Test MATLAB, macOS Intel](https://github.com/opt2ai/prima/actions/workflows/test_matlab_mac_intel.yml/badge.svg)](https://github.com/opt2ai/prima/actions/workflows/test_matlab_mac_intel.yml) + - [![Test MATLAB, Windows](https://github.com/opt2ai/prima/actions/workflows/test_matlab_windows.yml/badge.svg)](https://github.com/opt2ai/prima/actions/workflows/test_matlab_windows.yml) + +- [Tests](https://github.com/sprimalib/prima/actions) at [sprimalib/prima](https://github.com/sprimalib/prima) + + - [![Stress test on large problems, MATLAB](https://github.com/sprimalib/prima/actions/workflows/stress_test_matlab.yml/badge.svg)](https://github.com/sprimalib/prima/actions/workflows/stress_test_matlab.yml) + - [![Stress test on large problems, Fortran](https://github.com/sprimalib/prima/actions/workflows/stress_test_fortran.yml/badge.svg)](https://github.com/sprimalib/prima/actions/workflows/stress_test_fortran.yml) + +- [Tests](https://github.com/zequipe/prima/actions) at [zequipe/prima](https://github.com/zequipe/prima) + - [![Parallel test, MATLAB](https://github.com/zequipe/prima/actions/workflows/parallel_test_matlab.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/parallel_test_matlab.yml) + - [![Recursive test, MATLAB](https://github.com/zequipe/prima/actions/workflows/recursive_test_matlab.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/recursive_test_matlab.yml) + - [![Test Flang](https://github.com/zequipe/prima/actions/workflows/test_flang.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/test_flang.yml) + - [![Test Flang in AMD AOCC](https://github.com/zequipe/prima/actions/workflows/test_aflang.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/test_aflang.yml) + - [![Test nvfortran](https://github.com/zequipe/prima/actions/workflows/test_nvfortran.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/test_nvfortran.yml) + - [![Test Oracle sunf95](https://github.com/zequipe/prima/actions/workflows/test_sunf95.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/test_sunf95.yml) + - [![Test g95](https://github.com/zequipe/prima/actions/workflows/test_g95.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/test_g95.yml) + - [![Test RESCUE and IDZ, classical](https://github.com/zequipe/prima/actions/workflows/profile_rescue_idz_classical.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/profile_rescue_idz_classical.yml) + - [![Test RESCUE and IDZ, modernized](https://github.com/zequipe/prima/actions/workflows/profile_rescue_idz_modernized.yml/badge.svg)](https://github.com/zequipe/prima/actions/workflows/profile_rescue_idz_modernized.yml) + +- [Tests](https://github.com/equipez/prima/actions) at [equipez/prima](https://github.com/equipez/prima) + - [![Test gfortran on Kunpeng](https://github.com/equipez/prima/actions/workflows/test_gfortran_kunpeng.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/test_gfortran_kunpeng.yml) + - [![Test Flang on Kunpeng](https://github.com/equipez/prima/actions/workflows/test_flang_kunpeng.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/test_flang_kunpeng.yml) + - [![Test nvfortran on Kunpeng](https://github.com/equipez/prima/actions/workflows/test_nvfortran_kunpeng.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/test_nvfortran_kunpeng.yml) + - [![Test armflang on Kunpeng](https://github.com/equipez/prima/actions/workflows/test_armflang_kunpeng.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/test_armflang_kunpeng.yml) + - [![CMake build on Raspberry Pi](https://github.com/equipez/prima/actions/workflows/cmake_pi.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/cmake_pi.yml) + - [![Test gfortran on Raspberry Pi](https://github.com/equipez/prima/actions/workflows/test_gfortran_pi64.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/test_gfortran_pi64.yml) + - [![Test Flang on Raspberry Pi](https://github.com/equipez/prima/actions/workflows/test_flang_pi.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/test_flang_pi.yml) + - [![Test armflang on Raspberry Pi](https://github.com/equipez/prima/actions/workflows/test_armflang_pi.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/test_armflang_pi.yml) + - [![Test nvfortran on Raspberry Pi](https://github.com/equipez/prima/actions/workflows/test_nvfortran_pi.yml/badge.svg)](https://github.com/equipez/prima/actions/workflows/test_nvfortran_pi.yml) + +- [Tests](https://github.com/s-prima/prima/actions) at [s-prima/prima](https://github.com/s-prima/prima) + + - [![Lint the Fortran code and the MEX gateways on GitHub hosted runners](https://github.com/s-prima/prima/actions/workflows/lint_hosted.yml/badge.svg)](https://github.com/s-prima/prima/actions/workflows/lint_hosted.yml) + - [![Test gfortran](https://github.com/s-prima/prima/actions/workflows/test_gfortran.yml/badge.svg)](https://github.com/s-prima/prima/actions/workflows/test_gfortran.yml) + - [![Test ifort](https://github.com/s-prima/prima/actions/workflows/test_ifort.yml/badge.svg)](https://github.com/s-prima/prima/actions/workflows/test_ifort.yml) + - [![Test ifx](https://github.com/s-prima/prima/actions/workflows/test_ifx.yml/badge.svg)](https://github.com/s-prima/prima/actions/workflows/test_ifx.yml)