{"id":32355800,"url":"https://github.com/rs-coop/randnla.jl","last_synced_at":"2026-06-19T16:33:22.110Z","repository":{"id":210611141,"uuid":"659352274","full_name":"RS-Coop/RandNLA.jl","owner":"RS-Coop","description":"Julia algorithms for randomized numerical linear algebra.","archived":false,"fork":false,"pushed_at":"2024-01-02T19:04:39.000Z","size":15,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-05T03:47:36.052Z","etag":null,"topics":["julia","linear-algebra","randomized-algorithms"],"latest_commit_sha":null,"homepage":"","language":"Julia","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/RS-Coop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-06-27T16:39:26.000Z","updated_at":"2025-08-17T12:21:25.000Z","dependencies_parsed_at":"2025-04-13T15:18:23.109Z","dependency_job_id":"97bc3442-370f-4dd4-a2c6-f172d8f522cb","html_url":"https://github.com/RS-Coop/RandNLA.jl","commit_stats":null,"previous_names":["rs-coop/randnla.jl"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RS-Coop/RandNLA.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RS-Coop%2FRandNLA.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RS-Coop%2FRandNLA.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RS-Coop%2FRandNLA.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RS-Coop%2FRandNLA.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RS-Coop","download_url":"https://codeload.github.com/RS-Coop/RandNLA.jl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RS-Coop%2FRandNLA.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34539810,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["julia","linear-algebra","randomized-algorithms"],"created_at":"2025-10-24T11:24:39.481Z","updated_at":"2026-06-19T16:33:22.103Z","avatar_url":"https://github.com/RS-Coop.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RandNLA.jl: Randomized algorithms for numerical linear algebra\n\n### Author: [Cooper Simpson](https://rs-coop.github.io/)\n\nRandNLA.jl is a pure julia package for fundamental operations and state-of-the-art research. The core is lightweight, but a variety of extensions allow for easy plug-and-play use in other packages. This is still very much a work in progress, and a full roadmap is given in [Roadmap](#roadmap).\n\n## License \u0026 Citation\nAll source code is made available under an MIT license. You can freely use and modify the code, without warranty, so long as you provide attribution to the authors. See `LICENSE` for the full text.\n\nThis repository can be cited using the GitHub action in the sidebar, or using the metadata in `CITATION.cff`.\n\n## Features\n- AbstractFloat support?\n- GPU support?\n- Sparse support?\n- Complex support?\n\n## Installation\nThis package can be installed just like any other Julia package. From the terminal, after starting the Julia REPL, run the following:\n```julia\njulia\u003e ]\npkg\u003e add RandNLA\n```\n\n### Testing\nTo test the package, run the following command in the REPL:\n```julia\nusing Pkg\nPkg.test(test_args=[\u003cspecific tests\u003e])\n```\n\n## Usage\nLoad the package as usual:\n```julia\nusing RandNLA\n```\n\n## Design Principles\n\n1. Provide a consolidated suite of algorithms, both well established and state of the art\n2. Interface nicely with other Julia linear algebra packages such as [Krylov.jl](https://github.com/JuliaSmoothOptimizers/Krylov.jl)\n3. Leverage Julia to provide efficient implementations while staying adaptable and updateable\n\n### References\n\n#### Papers\n- [RandNLA Survery](https://arxiv.org/abs/2302.11474)\n\n#### Julia Packages\n- [RandomizedLinAlg.jl](https://github.com/JuliaLinearAlgebra/RandomizedLinAlg.jl)\n    - Last updated early 2021\n- [RandNLA.jl](https://github.com/matsumotosan/RandNLA.jl)\n    - Last updated mid 2022\n- [RandomLinearAlgebraSolvers.jl](https://github.com/tmigot/RandomLinearAlgebraSolvers.jl)\n    - Last updated late 2021\n- [Randomized Preconditioners.jl](https://github.com/tjdiamandis/RandomizedPreconditioners.jl)\n\n#### Python Packages\n- [PARLA](https://github.com/BallisticLA/parla)\n    - Continuously updated\n- [PyRLA: Randomized Linear Algebra in Python](https://github.com/wangshusen/PyRLA)\n    - Last updated 2017\n- [RandNLA](https://github.com/positiveblue/randNLA)\n    - Last updated 2017\n\n#### C++ Pacakges\n- [RandLAPACK](https://github.com/BallisticLA/RandLAPACK)\n    - Continuously updated\n- [RandBLAS](https://github.com/BallisticLA/RandBLAS)\n    - Continuously updated\n\n## Roadmap\n1. Basic Sketching\n    - Agnostic to RNG, i.e. use `AbstractRNG` type\n    - Left vs. right sketching\n    - Explicit vs implicit, i.e. is the sketching opeartor realized\n    - Dense sketching operators\n        - Rademacher\n        - Uniform\n        - Gaussian\n        - Haar\n        - Can allow for abitrary distribution as well\n        - Methods for constructing these distributions?\n    - Sparse sketching opeartors\n        - Short-axis\n        - Long-axis\n        - iid\n2. Property estimation\n    - Trace\n    - Norm\n3. Decompositions\n    - SVD\n    - Nystrom (positive definite and indefinite)\n    - ID\n    - CUR\n4. Advanced Sketching\n    - Leverage-score sampling\n5. Advanced algorithms\n    - Randomized finite differences","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frs-coop%2Frandnla.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frs-coop%2Frandnla.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frs-coop%2Frandnla.jl/lists"}