Numo::NArray Alternative
Numo::NArray Alternative is an experimental project forked from Numo::NArray. Its goal is to adopt more modern Ruby features and development practices. The project owner is also the developer of Rumale, a machine learning library, and may add new features to this project to support the needs of Rumale. In addition, since Rumale depends on Numo::NArray, namespaces, class names, and method names will be kept unchanged to allow this library to be used as a drop-in replacement.
The project owner has the utmost respect for Numo::NArray and its creator, Prof. Masahiro Tanaka. This project is in no way intended to adversely affect the development of the original Numo::NArray.
Installation
$ gem install numo-narray-altUsage
The same as Numo::NArray.
irb(main):001> require 'numo/narray'
=> true
irb(main):002> x = Numo::DFloat[[1, 2, 3], [4, 5, 6]]
=>
Numo::DFloat#shape=[2,3]
...
irb(main):003> x.dot(x.transpose)
=>
Numo::DFloat#shape=[2,2]
[[14, 32],
[32, 77]]
irb(main):004>
Related Projects
Numo::NArray Alternative is used in the following projects:
- numo-linalg-alt: Linear algebra library with BLAS/LAPACK.
- numo-optimize: Optimization library for minimizing objective functions.
- numo-random: Random number generation library with several distributions.
- numo-pocketfft: Fourier transform library with pocketfft.
- numo-libsvm: LIBSVM bindings library for numo-narray-alt.
- numo-liblinear: LIBLINEAR bindings library for numo-narray-alt.
- numo-linalg-randsvd: Randomized SVD library for numo-linalg-alt.
- rumale: Machine learning library.
Development
preparation:
$ git clone https://github.com/yoshoku/numo-narray-alt
$ cd numo-narray-alt
$ bundle installbuild and test:
$ bundle exec rake compile
$ bundle exec rake test
linter:
$ bundle exec rubocop
$ clang-format --dry-run --Werror --style=file ext/**/*.h ext/**/*.cThis project follows Conventional Commits.
Please run npm install to set up husky and commitlint for commit message validation:
$ npm installContributing
Bug reports and pull requests are welcome on GitHub at https://github.com/yoshoku/numo-narray-alt. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
License
This project was originally forked from Numo::NArray. It continues to be licensed under the BSD-3-Clause License.