{"id":13696293,"url":"https://github.com/lucasmaystre/svdlibc","last_synced_at":"2025-10-21T20:52:51.139Z","repository":{"id":2850996,"uuid":"3855141","full_name":"lucasmaystre/svdlibc","owner":"lucasmaystre","description":"A fork of Doug Rohde's SVD C Library.","archived":false,"fork":false,"pushed_at":"2015-09-01T13:47:20.000Z","size":164,"stargazers_count":49,"open_issues_count":3,"forks_count":19,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-26T00:37:23.033Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://tedlab.mit.edu/~dr/SVDLIBC/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lucasmaystre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-03-28T13:16:28.000Z","updated_at":"2025-02-14T02:46:11.000Z","dependencies_parsed_at":"2022-09-11T19:01:31.456Z","dependency_job_id":null,"html_url":"https://github.com/lucasmaystre/svdlibc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasmaystre%2Fsvdlibc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasmaystre%2Fsvdlibc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasmaystre%2Fsvdlibc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasmaystre%2Fsvdlibc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucasmaystre","download_url":"https://codeload.github.com/lucasmaystre/svdlibc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252216142,"owners_count":21713104,"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-08-02T18:00:38.175Z","updated_at":"2025-10-21T20:52:46.096Z","avatar_url":"https://github.com/lucasmaystre.png","language":"C","readme":"Doug Rohde's SVD C library\n==========================\n\n**Good news: as of version 1.4, SVDLIBC is [explicitly available under a BSD\nlicense][5].**\n\n[SVDLIBC][1] is a fast implementation of SVD matrix decomposition by Doug Rohde.\nIt works particularly efficiently in the following cases:\n\n- the matrix is sparse,\n- only a few singular values are needed.\n\nThese properties make it particularly well suited for [latent semantic\nanalysis][2], for example.\n\nI ran an experiment on an Amazon EC2 [m2.xlarge][3] instance - which might be\nway overkill - with a 70k × 500k matrix containing 8M entries (density: 0.02%).\nHere is the running time for different values of `d` (= dimensions = number of\nsingular values):\n\n- `-d 50`: 39s wall time\n- `-d 300`: 4m53s wall time\n- `-d 1000`: 31m48s wall time\n\nWhy this fork ?\n---------------\n\nThe latest official release of the library (version 1.34) dates back from 2005.\nIt has a few quirks, such as:\n\n- `make` / `make install` don't work \"as expected\"\n- it doesn't compile on Mac OS X out of the box\n- some bugs have been found, e.g. by [piskvorky][4]\n\nA caveat\n--------\n\nI'm not a release engineer, and have only limited knowledge of the different\nlanguages (C, Makefile) and tools (`make`, `gcc`) involved. The modifications in\nthis fork are working for me, but nothing guarantees they'll work for you.\n\nIf you find a bug and fix it yourself, I'd be happy to get a pull your changes\nover.\n\nInstallation instructions\n-------------------------\n\nEasy as pie:\n\n    # Download the code. Alternatively you can also download the zip file.\n    git clone git://github.com/lucasmaystre/svdlibc.git\n    cd svdlibc\n\n    # Just like any other sane program...\n    make\n    make install\n\n    # You're done. Start using it!\n    svd -o result -d 10 THE_MATRIX\n\n[1]: http://tedlab.mit.edu/~dr/SVDLIBC/\n[2]: http://en.wikipedia.org/wiki/Latent_semantic_analysis\n[3]: http://aws.amazon.com/ec2/instance-types/\n[4]: https://github.com/piskvorky/sparsesvd/commit/4ad18096334636e0eae180964284c6dd7b7749c3\n[5]: http://tedlab.mit.edu/~dr/SVDLIBC/license.html\n","funding_links":[],"categories":["Models"],"sub_categories":["Truncated Singular Value Decomposition (SVD) / Latent Semantic Analysis (LSA) / Latent Semantic Indexing (LSI)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasmaystre%2Fsvdlibc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucasmaystre%2Fsvdlibc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasmaystre%2Fsvdlibc/lists"}