SymPy-関数クラス
Sympyパッケージには、sympy.core.functionモジュールで定義されているFunctionクラスがあります。これは、適用されるすべての数学関数の基本クラスであり、未定義の関数クラスのコンストラクターでもあります。
以下のカテゴリの関数は、関数クラスから継承されます-
- 複素数の関数
- 三角関数
- 整数の関数
- 組み合わせ関数
- その他のその他の機能
複素数の関数
この関数のセットはで定義されています sympy.functions.elementary.complexes モジュール。
re
この関数は式の実数部を返します-
>>> from sympy import *
>>> re(5+3*I)
上記のコードスニペットの出力を以下に示します-
5
>>> re(I)
上記のコードスニペットの出力は次のとおりです。
0
Im
この関数は、式の虚数部を返します-
>>> im(5+3*I)
上記のコードスニペットの出力を以下に示します-
3
>>> im(I)
上記のコードスニペットの出力を以下に示します-
1
sign
この関数は、式の複素数記号を返します。
実際の表現の場合、符号は次のようになります。
- 式が正の場合は1
- 式がゼロに等しい場合は0
- -式が負の場合は-1
式が架空の場合、返される符号は-です。
- im(expression)が正の場合
- -im(expression)が負の場合はI
>>> sign(1.55), sign(-1), sign(S.Zero)
上記のコードスニペットの出力を以下に示します-
(1, -1, 0)
>>> sign (-3*I), sign(I*2)
上記のコードスニペットの出力を以下に示します-
(-I, I)
Abs
この関数は、複素数の絶対値を返します。これは、複素平面内の原点(0,0)と点(a、b)の間の距離として定義されます。この関数は、シンボリック値を受け入れるための組み込み関数abs()の拡張です。
>>> Abs(2+3*I)
上記のコードスニペットの出力を以下に示します-
$\sqrt13$
conjugate
この関数は、複素数の共役を返します。複素共役を見つけるために、虚数部の符号を変更します。
>>> conjugate(4+7*I)
上記のコードスニペットを実行すると、次の出力が得られます-
4 - 7i
三角関数
SymPyには、sin cos、tanなどのすべての三角関数の比率と、asin、acos、atanなどの逆の対応物の定義があります。これらの関数は、ラジアンで表された特定の角度のそれぞれの値を計算します。
>>> sin(pi/2), cos(pi/4), tan(pi/6)
上記のコードスニペットの出力を以下に示します-
(1, sqrt(2)/2, sqrt(3)/3)
>>> asin(1), acos(sqrt(2)/2), atan(sqrt(3)/3)
上記のコードスニペットの出力を以下に示します-
(pi/2, pi/4, pi/6)
整数の関数
これは、整数に対してさまざまな操作を実行するための関数のセットです。
ceiling
これは、引数以上の最小の整数値を返す単変量関数です。複素数の場合、実数部と虚数部の上限を別々に設定します。
>>> ceiling(pi), ceiling(Rational(20,3)), ceiling(2.6+3.3*I)
上記のコードスニペットの出力を以下に示します-
(4, 7, 3 + 4*I)
floor
この関数は、引数以下の最大の整数値を返します。複素数の場合、この関数も実数部と虚数部のフロアを別々に取ります。
>>> floor(pi), floor(Rational(100,6)), floor(6.3-5.9*I)
上記のコードスニペットの出力を以下に示します-
(3, 16, 6 - 6*I)
frac
この関数は、xの小数部分を表します。
>>> frac(3.99), frac(Rational(10,3)), frac(10)
上記のコードスニペットの出力を以下に示します-
(0.990000000000000, 1/3, 0)
組み合わせ関数
組み合わせ論は、有限または離散システム内での選択、配置、および操作の問題に関係する数学の分野です。
factorial
階乗は、n個のオブジェクトを並べ替えることができる方法の数を与える組み合わせ論において非常に重要です。象徴的に!この関数は、非負の整数に対する階乗関数の実装です。負の整数の階乗は複素数の無限大です。
>>> x=Symbol('x')
>>> factorial(x)
上記のコードスニペットの出力を以下に示します-
x!
>>> factorial(5)
上記のコードスニペットの出力を以下に示します-
120
>>> factorial(-1)
上記のコードスニペットの出力を以下に示します-
$\infty\backsim$
二項式
この関数は、n個の要素のセットからk個の要素を選択できる方法の数です。
>>> x,y=symbols('x y')
>>> binomial(x,y)
上記のコードスニペットの出力を以下に示します-
$(\frac{x}{y})$
>>> binomial(4,2)
上記のコードスニペットの出力を以下に示します-
6
パスカルの三角形の行は、二項関数を使用して生成できます。
>>> for i in range(5): print ([binomial(i,j) for j in range(i+1)])
上記のコードスニペットを実行すると、次の出力が得られます-
[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
fibonacci
フィボナッチ数は、初期項F0 = 0、F1 = 1および2項の漸化式Fn = Fn-1 + Fn-2によって定義される整数列です。
>>> [fibonacci(x) for x in range(10)]
上記のコードスニペットを実行すると、次の出力が得られます。
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
tribonacci
フィボナッチ数は、初期項F0 = 0、F1 = 1、F2 = 1および3項漸化式Fn = Fn-1 + Fn-2 + Fn-3によって定義される整数列です。
>>> tribonacci(5, Symbol('x'))
上記のコードスニペットは、以下の式と同等の出力を提供します-
$x^8 + 3x^5 + 3x^2$
>>> [tribonacci(x) for x in range(10)]
上記のコードスニペットを実行すると、次の出力が得られます。
[0, 1, 1, 2, 4, 7, 13, 24, 44, 81]
その他の機能
以下は、よく使用される機能のリストです。
Min−リストの最小値を返します。組み込み関数minとの競合を避けるために、Minという名前が付けられています。
Max−リストの最大値を返します。組み込み関数maxとの競合を避けるために、Maxという名前が付けられています。
root −xのn乗根を返します。
sqrt −xの主平方根を返します。
cbrt −この関数は、xの主立方根を計算します(x ++ Rational(1,3)のショートカット)。
以下は、上記のその他の関数とそれぞれの出力の例です。
>>> Min(pi,E)
e
>>> Max(5, Rational(11,2))
$\frac{11}{2}$
>>> root(7,Rational(1,2))
49
>>> sqrt(2)
$\sqrt2$
>>> cbrt(1000)
10