Numpyの使用

numpyとは

数値計算のためのPythonのライブラリです。特に、多次元配列の生成や、配列の一括計算、行列とベクトルの演算ができます。

1 Numpyのインポートと配列の生成

以下のコードはnumpyをインポートをして、エイリアス(別名)npとします。

numpyによる1次元配列を作成します。

numpyによる2次元配列を作成します。[]の使用に注意してください。

Numpyは幾つか便利な配列の作成関数を提供しています。

配列のサイズを調べる

Numpyの配列はshape,ndimという属性を持っています。これを使って、サイズや次元を調べることができます。

注意

配列の成分へのアクセス

配列の成分をアクセウするために、以下の方法が使用されています。

2. Numpyの配列の一括計算

Numpyは多くの数学の関数を提供しています。mathライブラリとは異なって、配列の各成分に関して一括計算ができます。

以下の例では、[0,2*pi]の分割に関して、sin関数の値を計算します。計算した数列を利用して, sin関数のグラフの描画ができます。

比較

Numpyで作成した配列の四則演算やべき乗も一括計算ができます。

演習1:

Numpyを利用して、以下の関数のグラフを描いてください。 $$ f(x)=sin(x^3)cos(x)+1, \quad x \in [1,2] $$

3. Numpyの便利な関数

Numpyでは、abs,min,maxなどの数学関数が提供されています。以下のコードで使用している関数を確認してください。

Numpyのすべての関数

4. 行列の積

Numpyでは、2次元配列は行列に対応して、行列自身に関する演算や、行列とベクトルの積などの演算ができます。

演習2(option)

$[0,1]$の100分割に利用して、以下の関数の積分の近似値を求めてください。ただし、forループを使用しなく、Numpyの関数sin,sumなどを使用してください。

$$ \int_{0}^1 \sin(x^3) dx $$

演習3(option)

以下の行列Aに関わる連立一次方程式$Ax=b$の解を計算しなさい。

ヒント:

$$ Ax=b, \quad A = \left( \begin{array}{ccc} 2 & 1 & 0 \\ 1 & 2 & 1 \\ 0 & 1 & 2 \\ \end{array} \right) ,\quad b = \left( \begin{array}{c} 1\\ 2\\ 3\\ \end{array} \right) $$