我想使用像这样的Tensorflow操作将矢量转换为对称的Toeplitz矩阵:
a = tf.placeholder(tf.float32, shape=[vector_size])
A = some_tensorflow_operation(a)
其中A的形状是[vector_size,vector_size]。两个变量之间的关系如下。
a = [a1,a2,a3]
A = [[a1,a2,a3],[a2,a1,a2],[a3,a2,a1]]
最简单的方法是什么?
答案 0 :(得分:0)
如果vector_size=3
:
>>> a = tf.placeholder(tf.float32, shape=[vector_size])
>>> A = [[a[0],a[1],a[2]],[a[1],a[0],a[1]],[a[2],a[1],a[0]]]
>>> sess = tf.Session()
>>> sess.run(A, {a: [1, 2, 3]})
[[1.0, 2.0, 3.0], [2.0, 1.0, 2.0], [3.0, 2.0, 1.0]]