自分用のメモとして、Math4DevsのテーブルにPythonとC#を追加したものを作成した。
前提条件
- Pythonでの行列操作はnumpyライブラリを使用
- C#での行列操作はSystem.Numerics名前空間を使用
- スカラー値や1次元配列などは
a
b
、集合はA
B
と表記する
基本演算子
JS, Python, C#ともに同じ記法
※日本で一般的に用いられない $a : b$ (Colon for division) は省いた
記号 | 名前 | JavaScript | Python | C# |
---|---|---|---|---|
$a + b$ | 加算記号 Plus sign |
a + b |
a + b |
a + b |
$a - b$ | 減算記号 Minus sign |
a - b |
a - b |
a - b |
$a \times b$ | 乗算記号 Multiplication sign |
a * b |
a * b |
a * b |
$a \cdot b$ | 乗算の中点 Middle dot for multiplication |
a * b |
a * b |
a * b |
$a / b$ | 除算の斜線 Division slash |
a / b |
a / b |
a / b |
$\frac{a}{b}$ | 括線 Horizontal bar for division |
a / b |
a / b |
a / b |
比較演算子
等価と厳密等価の使い分けに注意する
- JavaScript:
==
は型変換してから値を比較、===
は型と値を比較 - Python:
==
は型と値を比較、is
は参照を比較 - C#:
==
は型と値を比較(値型)もしくは参照を比較(参照型)、ReferenceEquals
は参照を比較
記号 | 名前 | JavaScript | Python | C# |
---|---|---|---|---|
$a = b$ | 等号 Equals |
a == b a = b
|
a == b a = b
|
a == b a = b
|
$a < b$ | より小さい Strict inequality less-than |
a < b |
a < b |
a < b |
$a > b$ | より大きい Strict inequality greater-than |
a > b |
a > b |
a > b |
$a \leq b$ | 以下 Unstrict inequality less-than sign |
a <= b |
a <= b |
a <= b |
$a \geq b$ | 以上 Unstrict inequality greater-than sign |
a >= b |
a >= b |
a >= b |
$a \equiv b$ | 恒等記号 Identity sign |
a === b |
is a b |
ReferenceEquals(a, b) |
$a \neq b$ | 不等号 Inequality sign |
a != b |
a != b |
a != b |
総和・総乗
記号 | 名前 | JavaScript | Python | C# |
---|---|---|---|---|
$\sum_{i=1}^n i$ | 総和記号 Summation symbol |
array.reduce((a,b)=>a+b) |
sum(array) |
array.Sum() |
$\prod_{i=1}^n i$ | 総乗記号 Product symbol |
array.reduce((a,b)=>a*b) |
math.prod(array) |
array.Aggregate((a,b)=>a*b) |
集合演算
記号 | 名前 | JavaScript | Python | C# |
---|---|---|---|---|
$A \subset B$ | 部分集合記号 Set subset of |
A.isSubsetOf(B) |
A.issubset(B) |
A.IsSubsetOf(B) |
$A \supset B$ | 上位集合記号 Set superset of |
A.isSupersetOf(B) |
A.issuperset(B) |
A.IsSupersetOf(B) |
$A \cap B$ | 積集合記号 Intersection |
A.intersection(B) |
A & B |
A.Intersect(B) |
$A \cup B$ | 和集合記号 Union |
A.union(B) |
A | B |
A.Union(B) |
$a \in A$ | 所属記号 Membership sign |
A.has(a) |
a in A |
A.Contains(a) |
$\{x,y,z\}$ | 集合の中括弧 Curly brackets for set notation |
new Set([x,y,z]) |
{x,y,z} |
new HashSet<T>{x,y,z} |
$\emptyset$ | 空集合記号 Empty set sign |
new Set() |
set() |
new HashSet<T>() |
論理演算子
記号 | 名前 | JavaScript | Python | C# |
---|---|---|---|---|
$(\exists x)f(x)$ | 存在記号 Existential quantifier |
array.some(x=>f(x)) |
any(f(x) for x in array) |
array.Any(x=>f(x)) |
$a \lor b$ | 論理和記号 Logical disjunction |
a || b |
a or b |
a || b |
$(\forall x)f(x)$ | 全称記号 Universal quantifier |
array.every(x=>f(x)) |
all(f(x) for x in array) |
array.All(x=>f(x)) |
行列表記
記号 | 名前 | JavaScript | Python | C# |
---|---|---|---|---|
$|x|$ | 行列ノルム Matrix notation |
numpy.linalg.norm() |
Matrix.Norm() |
|
$\begin{pmatrix}a & b \\ c & d\end{pmatrix}$ | 行列の丸括弧 Matrix round bracket notation |
[[a,b],[c,d]] |
numpy.array([[a,b],[c,d]]) |
new Matrix({{a,b},{c,d}}) |
$\begin{bmatrix}a & b \\ c & d\end{bmatrix}$ | 行列の角括弧 Matrix square bracket notation |
[[a,b],[c,d]] |
numpy.array([[a,b],[c,d]]) |
new Matrix({{a,b},{c,d}}) |
その他
記号 | 名前 | JavaScript | Python | C# | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
$\sqrt{x}$ | 平方根記号 Radical symbol |
Math.sqrt(x) |
math.sqrt(x) |
Math.Sqrt(x) |
|||||||||
$\sqrt[n]{a}$ | n乗根記号 Radical symbol for nth root |
Math.pow(a, 1/n) |
a ** (1/n) |
Math.Pow(a, 1.0/n) |
|||||||||
$x^y$ | べき乗 Superscript notation |
a ** b |
a ** b |
Math.Pow(a, b) |
|||||||||
$x$ | 変数記号 Use of the letter x for an independent variable |
let x = 0 |
x = 0 |
var x = 0 |
|||||||||
$n\%$ | パーセント記号 Percent sign |
n / 100 |
n / 100 |
n / 100.0 |
|||||||||
$\infty$ | 無限大記号 Infinity sign |
Infinity |
float('inf') |
double.PositiveInfinity |
|||||||||
$\frac{dy}{dx}$ | 微分記号 Differential sign |
(y2-y1)/(x2-x1) |
scipy.derivative |
(y2-y1)/(x2-x1) |
|||||||||
$\int_a^b f(x)dx$ | 積分記号 Integral sign |
|
scipy.integrate |
|
|||||||||
$x'$ | 導関数記号 Prime symbol for derivative |
|
scipy.derivative |
|
|||||||||
$∝$ | 比例記号 Proportionality sign |
|
|
|
|||||||||
$\frac{\partial f}{\partial x}$ | 偏微分記号 Partial differential sign |
|
scipy.gradient |
|
|||||||||
$[x]$ | 整数部分 Integral part |
Math.floor(x) |
math.floor(x) |
Math.Floor(x) |
|||||||||
$n!$ | 階乗記号 Factorial |
|
math.factorial(n) |
|
|||||||||
$|x|$ | 絶対値記号 Absolute value notation |
Math.abs(x) |
abs(x) |
Math.Abs(x) |
|||||||||
$\lfloor x \rfloor$ | 床関数 Greatest integer ≤ x |
Math.floor(x) |
math.floor(x) |
Math.Floor(x) |
|||||||||
$\lceil x \rceil$ | 天井関数 Smallest integer ≥ x |
Math.ceil(x) |
math.ceil(x) |
Math.Ceiling(x) |
|||||||||
$\hspace{55em}$ |