Язык программирования Python

       

Функции 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



Содержание раздела