代数

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; Eige...
C/C++/C#

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

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

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

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

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

和の二乗と差の二乗の和と差を求める。 \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&...
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{ali...
python

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

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

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

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

ベクトルの内積と垂直

\(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つの解をそれぞれ\(...
代数

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

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

【代数】随伴行列の定義

行列\(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 sp x = sp.symbols("x") f = sp.apart(5/(x*...
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 sympy s...