Scirust - Scientific Computing Library in Rust

  •        1495

SciRust is a Scientific computing library written in Rust programming language. The objective is to design a generic library which can be used as a backbone for scientific computing. Its current areas of focus includes Matrices, Linear algebra, Statistics, and Signal processing.

https://github.com/indigits/scirust

Tags
Implementation
License
Platform

   




Related Projects

owl - Owl is an OCaml library for scientific and engineering computing.

  •    OCaml

Owl is an emerging numerical library for scientific computing and engineering. The library is developed in the OCaml language and inherits all its powerful features such as static type checking, powerful module system, and superior runtime efficiency. Owl allows you to write succinct type-safe numerical applications in functional language without sacrificing performance, significantly reduces the cost from prototype to production use. Owl's documentation contains a lot of learning materials to help you start. The full documentation consists of two parts: Tutorial Book and API Reference. Both are perfectly synchronised with the code in the repository by the automatic building system. You can access both parts with the following link.

Arraymancer - A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU, OpenCL and embedded devices

  •    Nim

Arraymancer is a tensor (N-dimensional array) project in Nim. The main focus is providing a fast and ergonomic CPU, Cuda and OpenCL ndarray library on which to build a scientific computing and in particular a deep learning ecosystem. The library is inspired by Numpy and PyTorch. The library provides ergonomics very similar to Numpy, Julia and Matlab but is fully parallel and significantly faster than those libraries. It is also faster than C-based Torch.

numjs - Like NumPy, in JavaScript

  •    Javascript

Besides its obvious scientific uses, NumJs can also be used as an efficient multi-dimensional container of generic data. NumJs is licensed under the MIT license, enabling reuse with almost no restrictions.


Meta Numerics

  •    

The Meta.Numerics math and statistics library supports scientific computing on the .NET platform. It offers an object-oriented API for matrix algebra, advanced functions of real and complex numbers, signal processing, and data analysis.

neanderthal - Fast Clojure Matrix Library

  •    Clojure

Neanderthal is a Clojure library for fast matrix and linear algebra computations based on the highly optimized native libraries of BLAS and LAPACK computation routines for both CPU and GPU.. Read the documentation at Neanderthal Web Site.

ND4j - Scientific Computing for the JVM (NDArrays)

  •    Java

ND4J is an open-sourced scientific computing library for the JVM. Its features include Versatile n-dimensional array object, Multiplatform functionality including GPUs Linear algebra and signal processing functions and lot more.

Colt - Scientific and Technical Computing in Java

  •    Java

Colt distribution consists of several free Java libraries bundled under one single uniform umbrella. Namely the Colt library, the Jet library, the CoreJava library, and the Concurrent library. It provides support for resizable arrays, dense, sparse matrices, histogramming functionality, Random Number Generators etc.

Object-oriented Scientific Computing Lib

  •    C++

An object-oriented library for scientific computing in C++.

vectorious - High performance linear algebra.

  •    Javascript

A high performance linear algebra library, written in JavaScript and optimized with C++ bindings to BLAS. The documentation is located in the wiki section of this repository.

SciPy - software for Mathematics, Science, and Engineering

  •    Python

SciPy (pronounced "Sigh Pie") is open-source software for mathematics, science, and engineering. The SciPy library is built to work with NumPy arrays, and provides many user-friendly and efficient numerical routines such as routines for numerical integration and optimization.

Spyder

  •    Python

Spyder is a Python development environment with advanced editing, interactive testing, debugging and introspection features. It is especially recommended for scientific computing thanks to NumPy (linear algebra), SciPy (signal and image processing), matplotlib (interactive 2D/3D plotting) and MayaVi’s mlab (interactive 3D visualization) support.

Eigen - C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms

  •    C++

Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms. It supports all matrix sizes, from small fixed-size matrices to arbitrarily large dense matrices, and even sparse matrices. It supports all standard numeric types, including std::complex, integers, and is easily extensible to custom numeric types. It also supports various matrix decompositions and geometry features.

blis - BLAS-like Library Instantiation Software Framework

  •    C

BLIS is a portable software framework for instantiating high-performance BLAS-like dense linear algebra libraries. The framework was designed to isolate essential kernels of computation that, when optimized, immediately enable optimized implementations of most of its commonly used and computationally intensive operations. BLIS is written in ISO C99 and available under a new/modified/3-clause BSD license. While BLIS exports a new BLAS-like API, it also includes a BLAS compatibility layer which gives application developers access to BLIS implementations via traditional BLAS routine calls. An object-based API unique to BLIS is also available. For a thorough presentation of our framework, please read our journal article, "BLIS: A Framework for Rapidly Instantiating BLAS Functionality". For those who just want an executive summary, please see the next section.

NumPy - fundamental package for scientific computing with Python

  •    Python

NumPy is the fundamental package needed for scientific computing with Python. Numerical Python adds a fast and sophisticated N-dimensional array facility to the Python language. NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.

GSL - GNU Scientific Library

  •    C

The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive test suite.

ndarray - 📈 Multidimensional arrays for JavaScript

  •    Javascript

Modular multidimensional arrays for JavaScript.ndarrays can be transposed, flipped, sheared and sliced in constant time per operation. They are useful for representing images, audio, volume graphics, matrices, strings and much more. They work both in node.js and with browserify.

JLinAlg

  •    Java

JLinAlg is a Java Library for Linear Algebra without rounding errors ( e.g. operations on matrices, algorithms for solving Linear Equation Systems, inverting matrices, computing the determinant or the eigenvalues of a matrix).

gonum - Gonum is a set of numeric libraries for the Go programming language

  •    Go

The core packages of the gonum suite are written in pure Go with some assembly. Installation is done using go get.The gonum packages use a variety of build tags to set non-standard build conditions. Building gonum applications will work without knowing how to use these tags, but they can be used during testing and to control the use of assembly and CGO code.