Pythonで学ぶ線形代数

当サイトではアフィリエイトプログラムを利用して商品を紹介しています。
 

【Pythonで学ぶ線形代数】講座の概要

科学技術計算に Python を活用する場合、解くべき問題は可能な限り行列(より一般的にはテンソル)で表現し、コンピュータに配列処理を実行させます。なぜなら、科学技術計算用パッケージ NumPy は、大規模な配列演算を高速処理するように設計されており、Python エンジニアはその処理速度を減速させないコードを書くことが求められるからです。
 
配列演算の基盤となる数学は 線形代数 (linear algebra) です。NumPy および、NumPy をベースに構築された SciPy は、linalg というモジュールに線形代数演算用の関数をまとめています。
 
Python で学ぶ線形代数 では、テーマごとに行列やベクトル演算のコードを実装しながら、線形代数の数理構造を解説します。このシリーズの記事を読み進めることによって、配列を用いたプログラミングと線形代数の知識を同時進行で習得できる構成になっています。当講座は「プログラミングを活用しながら線形代数に登場する式や定理の意味を読み解く」という方針で執筆しています。純粋数学としての線形代数を講義する内容ではないので、難解な証明などはざっくり端折っています (Web で長い証明を読みたいと思う人はあまりいないでしょう)。厳密な形式に拘りたい人は、基礎数学シリーズの『線型代数入門』で学ぶことをおすすめします(線形代数について網羅された古典的名著です)。

本講座に掲載するコードを実行するためには、Python 本体に加えて以下の4 つの拡張パッケージが必要となります。

 ・NumPy
 ・Scipy
 ・SymPy
 ・Matplotlib
 
足りないものがあったらインストールしておいてください (Anaconda にはすべて含まれています)。このうち NumPy については、必要最低限の知識 (基本演算、ブロードキャスト、numpy.sum()関数の使い方など) は身につけておいてください。SciPy や NumPy の関数を使うときには、その都度説明します。
 
線形代数は大学の初年度に履修する学問なので、高校数学までの基本的知識は必要となります。基本的知識とは、教科書をひと通り読んで簡単な練習問題を解けるというレベルです。忙しくて教科書を全部読み直す時間がないという人は、文字式の変形、因数分解、一次方程式、連立方程式、ベクトルの計算、三角関数あたりを重点的に復習しておいてください。