代数

C/C++/C#

C++でフロベニウスノルムを計算する

フロベニウスノルムは\begin{align}\| A \|_{F}=\sqrt{\sum_{i=1}^{m} \sum_{j=1}^{n} \left |a_{ij} \right |}\end{align}で計算できる。一次元配列に行列...
C/C++/C#

Eigenで内積と外積を計算する

ベクトルを定義するときは#include "../Eigen/Dense"をインクルードしてEigen::Vector3d x(1, 2, 3);とすればベクトルが定義できるので、内積と外積をx.dot(y)x.cross(y)で計算する。...
C/C++/C#

Eigenで行列の和・差・積を試す

Eigenで行列の和・差・積を試す。「+」、「-」、「*」が使えるので直観的。ソースコード#include <iostream>#include "../Eigen/core"int main() { int n = 2; Eigen::M...
C/C++/C#

Eigenをインストールして使ってみた

Eigen(は行列用の科学技術ライブラリで、ヘッダーだけ読み込めば動く。ダウンロードしたファイルを展開するとEigenというファイルがあるのでそれを適当な場所に置き#include "../Eigen/core"としてcoreにパスを通せば...
python

Pythonでガンマ関数のグラフを作る

Pythonでガンマ関数のグラフを描く。mathライブラリを使って描画した。実行結果ソースコードimport numpy as npimport mathimport matplotlib.pyplot as pltN = 10000x =...
代数

和の二乗と差の二乗の和と差

和の二乗と差の二乗の和と差を求める。\begin{align}(x+a)^2-(x-a)^2&=x^2+2ax+a^2-x^2+2ax-a^2\\&=4ax\end{align}\begin{align}(x+a)^2+(x-a)^2&=x...
MATLAB/simulink

MATLABでLpノルムを計算する

\(L_p\)ノルムは次のように定義される。\begin{align}|| {\bf x} ||_p = \left ( |x_1|^p + |x_2|^p + \cdots + |x_n|^p \right )^{-p}\end{alig...
python

Pythonでヒルベルト行列を作る

Pythonでヒルベルト行列を作る。ヒルベルト行列は各要素が\begin{align}H_{ij}=\frac{1}{i+j+1}\end{align}の正方行列である。N = 5H = * N] * Nfor i in range(1, ...
MATLAB/simulink

MATLABでヒルベルト行列を作る

MATLABでヒルベルト行列を作る。ヒルベルト行列は各要素が\begin{align}H_{ij}=\frac{1}{i+j+1}\end{align}の正方行列である。clcclearN=5;H=zeros(N);for i=1:1:N ...
代数

ベクトルの内積と垂直

\(0\)ではない任意のベクトル\(A,B\)について\begin{align}A \cdot B = 0 \end{align}が成り立つとき、\(A,B\)は直行し、\(A \perp B\)と表す。
代数

【代数】クロネッカー積の定義と計算例

行列\(A = (a_{ij}) \)および行列\(B\)のクロネッカー積は\begin{align}A \otimes B=\begin{pmatrix}a_{11} B & \cdots & a_{1n} B\\a_{21} B & \...
代数

【代数】単位行列の定義

次のような行列を単位行列といい、\(E\)または\(I\)で表す。\begin{align}E=\begin{pmatrix}1 & 0 & 0 & \cdots & 0\\0 & 1 & 0 & \cdots & 0\\\vdots & ...
代数

【代数】二項定理とは

次のような展開\begin{align}(x+y)^{1}&=x+y\\(x+y)^{2}&=x^2+2xy+y^2\\(x+y)^{3}&=x^3+3x^2y+3xy^2+y^3\end{align}を考えると、一般には次のような規則があ...
代数

【代数】二次方程式の解と係数の関係性

二次方程式\begin{align}ax^2+bx+c=0\end{align}の解は\begin{align}x=\frac{-b \pm \sqrt{b^2-4ac}}{2a}\end{align}となる。2つの解をそれぞれ\(\alp...
代数

【代数】二重根号の外し方

次のような\begin{align}\sqrt{a \pm b\sqrt{c}}\end{align}根号の中に根号があるような式を二重根号という。二重根号は\(A>B\)のとき\begin{align}\sqrt{a+b\sqrt{c}}...
代数

【代数】随伴行列の定義

行列\(A\)を転置し複素共役を取ったもの\begin{align}A^*={}^{t} \overline{A}\end{align}を\(A\)の随伴行列といい、\(A^*\)で表す。
代数

【代数】ユニタリ行列の定義

行列\(U\)とその行列の随伴行列との間に次のような性質\begin{align}U U^* =I\end{align}を満たすとき、その行列\(U\)をユニタリ行列という。
python

【代数】Sympyを使って部分分数分解をする

sympyをつかって部分分数分解を計算する。sympyを導入した環境でapart()関数を使えばいい。以下ソースコードimport sympy as spx = sp.symbols("x")f = sp.apart(5/(x*(x+1))...
python

【代数】Sympyを使って二次方程式をシンボリック演算を使って解く

二次方程式\begin{align}ax^2+bx+c=0\end{align}の解は\begin{align}x=\frac{-b \pm \sqrt{b^2-4ac}}{2a}\end{align}これをsympyで求めるには次のように...
python

【代数】Sympyを使って一次方程式をシンボリック演算を使って解く

一次方程式\begin{align}ax+b=0\end{align}の解は\begin{align}x=-\frac{b}{a}\end{align}これをsympyで求めるには次のようにすればいい。import sympysympy.v...