2015-06-07 3 views
1

Я хотел бы создать квадратную матрицу с собственными значениями по диагонали:Создание квадратной матрицы с собственными значениями на диагонали в Теано

eigen_values, eigen_vectors = theano.tensor.nlinalg.eig(covariance_matrix) 
D = T.nlinalg.AllocDiag(eigen_values) 

Однако, по-видимому Theano не лечит D матрицы, который я создал в качестве стандартной матрицы , поэтому я не могу использовать его в успешных вычислениях.

theano.tensor.var.AsTensorError: ('Cannot convert <theano.tensor.nlinalg.AllocDiag object at 0x7face5708450> to TensorType', <class 'theano.tensor.nlinalg.AllocDiag'>) 

ответ

3

Вы используете рабочий класс, как если бы это была операция.

Вместо

D = T.nlinalg.AllocDiag(eigen_values) 

попробовать

D = T.nlinalg.AllocDiag()(eigen_values) 

или

D = T.nlinalg.alloc_diag(eigen_values) 
Смежные вопросы