Функция
acos(z)
acosh(z)
asin(z)
asinh(z)
atan(z)
atan2(y,x)
atanh(^)
ceil(x)
copysign (x,y)
cos(2)
cosh (ж)
degrees (ж)
ехр(г)
fabs(x)
factorial (ж)
floor(x)
fmod(.T,y)
frexp(x)
|
Описание
арккосинус z
гиперболический арккосинус z арксинус z
гиперболический арксинус 2 арктангенс 2 atan{у/х)
гиперболический арктангенс 2 наименьшее целое, большее или равное х х со знаком у косинус 2
гиперболический косинус х
перевод величины угла х из радиан в градусы
экспонента (еz)
абсолютное значение х
факториал х\
наибольшее целое, меньшее или равное х остаток от деления ж на у
возвращает мантиссу и порядок х как пару (т,г),
где т — число с плавающей точкой, а г — целое, такое, что х = m21.
|
hypot (x,y) ldexp(ra, i) log (z) loglO(z) modf(x)
|
у]х2 + у2
Функция, обратная frexp(a:) (т2г) натуральный логарифм 2 десятичный логарифм 2
возвращает пару (р, q) — целую и дробную часть х. Обе части имеют знак исходного числа
|
phased)
ро1аг(г)
pow(x,y)
radians(x)
rect(r, (f)
sin (z)
sinh(2)
sqrt(2)
tan(2)
tanh(2)
|
полярный угол комплексной величины 2 комплексное число 2 в полярных координатах (г, ф) ху
перевод величины угла х из градусов в радианы переход от полярных координат к декартовым синус 2
гиперболический синус z корень квадратный от 2 тангенс 2
гиперболический тангенс 2
|
В модулях math, так и в cmath также определены две вещественные константы: pi — число 7Г и е — число е.
Следует отметить также модуль random, который позволяет генерировать псевдослучайные числа для различных распределений. Для генерации слу
чайного вещественное число г такое, что (0.0 < г < 1.0) используется функция randomO. Функция uniform(a, b) возвращает случайное вещественное число г такое, что а <г < Ь. Для получения случайного целого число из диапазона range (start, stop, step) используется функция randrange (start, stop, step).
Генерация числа из последовательности нормально распределенных псевдослучайных чисел (распределение Гаусса) производиться функцией gauss (mu, sigma), где mu — математическое ожидание a sigma — стандартное отклонение. Другая возможность связана с использованием функции normal variate с теми же параметрами. Имеется возможность генерации чисел из других последовательностей псевдослучайных чисел (бета-распределение, экспоненциальное распределение, гамма-распределение, логарифмически нормальное распределение и др.).
Пакет NumPy
Вычислительное ядро Python, массивы в NumPy, создание массивов, работа с массивами, математические функции, матричные объекты, линейная алгебра, работа с полиномами, другие возможности NumPy.
Вычислительное ядро Python
Математические алгоритмы, реализованные на интерпретируемых языках, работают, вообще говоря, гораздо медленнее чем при использовании компилируемых языков, таких как С. В Python для большого количества вычислительных алгоритмов проблема низкого быстродействия решается за счет использования специальных библиотек (вычислительный Python), которые специально ориентированы на поддержку многомерных массивов и множество функций и операторов для работы с ними. Типичной является ситуация, когда вычислительный алгоритм базируется на последовательности операций над массивами и матрицами, и в этих условиях программа на языке Python работает также быстро как и программа написанная на С.
Наиболее интересным примером вычислительного пакета является NumPy19. NumPy включает модули для вычислений с многомерными массивами, необходимых для многих численных приложений. Благодаря этому NumPy обеспечивает возможности, которые характерны для таких систем как MATLAB20 и GNU Octave21 (аналог MATLAB). Язык программирования MATLAB также является интерпретируемым и позволяет писать быстрые программы пока большинство операций производятся над массивами или матрицами, а не над скалярами.
NumPy прост и удобен для пользования и включает помимо средств для работы с многомерными массивами модули для:
решения задач линейной алгебры;
быстрого преобразования Фурье;
генерации массивов случайных чисел.
На основе пакета NumPy строятся другие инструментальные средства для решения задач вычислительной математики, некоторые их них мы отметим ниже. Это обстоятельство позволяет отнести пакет NumPy к базовым математическим пакетам, хотя он и не входит в стандартную библиотеку Python.
Массивы в NumPy
Пакет NumPy определяет новый тип данных — N-мерный массив (ndarray). Массив — это упорядоченный набор данных для хранения данных одного типа, идентифицируемых с помощью одного или нескольких индексов. В NumPy массив имеет, как правило, постоянную длину и хранит единицы данных одного и того же типа dtype (Data type objects). Количество используемых индексов массива может быть различным. Массивы с одним индексом называют одномерными (вектора), с двумя — двумерными (матрицы).
Количество размерностей и длина массива по каждой оси называются формой массива (the shape of the array). В NumPy форма массива описывается как кортеж из N натуральных чисел, длина которого (N) есть размерность массива, а элементами кортежа является длина массива по соответствующей оси.
Пример двумерного массива 2x3 целых чисел:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
print type(a)
print a.shape
print a.dtype
Ctype ’numpy ndarray’>
i
int32
В качестве элементов массива можно используются все числовые типы (см. табл. 3.2).
Т
Тип данных Описание
bool
int
int8
intl6
int32
int64
uint8
uintl6
uint32
uint64
float
float32
float64
complex64
complexl28
логическое (True или False)
целое (обычно int32 или int64)
байт (от -128 до 127)
целое (от -32768 до 32767)
целое (от -2147483648 до 2147483647)
целое (от -9223372036854775808 до 9223372036854775807)
беззнаковое целое (от 0 до 255)
беззнаковое целое (от 0 до 65535)
беззнаковое целое (от 0 до 4294967295)
беззнаковое целое (от 0 до 18446744073709551615)
краткая форма для float64
вещественное с одинарной точностью
вещественное с двойной точностью
комплексное (float32 для вещественной и мнимой части) комплексное (float64 для вещественной и мнимой части)
аблица 3.2 Типы элементов массива
Создание массивов
Наиболее простой способ создания массива связан с использованием функцию array(), в которой элементы массива задаются в виде вложенных списков, с явным или неявным заданием типа.
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]], ’float’) print a print a.shape print a.dtype
Создание массива из списка и обратная процедура (с помощью метода tolistO) иллюстрируется следующим примером:
import numpy as np
1st = [[1, 2, 3], [4, 5, 6]]
a = np.array(1st)
print a
print a.tolistO
1
Do'stlaringiz bilan baham: |