SymPy - klasa funkcji

Pakiet Sympy ma klasę Function, która jest zdefiniowana w module sympy.core.function. Jest to klasa bazowa dla wszystkich stosowanych funkcji matematycznych, a także konstruktor dla niezdefiniowanych klas funkcji.

Następujące kategorie funkcji są dziedziczone z klasy funkcji -

  • Funkcje na liczbach zespolonych
  • Funkcje trygonometryczne
  • Funkcje dla liczby całkowitej
  • Funkcje kombinatoryczne
  • Inne różne funkcje

Funkcje na liczbach zespolonych

Ten zestaw funkcji jest zdefiniowany w sympy.functions.elementary.complexes moduł.

re

Ta funkcja zwraca rzeczywistą część wyrażenia -

>>> from sympy import * 
>>> re(5+3*I)

Dane wyjściowe dla powyższego fragmentu kodu podano poniżej -

5

>>> re(I)

Dane wyjściowe dla powyższego fragmentu kodu to -

0

Im

Ta funkcja zwraca urojoną część wyrażenia -

>>> im(5+3*I)

Dane wyjściowe dla powyższego fragmentu kodu podano poniżej -

3

>>> im(I)

Dane wyjściowe dla powyższego fragmentu kodu podano poniżej -

1

sign

Ta funkcja zwraca złożony znak wyrażenia.

Dla prawdziwego wyrazu znak będzie -

  • 1, jeśli wyrażenie jest pozytywne
  • 0, jeśli wyrażenie jest równe zero
  • -1, jeśli wyrażenie jest ujemne

Jeśli wyrażenie jest urojone, zwracany znak to -

  • I jeśli im (wyrażenie) jest pozytywne
  • -I jeśli im (wyrażenie) jest ujemne
>>> sign(1.55), sign(-1), sign(S.Zero)

Dane wyjściowe dla powyższego fragmentu kodu podano poniżej -

(1, -1, 0)

>>> sign (-3*I), sign(I*2)

Dane wyjściowe dla powyższego fragmentu kodu podano poniżej -

(-I, I)

Abs

Ta funkcja zwraca wartość bezwzględną liczby zespolonej. Jest definiowana jako odległość między początkiem (0,0) a punktem (a, b) na płaszczyźnie zespolonej. Ta funkcja jest rozszerzeniem wbudowanej funkcji abs (), która akceptuje wartości symboliczne.

>>> Abs(2+3*I)

Dane wyjściowe dla powyższego fragmentu kodu podano poniżej -

$\sqrt13$

conjugate

Ta funkcja zwraca koniugat liczby zespolonej. Aby znaleźć sprzężenie złożone, zmieniamy znak części urojonej.

>>> conjugate(4+7*I)

Po wykonaniu powyższego fragmentu kodu otrzymasz następujące dane wyjściowe -

4 - 7i

Funkcje trygonometryczne

SymPy ma definicje wszystkich stosunków trygonometrycznych - sin cos, tan itp., A także ich odwrotne odpowiedniki, takie jak asin, acos, atan itp. Funkcje te obliczają odpowiednią wartość dla danego kąta wyrażoną w radianach.

>>> sin(pi/2), cos(pi/4), tan(pi/6)

Dane wyjściowe dla powyższego fragmentu kodu podano poniżej -

(1, sqrt(2)/2, sqrt(3)/3)

>>> asin(1), acos(sqrt(2)/2), atan(sqrt(3)/3)

Dane wyjściowe dla powyższego fragmentu kodu podano poniżej -

(pi/2, pi/4, pi/6)

Funkcje na liczbie całkowitej

Jest to zestaw funkcji do wykonywania różnych operacji na liczbie całkowitej.

ceiling

Jest to funkcja jednowymiarowa, która zwraca najmniejszą liczbę całkowitą nie mniejszą niż jej argument. W przypadku liczb zespolonych, oddzielnie pułap części rzeczywistej i urojonej.

>>> ceiling(pi), ceiling(Rational(20,3)), ceiling(2.6+3.3*I)

Dane wyjściowe dla powyższego fragmentu kodu podano poniżej -

(4, 7, 3 + 4*I)

floor

Ta funkcja zwraca największą wartość całkowitą nie większą niż jej argument. W przypadku liczb zespolonych ta funkcja również osobno obejmuje część rzeczywistą i urojoną.

