我有一个对称的稀疏矩阵M和一个对角矩阵D.我想计算DMD
M被创建为SparseTensor,D可以表示为tf.diag或SparseTensor - 理论上,完全有可能在不经过密集矩阵的情况下评估DMD,但我无法弄清楚如何 - 有人有任何提示吗?
答案 0 :(得分:1)
以下是一些提示。
注意,在M之前和之后乘以D的效果是将每个非零元素M(i,j)与D(i,i)和D(j,j)相乘。请参阅here。
说P = DMD。要将P构造为sparse tensor,您将需要索引,值和形状。您可以将索引和形状设置为M的索引和形状,并使用tf.map_fn计算超过M的值和D(D可以是密集的1D张量)。