tf.diag(diagonal,name=None) #生成对角矩阵
import tensorflowas tf;
diagonal=[1,1,1,1]
with tf.Session() as sess:
print(sess.run(tf.diag(diagonal)))
#输出的结果为[[1 0 0 0]
[0 1 0 0]
[0 0 1 0]
[0 0 0 1]]
tf.diag_part(input,name=None) #功能与tf.diag函数相反,返回对角阵的对角元素
import tensorflow as tf;
diagonal =tf.constant([[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]])
with tf.Session() as sess:
print(sess.run(tf.diag_part(diagonal)))
#输出结果为[1,1,1,1]
tf.trace(x,name=None) #求一个2维Tensor足迹,即为对角值diagonal之和
import tensorflow as tf;
diagonal =tf.constant([[1,0,0,3],[0,1,2,0],[0,1,1,0],[1,0,0,1]])
with tf.Session() as sess:
print(sess.run(tf.trace(diagonal))