数値計算 MATLAB,Python,Scilab,Julia比較 その22【行列演算⑤】 行列の転置について説明。 転置自体は、行列の行と列を入れ替えるだけの話。 具体的な利用シーンというのは特になく、計算都合で使うことがほとんど。 良く使う処理なので、名前が付いていた方が利便性が良いという考え方が妥当そう。 2022.08.18 数値計算
数値計算 MATLAB,Python,Scilab,Julia比較 その21【行列演算④】 行列の除算について。 行列は原則的に除算は存在しないが、「逆行列を掛ける」がそれに該当する。 さらに行列の積は結合法則はあれど、交換法則はない。 上記に伴い、左除算、右除算と言う概念が出てくる。 逆行列の位置が変わる。 数式上ではあまり出て来ないが、各ツール、言語がサポートしていることが多い。 2022.08.17 数値計算
数値計算 MATLAB,Python,Scilab,Julia比較 その20【行列演算③】 今回はアダマール積について。 演算子がいろいろあり、アダマール積かどうかは文脈で読み解くしかない。 しかし、特殊な状況でしか登場しないので、そういうものがあるという程度で留めておいてもよいかも。 画像処理の畳み込みで出てくることは多い。 2022.08.16 数値計算
数値計算 MATLAB,Python,Scilab,Julia比較 その19【行列演算②】 行列の乗算(内積)について説明。 上記はなぜそのような演算になるか不明(太郎くん談)。 これを理解するには線形代数の基礎部分を理解する必要がある。 線形代数すべてを説明するとなると大変だが、基礎部分を可能な限り簡単に説明予定。 2022.08.15 数値計算
数値計算 MATLAB,Python,Scilab,Julia比較 その18【行列演算①】 代表的な行列演算を列挙。 基本的な四則演算に加えて、アダマール積、べき乗、転置。 まずは加算、減算。 各要素単位で加算、減算すればOK。 当然、「次元を一致させる」必要がある。 2022.08.14 数値計算
数値計算 MATLAB,Python,Scilab,Julia比較 その17【基本的な使い方⑦】 Juliaでスライシングを実施。 基本的にはMATLABと似た感じ。 ただし、配列添え字用のカッコが違う。 あと、スライシングの結果、ベクトルとなった場合は列ベクトルになる。 行列としてスライシングした場合は、元の行と列の関係は維持される。 2022.08.12 数値計算
数値計算 MATLAB,Python,Scilab,Julia比較 その16【基本的な使い方⑥】 Python(Numpy)でスライシングを実施。 0オリジンのためMATLABと設定する数値が異なる。 加えて、区間演算子の終端は範囲に指定範囲には含まれない点に注意。 Scilabでスライシング。 MATLABと同一。 2022.08.11 数値計算
数値計算 MATLAB,Python,Scilab,Julia比較 その15【基本的な使い方⑤】 基本的な使い方の続きとしてスライシングについて。 特定の要素、特定範囲を抽出可能。 区間演算子start:step:endを元に範囲抽出するが、step=1なことがほとんどなので、stepを省略したstart:endの書き方になることが多い。 2022.08.10 数値計算
数値計算 MATLAB,Python,Scilab,Julia比較 その14【基本的な使い方④】 Juliaの基本的な使い方。 Juliaは列ベクトルがデフォルト。 MATLAB、Scilabは行ベクトルがデフォルトであるため、扱いに気を付ける必要がある。 列ベクトルがデフォルトになっている理由としては、数式との一致性を考慮した結果と推測される。 2022.08.09 数値計算
数値計算 MATLAB,Python,Scilab,Julia比較 その13【基本的な使い方③】 Juliaの基本的な使い方・・・の前にいろいろクセが違うのでそれの調査。 start:step:endの形式(区間演算子)で等差数列を表現できるが、この状態ではメモリ上に実態を持っていない。 よって、読み出しはできるが、書き込みはできない。 区間演算子に実態を持たせるにはVectorに渡すことで解決。 2022.08.08 数値計算