- 2019.12.04
エルミート行列
≪ [前の記事] 随伴行列 エルミート行列 共役転置して不変な正方行列、すなわち \[H=H^{\dagger}\tag{1}\] を満たす行列 $A$ を エルミート行列、または 自己随伴行列 とよびます。要素が全て実数であるときには、エルミート行列は対称行列です。複素数空間においてもエルミート行列の主対角成分は複素共役をとって不変であるために常に実数です。たとえば、 […]
Python 数値計算入門 Jupyter NoteBook を活用した Python3 プログラミング学習サイト
≪ [前の記事] 随伴行列 エルミート行列 共役転置して不変な正方行列、すなわち \[H=H^{\dagger}\tag{1}\] を満たす行列 $A$ を エルミート行列、または 自己随伴行列 とよびます。要素が全て実数であるときには、エルミート行列は対称行列です。複素数空間においてもエルミート行列の主対角成分は複素共役をとって不変であるために常に実数です。たとえば、 […]
≪ [前の記事] QR 分解 共役転置と随伴行列 今回からベクトルおよび行列の要素を複素数に拡張します。$n$ 次元複素数空間は complex number の頭文字をとって $\mathbb{C}^n$ と表されます。内積やノルム、転置行列などが、実空間 $\mathbb{R}^n$ における定義を包含するような形で再定義され、エルミート行列やユニタリ行列などの新しい種類の […]
≪ [前の記事] グラム・シュミットの直交化法 QR分解 $m\times n$ 行列 $A$ を $m\times m$ 直交行列 $Q$ と $m\times n$ 上三角行列 $R$ の積に分解することを QR分解 (QR decomposition) とよび、数値線型代数において重要な役割を担います。NumPy には QR分解を実行する numpy.linalg.qr( […]
≪ [前の記事] 完全正規直交系 グラム・シュミットの直交化法 前回記事では完全正規直交系の定義と性質について解説しました。 今回は $\mathbb{R}^n$ の任意の基底 $\{\boldsymbol{a}_1,\ \boldsymbol{a}_2,\ ...,\ \boldsymbol{a}_n\}$ から完全正規直交系 $\{\boldsymbol{q}_1,\ \ […]
フィボナッチ数列 $F_1=F_2=1,\ F_{n}=F_{n-2}+F_{n-1}$ で定義される数列を フィボナッチ数列 とよびます。規則にしたがって最初の $10$ 項を書き並べると以下のようになります。 \[1,\ 1,\ 2,\ 3,\ 5,\ 8,\ 13,\ 21,\ 34,\ 55\tag{1}\] フィボナッチ数列の一般項は \[F_n=\frac{\phi^n-( […]
≪ [前の記事] 正射影ベクトルと射影行列 完全正規直交系と直交行列 完全正規直交系 ベクトル空間を張るベクトルの集合を基底とよびました。基底であるための条件は「互いに線型独立である」、「空間を張るメンバーが不足していない」の 2 つでしたが、さらに「互いに直交する」、「メンバーが単位ベクトルである」という 2 つの条件を付け加えた基底を 完全正規直交系 (正規直交基底) とよ […]
≪ [前の記事] 直交補空間 正射影ベクトルと射影行列 今回の記事ではベクトルを互いに垂直な 2 つのベクトルに分解する手法を学びます。物理学を学んだことのある人にとっては、物体に作用する力の分解などでお馴染みの作業です。しかし、ベクトルの分解には、そうした便宜的手法以上の深い意味が隠されています。これから私たちは 本物の数学 を使って 空間を切り分ける のです。 直線への正射 […]
≪ [前の記事] 階数・退化次数の法則 直交補空間 直交部分空間 『ベクトルの内積』で、ベクトル $\boldsymbol{v}$ と $\boldsymbol{w}$ が直交することを内積を使って $\boldsymbol{v}\cdot\boldsymbol{w}=0$ のように表されることを学びました。今回は部分空間の直交を次のように定義します。 あるベクトル空間 $U […]
約分と既約分数 分数の分子と分母を公約数で割ることを 簡約 (約分) といいます。たとえば、 \[\frac{18}{12}\tag{1}\] について、分母と分子を公約数 $2$ で割ると \[\frac{18}{12}=\frac{9}{6}\tag{2}\] となり、これは約分の1つの形です。分子と分母を最大公約数で割ると、それ以上は約分できない形に変形されます。(1) の場合は最 […]
数式の簡略化 SymPy には数式を 簡略化 (simplification) するための色々な関数が用意されています。 sympy.simplify() sympy.simplify() は最も適切だと思われる簡略化関数を自動選択して適用します。 アバウトな指定方法なので、必ずしも思った通りの結果が得られるとは限りませんが、簡略化の傾向を知っておけば、それなりに使い勝手の良い関数です。最初 […]