SymPy - класс функции
Пакет Sympy имеет класс Function, который определен в модуле 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, если выражение отрицательное
Если выражение мнимое, возвращается знак -
- I, если im (выражение) положительно
- -I, если im (выражение) отрицательное
>>> 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$
биномиальный
Эта функция определяет количество способов, которыми мы можем выбрать k элементов из набора n элементов.
>>> 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 и двухчленным рекуррентным соотношением 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 и трехчленным рекуррентным соотношением 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 - Возвращает корень n-й степени из x.
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