Добрый день. Я сейчас прохожу курс повышения квалификации - "Профессиональное веб-программирование". Мне нужно получить диплом по этому курсу. Я так полагаю нужно его оплатить чтобы получить диплом о повышении квалификации. Как мне оплатить этот курс?
|
Численные алгоритмы. Матричные вычисления
Функции модуля Numeric
Следующие функции модуля Numeric являются краткой записью некоторых наиболее употребительных сочетаний функций и методов:
Функции для работы с массивами
Функций достаточно много, поэтому подробно будут рассмотрены только две из них, а остальные сведены в таблицу.
Функция Numeric.take()
Функция Numeric.take() позволяет взять часть массива по заданным на определенном измерении индексам. По умолчанию номер измерения (третий аргумент) равен нулю.
>>> import Numeric >>> a = Numeric.reshape(Numeric.arrayrange(25), (5, 5)) >>> print a [[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14] [15 16 17 18 19] [20 21 22 23 24]] >>> print Numeric.take(a, [1], 0) [ [5 6 7 8 9]] >>> print Numeric.take(a, [1], 1) [[ 1] [ 6] [11] [16] [21]] >>> print Numeric.take(a, [[1,2],[3,4]]) [[[ 5 6 7 8 9] [10 11 12 13 14]] [[15 16 17 18 19] [20 21 22 23 24]]]
В отличие от среза, функция Numeric.take() сохраняет размерность массива, если конечно, структура заданных индексов одномерна. Результат Numeric.take(a, [[1,2],[3,4]]) показывает, что взятые по индексам части помещаются в массив со структурой самих индексов, как если бы вместо 1 было написано [5 6 7 8 9], а вместо 2 - [10 11 12 13 14] и т.д.
Функции Numeric.diagonal() и Numeric.trace()
Функция Numeric.diagonal() возвращает диагональ матрицы. Она имеет следующие аргументы:
a | Исходный массив. |
offset | Смещение вправо от "главной" диагонали (по умолчанию 0). |
axis1 | Первое из измерений, на которых берется диагональ (по умолчанию 0). |
axis2 | Второе измерение, образующее вместе с первым плоскость, на которой и берется диагональ. По умолчанию axis2=1. |
Функция Numeric.trace() (для вычисления следа матрицы ) имеет те же аргументы, но суммирует элементы на диагонали. В примере ниже рассмотрены обе эти функции:
>>> import Numeric >>> a = Numeric.reshape(Numeric.arrayrange(16), (4, 4)) >>> print a [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15]] >>> for i in range(-3, 4): ... print "Sum", Numeric.diagonal(a, i), "=", Numeric.trace(a, i) ... Sum [12] = 12 Sum [ 8 13] = 21 Sum [ 4 9 14] = 27 Sum [ 0 5 10 15] = 30 Sum [ 1 6 11] = 18 Sum [2 7] = 9 Sum [3] = 3
Функция Numeric.choose()
Эта функция использует один массив с целыми числами от 0 до n для выбора значения из одного из заданных массивов:
>>> a = Numeric.identity(4) >>> b0 = Numeric.reshape(Numeric.arrayrange(16), (4, 4)) >>> b1 = -Numeric.reshape(Numeric.arrayrange(16), (4, 4)) >>> print Numeric.choose(a, (b0, b1)) [[ 0 1 2 3] [ 4 -5 6 7] [ 8 9 -10 11] [ 12 13 14 -15]]
Свод функций модуля Numeric
Следующая таблица приводит описания функций модуля Numeric.
В этой таблице в качестве обозначения типа type можно указывать рассмотренные выше константы: Int, Float и т.п.
Модуль Numeric также определяет константы e (число e) и pi (число пи).