import numpy as np
with open('matrix.txt', 'r') as f:
x = []
for line in f:
x.append(map(int, line.split()))
f.close()
a = array(x)
l, v = eig(a)
exponent = array(exp(l))
L = identity(len(l))
for i in xrange(len(l)):
L[i][i] = exponent[0][i]
print L
Мой код открывает текстовый файл, содержащий матрицу: 1 2
3 4
и помещает его в список "x" в виде целых чисел. Затем список "x" преобразуется в массив "a". Собственные значения "a" помещаются в "l", а собственные векторы помещаются в "v". Затем я хочу взять exp (a) и поместить его в другой массив "exponent". Затем я создаю единичную матрицу любой длины "l" и называю матрицу "L". Цикл "Мой" должен принимать значения "экспоненты" и заменять 1 по диагонали идентификационной матрицы, но я получаю сообщение об ошибке "Недействительный индекс для скалярной переменной". Что не так с моим кодом?