2026-01-02

Python

Pythonで学ぶ数値計算のアルゴリズムと実装 第9回:最小二乗法とQR分解:ハウスホルダー変換による安定化

こんにちは、JS2IIUです。数値計算連載の第9回となる今回は、機械学習や統計学のバックボーンとも言える「最小二乗法」を取り上げます。私たちはこれまで、連立一次方程式 \(Ax = b\) を解く方法を学んできました。しかし、現実のデータ分析では、未知数の数よりも観測データの数の方が圧倒的に多い、い...
Python

Pythonで学ぶ数値計算のアルゴリズムと実装 第8回:スパース性を活かす:帯行列の高速計算アルゴリズム

こんにちは、JS2IIUです。数値計算の連載も後半戦に入りました。前回までの記事では、密行列(要素のほとんどが0ではない行列)を対象としたLU分解やコレスキー分解を扱ってきました。これらは非常に汎用性が高い手法ですが、計算量が \(O(n^3)\) であり、行列のサイズ \(n\) が大きくなると計...
Python

Pythonで学ぶ数値計算のアルゴリズムと実装 第7回:行列分解の活用:LU分解とコレスキー分解

こんにちは、JS2IIUです。前回の第6回では、連立一次方程式を解くための最も基本的な手法である「ガウス消去法」を学びました。ガウス消去法は非常に強力ですが、一つの大きな弱点があります。それは、係数行列 \(A\) は同じままで、右辺のベクトル \(b\) だけが次々と変わるような状況において、毎回...