我有一个2x2矩阵,由来自其他输入的变量J00, J01, J10, J11
定义。由于矩阵很小,我可以先计算迹和行列式来计算谱范数
J_T = tf.reduce_sum([J00, J11])
J_ad = tf.reduce_prod([J00, J11])
J_cb = tf.reduce_prod([J01, J10])
J_det = tf.reduce_sum([J_ad, -J_cb])
然后解二次方程
^{pr2}$这是可行的,但它看起来很难看,而且不能推广到更大的矩阵。有没有更干净的方法来计算spectral_norm
?在
矩阵
J
的谱范数等于矩阵的最大singular value。在因此,您可以使用^{} 执行奇异值分解,并取最大的单数值:
其中
J
是矩阵。在注意事项:
compute_uv=False
,因为我们只对奇异值感兴趣,而不是奇异向量。在J
不需要是方形的。在J
具有任意数量的批处理维度(只要最后两个维度是矩阵维度)。在...
操作works as in NumPy。在0
索引,因为我们只对最大的单数值感兴趣。在相关问题 更多 >
编程相关推荐