Python 在TensorFlow中,将向量转换为Toeplitz矩阵的最简单方法是什么?

Python 在TensorFlow中,将向量转换为Toeplitz矩阵的最简单方法是什么?,python,tensorflow,Python,Tensorflow,我想使用张量流运算将向量转换为对称Toeplitz矩阵,如下所示: a = tf.placeholder(tf.float32, shape=[vector_size]) A = some_tensorflow_operation(a) 其中A的形状为[向量大小,向量大小]。这两个变量之间的关系如下所示 a = [a1,a2,a3] A = [[a1,a2,a3],[a2,a1,a2],[a3,a2,a1]] 最简单的方法是什么?如果向量大小为3: >>> a = tf.p

我想使用张量流运算将向量转换为对称Toeplitz矩阵,如下所示:

a = tf.placeholder(tf.float32, shape=[vector_size])
A = some_tensorflow_operation(a)
其中A的形状为[向量大小,向量大小]。这两个变量之间的关系如下所示

a = [a1,a2,a3]
A = [[a1,a2,a3],[a2,a1,a2],[a3,a2,a1]]

最简单的方法是什么?

如果向量大小为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]]