LoginSignup
7
4

More than 3 years have passed since last update.

NimのMatrixライブラリ、Neoを入れる

Last updated at Posted at 2019-03-13

インストール

Nimで行列演算とかできるNeoをインストールする手順です。

普通にnimble install neoでインストール出来るかと思いきゃ、依存パッケージのnimblas@0.2.2がnimのバージョンを0.19.9以上に指定しており、入るはずがありません(現在のNimのバージョンは0.19.4)。
一つ前のバージョンのnimblasを入れてあげれば解決します。

最新のneo 0.2.5ではnimble install neoだけでインストールできました。もし問題があるようなら以下の手順を試してみてください。

# nimblas 0.2.1をインストール
nimble install nimblas@0.2.1
# neoをインストール
nimble install neo

これでneo自体のインストールは完了です。

しかし多くの環境では、依存ライブラリのblas等が入っていないので、こちらの記事を参考にインストールしてください。

テスト

試しに、ランダムなMatrix(行列)a, bを作り、転置行列を求めたり掛け算をしてみましょう。

test.nim
import neo

let a = neo.randomMatrix(2, 3)
echo "a:"
echo a
# a.Tで転置行列を求める
echo "a.T: "
echo a.T

# 行列の掛け算(Numpyのdotに相当)
let b = neo.randomMatrix(a.N, a.M)
echo "b:"
echo b
echo "a * b:"
echo a * b

結果が以下のようになっていれば成功です🎉
(a, bの値はランダムです)

a:
[ [ 0.2326961497609559  0.3333379470197706  0.4437264946689483 ]
  [ 0.8228467011541094  0.9894961846897405  0.07581602342631522 ] ]
a.T:
[ [ 0.2326961497609559  0.8228467011541094 ]
  [ 0.3333379470197706  0.9894961846897405 ]
  [ 0.4437264946689483  0.07581602342631522 ] ]
b:
[ [ 0.5936563635008223  0.8244128746481869 ]
  [ 0.195534693152861   0.6844019291752474 ]
  [ 0.5258890850057507  0.4899364645980169 ] ]
a * b:
[ [ 0.4366716035287096  0.6373726257982174 ]
  [ 0.721839832363471   1.392723546483812 ] ]
7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4