数値計算

数値計算

MATLAB,Python,Scilab,Julia比較 その22【行列演算⑤】

行列の転置について説明。 転置自体は、行列の行と列を入れ替えるだけの話。 具体的な利用シーンというのは特になく、計算都合で使うことがほとんど。 良く使う処理なので、名前が付いていた方が利便性が良いという考え方が妥当そう。
数値計算

MATLAB,Python,Scilab,Julia比較 その21【行列演算④】

行列の除算について。 行列は原則的に除算は存在しないが、「逆行列を掛ける」がそれに該当する。 さらに行列の積は結合法則はあれど、交換法則はない。 上記に伴い、左除算、右除算と言う概念が出てくる。 逆行列の位置が変わる。 数式上ではあまり出て来ないが、各ツール、言語がサポートしていることが多い。
数値計算

MATLAB,Python,Scilab,Julia比較 その20【行列演算③】

今回はアダマール積について。 演算子がいろいろあり、アダマール積かどうかは文脈で読み解くしかない。 しかし、特殊な状況でしか登場しないので、そういうものがあるという程度で留めておいてもよいかも。 画像処理の畳み込みで出てくることは多い。
数値計算

MATLAB,Python,Scilab,Julia比較 その19【行列演算②】

行列の乗算(内積)について説明。 上記はなぜそのような演算になるか不明(太郎くん談)。 これを理解するには線形代数の基礎部分を理解する必要がある。 線形代数すべてを説明するとなると大変だが、基礎部分を可能な限り簡単に説明予定。
数値計算

MATLAB,Python,Scilab,Julia比較 その18【行列演算①】

代表的な行列演算を列挙。 基本的な四則演算に加えて、アダマール積、べき乗、転置。 まずは加算、減算。 各要素単位で加算、減算すればOK。 当然、「次元を一致させる」必要がある。
数値計算

【入門】Juliaの基本的な使い方【数値計算】

かなりMATLABに酷似しているが、 細かい仕様面の違いがある。 添え字が丸カッコではなく、角かっこである点。 区間演算子(start:step:end)では参照のみ可能で更新は不可。 上記で更新可能にするにはVectorに渡して実態を持たせる必要がある。
数値計算

MATLAB,Python,Scilab,Julia比較 その17【基本的な使い方⑦】

Juliaでスライシングを実施。 基本的にはMATLABと似た感じ。 ただし、配列添え字用のカッコが違う。 あと、スライシングの結果、ベクトルとなった場合は列ベクトルになる。 行列としてスライシングした場合は、元の行と列の関係は維持される。
数値計算

MATLAB,Python,Scilab,Julia比較 その16【基本的な使い方⑥】

Python(Numpy)でスライシングを実施。 0オリジンのためMATLABと設定する数値が異なる。 加えて、区間演算子の終端は範囲に指定範囲には含まれない点に注意。 Scilabでスライシング。 MATLABと同一。
数値計算

MATLAB,Python,Scilab,Julia比較 その15【基本的な使い方⑤】

基本的な使い方の続きとしてスライシングについて。 特定の要素、特定範囲を抽出可能。 区間演算子start:step:endを元に範囲抽出するが、step=1なことがほとんどなので、stepを省略したstart:endの書き方になることが多い。
数値計算

MATLAB,Python,Scilab,Julia比較 その14【基本的な使い方④】

Juliaの基本的な使い方。 Juliaは列ベクトルがデフォルト。 MATLAB、Scilabは行ベクトルがデフォルトであるため、扱いに気を付ける必要がある。 列ベクトルがデフォルトになっている理由としては、数式との一致性を考慮した結果と推測される。