{"id":33935888,"url":"https://github.com/datamole-ai/gomez","last_synced_at":"2026-04-08T13:31:20.709Z","repository":{"id":44737681,"uuid":"440155740","full_name":"datamole-ai/gomez","owner":"datamole-ai","description":"Framework and implementation for mathematical optimization and solving non-linear systems of equations.","archived":false,"fork":false,"pushed_at":"2025-08-23T13:14:04.000Z","size":231,"stargazers_count":50,"open_issues_count":7,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-27T14:56:16.052Z","etag":null,"topics":["equation-solver","mathematics","numerical-methods","optimization"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/datamole-ai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-12-20T12:04:34.000Z","updated_at":"2025-08-23T13:14:07.000Z","dependencies_parsed_at":"2023-11-12T12:23:08.956Z","dependency_job_id":"2f55a860-bbac-48bb-ac7e-851f7461ab43","html_url":"https://github.com/datamole-ai/gomez","commit_stats":{"total_commits":31,"total_committers":1,"mean_commits":31.0,"dds":0.0,"last_synced_commit":"48bbf11afd3237d0984755c74968920ce52c0cd9"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/datamole-ai/gomez","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datamole-ai%2Fgomez","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datamole-ai%2Fgomez/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datamole-ai%2Fgomez/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datamole-ai%2Fgomez/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datamole-ai","download_url":"https://codeload.github.com/datamole-ai/gomez/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datamole-ai%2Fgomez/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31558380,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T10:21:54.569Z","status":"ssl_error","status_checked_at":"2026-04-08T10:21:38.171Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["equation-solver","mathematics","numerical-methods","optimization"],"created_at":"2025-12-12T14:02:59.747Z","updated_at":"2026-04-08T13:31:20.697Z","avatar_url":"https://github.com/datamole-ai.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gomez\n\n[![Build](https://img.shields.io/github/actions/workflow/status/datamole-ai/gomez/ci.yml?branch=main)](https://github.com/datamole-ai/gomez/actions)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/datamole-ai/gomez/blob/main/LICENSE)\n[![Cargo](https://img.shields.io/crates/v/gomez.svg)](https://crates.io/crates/gomez)\n[![Documentation](https://docs.rs/gomez/badge.svg)](https://docs.rs/gomez)\n\n_gomez_ is a framework and implementation for **mathematical optimization** and\nsolving **non-linear systems of equations**.\n\nThe library is written completely in Rust. Its focus is on being useful for\n**practical problems** and having API that is simple for easy cases as well as\nflexible for complicated ones. The name stands for ***g***lobal\n***o***ptimization \u0026 ***n***on-linear ***e***quations ***s***olving, with a few\ntypos.\n\n## Practical problems\n\nThe main goal is to be useful for practical problems. This is manifested by the\nfollowing features:\n\n* _Derivative-free_. No algorithm requires an analytical derivative (gradient,\n  Hessian, Jacobian). Methods that use derivatives approximate it using finite\n  difference method\u003csup\u003e1\u003c/sup\u003e.\n* _Constraints_ support. It is possible to specify the problem domain with\n  constraints\u003csup\u003e2\u003c/sup\u003e, which is necessary for many engineering applications.\n* Non-naive implementations. The code is not a direct translation of a textbook\n  pseudocode. It's written with performance in mind and applies important\n  techniques from numerical mathematics. It also tries to handle situations that\n  hurt the methods but occur in practice.\n\n\u003csup\u003e1\u003c/sup\u003e There is a plan to provide ways to override this approximation with\na real derivative.\n\n\u003csup\u003e2\u003c/sup\u003e Currently, only unconstrained and box-bounded domains are\nsupported.\n\n## Algorithms\n\n* [Trust region](algo::trust_region) – Recommended method to be used as a\n  default and it will just work in most cases.\n* [LIPO](algo::lipo) – Global optimization algorithm useful for searching good\n  initial guesses in combination with a numerical algorithm.\n* [Steffensen](algo::steffensen) – Fast and lightweight method for solving\n  one-dimensional systems of equations.\n* [Nelder-Mead](algo::nelder_mead) – Direct search optimization method that does\n  not use any derivatives.\n\nThis list will be extended in the future. But at the same time, having as many\nalgorithms as possible is _not_ the goal. Instead, the focus is on providing\nquality implementations of battle-tested methods.\n\n## Roadmap\n\nListed *not* in priority order.\n\n* [Homotopy continuation\n  method](http://homepages.math.uic.edu/~jan/srvart/node4.html) to compare the\n  performance with the trust region method\n* Conjugate gradient method\n* Experimentation with various global optimization techniques for initial guess\n  search\n  * Evolutionary/nature-inspired algorithms\n  * Bayesian optimization\n* Focus on initial guesses search and tools for analysis in general\n\n## License\n\nLicensed under [MIT](LICENSE).\n\nThere are `gsl-wrapper` and `gsl-sys` crates which are licensed under the\n[GPLv3](http://www.gnu.org/licenses/gpl-3.0.html) identically as\n[GSL](https://www.gnu.org/software/gsl/) itself. This code is part of the\nrepository but is not part of the gomez library. Its purpose is solely for\ncomparison in the benchmarks.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatamole-ai%2Fgomez","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatamole-ai%2Fgomez","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatamole-ai%2Fgomez/lists"}