为什么特征值输出对于tensorflow和numpy是不同的?

San*_*ukh 2 python numpy eigenvalue tensorflow

我尝试使用numpy和tensorflow计算矩阵的特征值,但我为每个实现获得不同的特征值.以下是详细信息

A=([1,2,3],[1,2,3],[1,2,3]) 
Run Code Online (Sandbox Code Playgroud)

具有numpy的A的EigenValues是 [0,6,0]

具有张量流的A的EigenValues是 [ 0.30797836, 0.64310414, 5.04891825]

我用于tf.self_adjoint_eigtensorflow实现和numpy.linalg.eignumpy实现.

Yar*_*tov 7

从功能描述:https: //www.tensorflow.org/versions/master/api_docs/python/math_ops.html#self_adjoint_eig

计算平方自伴随矩阵的特征分解.

在这种情况下,仅使用输入的下三角形部分.不会读取上三角形部分.

因此self_adjoint_eig,矩阵上的TensorFlow 等同于eig以下矩阵的numpy

({1,1,1},{1,2,2},{1,2,3})