基本的な使用法

準備

NLCPyは、 NEC Numeric Library collection (NLC) の機能を使用します。このパッケージをインポートする前に、事前に環境設定スクリプト nlcvars.sh または nlcvars.csh を実行する必要があります。

  • 使用シェルが sh 系の場合:

$ source /opt/nec/ve/bin/nlcvars.sh
  • 使用シェルが csh 系の場合:

% source /opt/nec/ve/bin/nlcvars.csh

NEC Numeric Library Collectionのバージョンを指定する場合

NEC Numeric Library Collectionのバージョンを指定する場合、実行前に、以下の方法でバージョンを指定してください。

VE30用

  • 使用シェルが sh 系の場合:

$ source /opt/nec/ve3/nlc/X.X.X/bin/nlcvars.sh
  • 使用シェルが csh 系の場合:

% source /opt/nec/ve3/nlc/X.X.X/bin/nlcvars.csh

VE20、VE10、およびVE10E用

  • 使用シェルが sh 系の場合:

$ source /opt/nec/ve/nlc/X.X.X/bin/nlcvars.sh
  • 使用シェルが csh 系の場合:

% source /opt/nec/ve/nlc/X.X.X/bin/nlcvars.csh

ここで、X.X.X は、NEC Numeric Library Collectionのバージョン番号を示します。

Pythonのバージョン

NLCPyは、Pythonのバージョン3.6, 3.7または3.8で使用できます。

注釈

  • NLCPyは、Pythonのバージョン3.5またはそれ以前をサポートしていません。

  • このマニュアルは、Pythonのバージョン3.6, 3.7または3.8のいずれかを使用するユーザを想定しています。

インポート

PythonスクリプトでNLCPyを使用する場合は、パッケージ nlcpy をインポートする必要があります。

  • 対話モードでNLCPyを使用してスクリプトを実行する場合:

    $ python
    >>> import nlcpy
    
  • 非対話モードでNLCPyを使用してスクリプトを実行する場合:

    import nlcpy
    

次のようなエラーが発生した場合は、NLCPyまたはNEC Numeric Library Collectionがインストールされていないか、上記の環境設定スクリプトが実行されていない可能性があります。 インストール もご覧ください。

import nlcpy
...
ModuleNotFoundError: No module named 'nlcpy.core.core'

または

import nlcpy
...
RuntimeError: veo_load_library 'b'/path_to_nlcpy/lib/nlcpy_ve_kernel_no_fast_math.so'' failed

Pythonスクリプトで nlcpy を正常にインポートすると、スクリプトはNLCPyの nlcpy.ndarrayリファレンス で説明されている関数を使用できます。

NLCPyスクリプトの簡単な例を以下に示します。

>>> import nlcpy as vp
>>> vp.add(1.0, 4.0)
array(5.)
>>> x1 = vp.arange(9.0).reshape((3, 3))
>>> x2 = vp.arange(3.0)
>>> vp.add(x1, x2)
array([[ 0.,  2.,  4.],
       [ 3.,  5.,  7.],
       [ 6.,  8., 10.]])

さらに、NLCPyの現行バージョンは、 nlcpy.ndarray クラスの次の演算子を提供します。

代入演算子

=

算術演算子

+, -, *, /, //, %, **

算術代入演算子

+=, -=, *=, /=, //=, %=, **=

行列乗算演算子

@

比較演算子

==, !=, >, >=, <, <=

ビット演算子

&, |, ^, ~

ビット単位の代入演算子

&=, |=, ^=

ビットシフト演算子

<<, >>

ビットシフト代入演算子

<<=, >>=

論理演算子

and, or, xor, not

注釈

行列演算の算術代入演算子 @= は、未実装です。