2026-01-03

Programming

アルゴリズムの計算量を表す「ビッグオー記法」とは?

こんにちは、JS2IIUです。今回は、プログラミングやアルゴリズムの世界で頻繁に登場する「ビッグオー記法(Big-O notation)」について解説します。今回もよろしくお願いします。ビッグオー記法とは?ビッグオー記法は、アルゴリズムの実行時間やメモリ使用量が入力サイズ \(n\) に対してどのよ...
Python

Pythonで学ぶ数値計算のアルゴリズムと実装 第13回:空間の熱と振動を解く:偏微分方程式の差分近似と反復解法

こんにちは、JS2IIUです。全13回にわたる「Pythonで学ぶ数値計算のアルゴリズムと実装」の連載も、ついに最終回を迎えました。第1回で多項式計算の基礎から始まり、積分、線形代数、非線形方程式、そして前回の常微分方程式(ODE)へと進んできた私たちの旅は、最も応用範囲が広く、かつ計算負荷の高い「...
Python

Pythonで学ぶ数値計算のアルゴリズムと実装 第12回:現象の変化を追う:ルンゲ・クッタ法による常微分方程式の解法

こんにちは、JS2IIUです。数値計算連載の第12回となる今回は、シミュレーション技術の核心であり、現代のAI技術、特に「Neural ODE(神経常微分方程式)」などの基盤ともなっている「常微分方程式(Ordinary Differential Equations, ODE)」の数値解法を扱います...
Python

Pythonで学ぶ数値計算のアルゴリズムと実装 第11回:行列の本質を捉える:固有値問題の数値解法

こんにちは、JS2IIUです。数値計算連載の第11回目となる今回は、線形代数の華とも言える「固有値問題(Eigenvalue Problem)」の数値解法に焦点を当てます。機械学習を学ぶ中で「主成分分析(PCA)」や「スペクトラルクラスタリング」、あるいは「GoogleのPageRankアルゴリズム...
Python

Pythonで学ぶ数値計算のアルゴリズムと実装 第10回:非線形方程式の探索:2分法からニュートン法まで

こんにちは、JS2IIUです。数値計算連載の第10回目となる今回は、これまでの「線形(まっすぐ)」な世界から一歩踏み出し、より複雑な「非線形(曲がった)」な方程式を解くアルゴリズムを探求します。これまでの回では \(Ax = b\) のような連立一次方程式を扱ってきましたが、現実の科学やエンジニアリ...