{"id":17113032,"url":"https://github.com/emmt/vmlmb","last_synced_at":"2025-04-13T02:32:53.151Z","repository":{"id":71510290,"uuid":"474769152","full_name":"emmt/VMLMB","owner":"emmt","description":"VMLMB algorithm for Python, Matlab, GNU Octave, and Yorick","archived":false,"fork":false,"pushed_at":"2024-11-13T16:16:14.000Z","size":567,"stargazers_count":9,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-26T20:55:41.142Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"SWIG","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emmt.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2022-03-27T21:55:24.000Z","updated_at":"2025-01-13T03:40:42.000Z","dependencies_parsed_at":"2024-11-07T18:15:43.975Z","dependency_job_id":null,"html_url":"https://github.com/emmt/VMLMB","commit_stats":{"total_commits":107,"total_committers":3,"mean_commits":"35.666666666666664","dds":0.01869158878504673,"last_synced_commit":"aac77adcd3329b70efde3473c0953ab5f361ea92"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmt%2FVMLMB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmt%2FVMLMB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmt%2FVMLMB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmt%2FVMLMB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emmt","download_url":"https://codeload.github.com/emmt/VMLMB/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248657824,"owners_count":21140842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-14T17:02:26.221Z","updated_at":"2025-04-13T02:32:52.610Z","avatar_url":"https://github.com/emmt.png","language":"SWIG","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The VMLMB algorithm for large scale optimization with bound constraints\n\nThis repository provides implementations of the `VMLMB` algorithm and\npreconditioned linear conjugate gradient method in various high-level\nprogramming languages.\n\n`VMLMB` (for *Variable Metric Limited Memory with Bounds*) is a quasi-Newton\noptimization method with small memory requirements and which may take into\naccount separable bound constraints.  This algorithm is of particular interest\nfor minimizing a smooth cost function of a potentially very large number of\nvariables (millions or billions) possibly under bound constraints.  `VMLMB` has\nbeen successfully used to solve many different kinds of problems notably image\nrestoration in *inverse problems* framework.\n\nThe objective of this repository is to provide algorithms that:\n* run out of the box (no additional libraries needed);\n* are efficient (although maybe not as fast as if implemented in a low level\n  compiled language) and usable for serious applications;\n* are well documented;\n* have readable code;\n* can be easily modified.\n\n\n## Contents\n\nThe repository is organized as follows:\n\n- Directory [`matlab`](./matlab) contains a pure\n  [Matlab](https://www.mathworks.com)/[GNU\n  Octave](https://www.gnu.org/software/octave) version of `VMLMB` and of a\n  preconditioned linear conjugate gradient method.  See file\n  [`matlab/README.md`](./matlab/README.md) for installation and usage\n  instructions.\n\n- Directory [`python`](./python) contains a pure [`NumPy`](https://numpy.org/)\n  version of `VMLMB` and of a preconditioned linear conjugate gradient method.\n  See file [`python/README.md`](./python/README.md) for installation and usage\n  instructions.\n\n- Directory [`yorick`](./yorick) contains a pure\n  [Yorick](https://github.com/LLNL/yorick) version of `VMLMB` and of a\n  preconditioned linear conjugate gradient method.  See file\n  [`yorick/README.md`](./yorick/README.md) for installation and usage\n  instructions.\n\n\n## References\n\n- Hestenes, M. R. \u0026 Stiefel, E. \"*Methods of Conjugate Gradients for Solving\n  Linear Systems*,\" in Journal of Research of the National Bureau of Standards,\n  **49**, pp. 409-436 (1952).\n\n- É. Thiébaut, \"*Optimization issues in blind deconvolution algorithms*,\" in\n  Astronomical Data Analysis II, SPIE Proc. **4847**, 174-183 (2002).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femmt%2Fvmlmb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femmt%2Fvmlmb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femmt%2Fvmlmb/lists"}