>>> floor(pi), floor(Rational(100,6)), floor(6.3-5.9*I)

Dane wyjściowe dla powyższego fragmentu kodu podano poniżej -

(3, 16, 6 - 6*I)

frac

Ta funkcja reprezentuje ułamkową część x.

>>> frac(3.99), frac(Rational(10,3)), frac(10)

Dane wyjściowe dla powyższego fragmentu kodu podano poniżej -

(0.990000000000000, 1/3, 0)

Funkcje kombinatoryczne

Kombinatoryka to dziedzina matematyki zajmująca się problemami selekcji, uporządkowania i działania w systemie skończonym lub dyskretnym.

factorial

Silnia jest bardzo ważna w kombinatoryce, gdzie podaje liczbę sposobów permutacji n obiektów. Jest symbolicznie przedstawiony jako! Ta funkcja jest implementacją funkcji silni na nieujemnych liczbach całkowitych, silnia ujemnej liczby całkowitej to zespolona nieskończoność.

>>> x=Symbol('x') 
>>> factorial(x)

Dane wyjściowe dla powyższego fragmentu kodu podano poniżej -

x!

>>> factorial(5)

Dane wyjściowe dla powyższego fragmentu kodu podano poniżej -

120

>>> factorial(-1)

Dane wyjściowe dla powyższego fragmentu kodu podano poniżej -

$\infty\backsim$

dwumianowy

Ta funkcja określa liczbę sposobów, w jakie możemy wybrać k elementów ze zbioru n elementów.

>>> x,y=symbols('x y') 
>>> binomial(x,y)

Dane wyjściowe dla powyższego fragmentu kodu podano poniżej -

$(\frac{x}{y})$

>>> binomial(4,2)

Dane wyjściowe dla powyższego fragmentu kodu podano poniżej -

6

Rzędy trójkąta Pascala można generować za pomocą funkcji dwumianowej.

>>> for i in range(5): print ([binomial(i,j) for j in range(i+1)])

Po wykonaniu powyższego fragmentu kodu otrzymasz następujące dane wyjściowe -

[1]

[1, 1]

[1, 2, 1]

[1, 3, 3, 1]

[1, 4, 6, 4, 1]

fibonacci

Liczby Fibonacciego są ciągiem liczb całkowitych zdefiniowanym przez początkowe wyrażenia F0 = 0, F1 = 1 i dwustanową relację powtarzania Fn = Fn − 1 + Fn − 2.

>>> [fibonacci(x) for x in range(10)]

Poniższe dane wyjściowe są uzyskiwane po wykonaniu powyższego fragmentu kodu -

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

tribonacci

Liczby Tribonacciego to sekwencja liczb całkowitych zdefiniowana przez początkowe wyrażenia F0 = 0, F1 = 1, F2 = 1 i trzyokresowa relacja powtarzania Fn = Fn-1 + Fn-2 + Fn-3.

>>> tribonacci(5, Symbol('x'))

Powyższy fragment kodu daje wynik odpowiadający poniższemu wyrażeniu -

$x^8 + 3x^5 + 3x^2$

>>> [tribonacci(x) for x in range(10)]

Poniższe dane wyjściowe są uzyskiwane po wykonaniu powyższego fragmentu kodu -

[0, 1, 1, 2, 4, 7, 13, 24, 44, 81]

Różne funkcje

Poniżej znajduje się lista niektórych często używanych funkcji -

Min- Zwraca minimalną wartość listy. Nazywa się Min, aby uniknąć konfliktów z wbudowaną funkcją min.

Max- Zwraca maksymalną wartość listy. Nazywa się Max, aby uniknąć konfliktów z wbudowaną funkcją max.

root - Zwraca n-ty pierwiastek z x.

sqrt - Zwraca główny pierwiastek kwadratowy z x.

cbrt - Ta funkcja oblicza główny pierwiastek sześcienny z x, (skrót do x ++ Rational (1,3)).

Poniżej znajdują się przykłady powyższych funkcji dodatkowych i ich odpowiednich wyjść -

>>> Min(pi,E)

e

>>> Max(5, Rational(11,2))

$\frac{11}{2}$

>>> root(7,Rational(1,2))

49

>>> sqrt(2)

$\sqrt2$

>>> cbrt(1000)

10