mir 0.16.0-beta2

Numerical library for Dlang


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

codecov.io Latest version License Gitter Circle CI

Mir

Generic Numerical Library for Science and Machine Learning.

Contents

  • mir.ndslice Multidimensional Random Access Ranges and Arrays
  • mir.sparse Sparse Tensors
  • Sparse - DOK format
  • Different ranges for COO format
  • CompressedTensor - CSR/CSC formats
  • mir.sparse.blas - Sparse BLAS for CompressedTensor
  • mir.model.lda.hoffman - Online variational Bayes for latent Dirichlet allocation (Online VB LDA) for sparse documents. LDA is used for topic modeling.
  • mir.combinatorics Combinations, combinations with repeats, cartesian power, permutations.
  • mir.las.sum Functions and Output Ranges for Summation Algorithms. Works with user-defined types.
  • Precise algorithm: improved analog of Python's fsum
  • Pairwise algorithm: fast version for Input Ranges
  • Kahan, KBN, and KB2 algorithms

In progress

  • mir.random - non-uniform RNGs.
  • mir.glas - Generic Linear Algebra Subroutines.

Documentation

Alpha version of API is available here.

Compatibility

LinuxMac OS XWindows
DMD 64Build StatusBuild StatusBuild status
DMD 32Build StatusOS X >= 10.7 is x86-64 onlyBuild status
LDC 64Build StatusBuild StatusBuild status by ignoring issue #120
LDC 32Build StatusOS X >= 10.7 is x86-64 onlyBuild status by ignoring issue #120
  • DMD (reference D compiler) >= 2.070
  • LDC (LLVM D Compiler) >= 1.0.0.

Installation

Fast setup with the dub package manager

Dub version Dub downloads

Dub is the D's package manager. You can create a new project with:

dub init --format=json <project-name>

Now you need to edit the dub.json add mir as dependency and set its targetType to executable.

{
	...
	"dependencies": {
		"mir": "~><current-version>"
	},
	"targetType": "executable"
}

Now you can create a main file in the source and run your code with:

dub

You can use a different compile with dub --compiler ldc. For a performance boost, add -b release to let the compiler perform additional optimizations, inlining, removal of bound checking and assert statements.

Arch Linux
TypeNameVersion
Stablelibmirlibmir libmir
Latestlibmir-gitlibmir-git

Contributing

See our TODO List. Mir is very young and we are open for contributing to source code, documentation, examples and benchmarks.

Notes

Authors:
  • Ilya Yaroshenko
Dependencies:
cpuid
Versions:
3.2.3 2022-Jun-05
3.2.2 2020-Nov-15
3.2.1 2020-Mar-30
3.2.0 2019-Apr-13
3.1.2 2019-Mar-23
Show all 81 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 8 downloads this month

  • 15141 downloads total

Score:
2.6
Short URL:
mir.dub.pm