Numpyの使用

Numpyとは

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

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

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

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

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

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

配列のサイズと次元を調べる

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

注意

配列の成分へのアクセス

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

行と列の番号は0から数えることに注意してください。

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$ とベクトル $b$ に関する連立一次方程式 $Ax=b$ の解を計算してください。

$$ 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) $$

ヒント: