{"id":13806301,"url":"https://github.com/libmir/mir","last_synced_at":"2025-07-24T22:32:13.595Z","repository":{"id":33725795,"uuid":"37379986","full_name":"libmir/mir","owner":"libmir","description":"Mir (backports): Sparse tensors, Hoffman","archived":false,"fork":false,"pushed_at":"2022-06-05T10:20:02.000Z","size":2082,"stargazers_count":211,"open_issues_count":0,"forks_count":20,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-07-24T06:31:54.886Z","etag":null,"topics":["blas","glas","llvm","math","mir","mir-glas","numeric"],"latest_commit_sha":null,"homepage":"http://mir.libmir.org","language":"D","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/libmir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-13T16:59:39.000Z","updated_at":"2025-05-27T09:48:29.000Z","dependencies_parsed_at":"2022-07-17T22:00:41.999Z","dependency_job_id":null,"html_url":"https://github.com/libmir/mir","commit_stats":null,"previous_names":[],"tags_count":81,"template":false,"template_full_name":null,"purl":"pkg:github/libmir/mir","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libmir%2Fmir","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libmir%2Fmir/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libmir%2Fmir/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libmir%2Fmir/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libmir","download_url":"https://codeload.github.com/libmir/mir/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libmir%2Fmir/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266913680,"owners_count":24005579,"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","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"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":["blas","glas","llvm","math","mir","mir-glas","numeric"],"created_at":"2024-08-04T01:01:09.984Z","updated_at":"2025-07-24T22:32:13.065Z","avatar_url":"https://github.com/libmir.png","language":"D","funding_links":[],"categories":["Scientific"],"sub_categories":["XML"],"readme":"\n#### ❗️ ndslice was reworked and moved to [Mir-Algorithm](https://github.com/libmir/mir-algorithm).\nThe last Mir version with old ndslice is `v0.22.1`.\n#### ❗️ Mir GLAS was moved to https://github.com/libmir/mir-glas.\n\n[![Dub downloads](https://img.shields.io/dub/dt/mir.svg)](http://code.dlang.org/packages/mir)\n[![License](https://img.shields.io/dub/l/mir.svg)](http://code.dlang.org/packages/mir)\n[![Bountysource](https://www.bountysource.com/badge/team?team_id=145399\u0026style=bounties_received)](https://www.bountysource.com/teams/libmir)\n[![Latest version](https://img.shields.io/dub/v/mir.svg)](http://code.dlang.org/packages/mir)\n[![codecov.io](https://codecov.io/github/libmir/mir/coverage.svg?branch=master)](https://codecov.io/github/libmir/mir?branch=master)\n[![Circle CI](https://circleci.com/gh/libmir/mir.svg?style=svg)](https://circleci.com/gh/libmir/mir)\n\nMir\n======\nGeneric Numerical Library for Science and Machine Learning.\n\n##### Separated Mir Projects\n- [Mir Algorithm](https://github.com/libmir/mir-algorithm) - Multidimensional arrays (ndslice), iterators, algorithms.\n- [Mir Random](https://github.com/libmir/mir-random) - Professional Random Number Generators\n- [Mir GLAS](https://github.com/libmir/mir-glas) - Linear Algebra Library (Experimental, not supported for now)\n- [Mir BLAS](https://github.com/libmir/mir-blas) - Bindings to libraries with CBLAS API like OpenBLAS and Intel MKL.\n- [Mir LAPACK](https://github.com/libmir/mir-lapack) - Bindings to libraries with LAPACK API like OpenBLAS and Intel MKL.\n- [Mir \nOptim](https://github.com/libmir/mir-optim) - Nonlinear Solvers.\n- [Mir CPUID](https://github.com/libmir/mir-cpuid) - CPU Identification routines (less buggy then Phobos).\n\nDocumentation\n-------------\n\nDocumentation API can be found [here](http://mir.libmir.org).\n\nContents\n--------\n\n- `mir.glas` - Generic Linear Algebra Subroutines\n- `mir.sparse` Sparse Tensors\n - `Sparse` - DOK format\n - Different ranges for COO format\n - `CompressedTensor` - CSR/CSC formats\n- `mir.sparse.blas` - Sparse BLAS for `CompressedTensor`\n- `mir.model.lda.hoffman` - Online variational Bayes for latent Dirichlet allocation (Online VB LDA) for sparse documents. LDA is used for topic modeling.\n- `mir.combinatorics` Combinations, combinations with repeats, cartesian power, permutations.\n\nCompatibility\n-------------\n|           | Linux | Mac OS X | Windows |\n|-----------|-------|----------|---------|\n| 64-bit | [![Build Status](https://travis-ci.org/libmir/mir.svg?branch=master)](https://travis-ci.org/libmir/mir) | [![Build Status](https://travis-ci.org/libmir/mir.svg?branch=master)](https://travis-ci.org/libmir/mir) | [![Build status](https://ci.appveyor.com/api/projects/status/f2n4dih5s4c32q7u/branch/master?svg=true)](https://ci.appveyor.com/project/9il/mir/branch/master) |\n| 32-bit | [![Build Status](https://travis-ci.org/libmir/mir.svg?branch=master)](https://travis-ci.org/libmir/mir) | N/A | N/A |\n\nExample\n--------\n\n```d\n/+dub.sdl:\ndependency \"mir\" version=\"~\u003e3.1.0\"\n+/\nimport std.stdio;\nimport mir.combinatorics;\nvoid main(string[] args)\n{\n    writeln([1, 2].combinations);\n}\n```\n\nFast setup with the dub package manager\n------------\n\n[![Latest version](https://img.shields.io/dub/v/mir.svg)](http://code.dlang.org/packages/mir)\n\n[Dub](https://code.dlang.org/getting_started) is the D's package manager.\nYou can create a new project with:\n\n```\ndub init \u003cproject-name\u003e\n```\n\nNow you need to edit the `dub.json` add `mir` as dependency.\n\n```json\n{\n\t...\n\t\"dependencies\": {\n\t\t\"mir\": \"~\u003e\u003ccurrent-version\u003e\"\n\t},\n\t\"dflags-ldc\": [\"-mcpu=native\"]\n}\n```\n\nNow you can create an `app.d` file in the `source` folder and run your code with \n```\ndub --compiler=ldmd2\n```\nFlag `--build=release` and can be added for a performance boost:\n```\ndub --compiler=ldmd2 --build=release\n```\n\n`ldmd2` is a shell on top of [LDC (LLVM D Compiler)](https://github.com/ldc-developers/ldc).\n\n`\"dflags-ldc\": [\"-mcpu=native\"]` allows LDC to optimize Mir for your CPU.\n\nContributing\n------------\n\nSee our [TODO List](https://github.com/libmir/mir/issues?q=is%3Aissue+is%3Aopen+label%3A%22New+Package%22).\nMir is very young and we are open for contributing to source code, documentation, examples and benchmarks.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibmir%2Fmir","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibmir%2Fmir","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibmir%2Fmir/lists"}