Tensorflow伪逆不适用于复杂矩阵

2024-06-23 03:17:16 发布

您现在位置:Python中文网/ 问答频道 /正文

报告说:

tf.linalg.pinv is "analogous to numpy.linalg.pinv. It differs only in default value of rcond".

但是,tf.linalg.pinv要求矩阵为浮点型,而np.linalg.pinv可用于复杂矩阵

我想知道为什么他们只为浮点类型创建它,是否有一种简单的方法来修改tf.linalg.pinv以用于复杂矩阵


Tags: toinnumpydefaultonlyistf报告
1条回答
网友
1楼 · 发布于 2024-06-23 03:17:16

我只是面临同样的情况。如果需要显式构建反向,请检查本文:

https://pdfs.semanticscholar.org/f278/b548b5121fd0d09c2e589439b97fad16ece3.pdf

特别是,给定需要反转的矩阵M,可以执行以下操作:

    A = tf.math.real(M)
    C = tf.math.imag(M)

    r0  = tf.linalg.pinv(A) @ C
    y11 = tf.linalg.pinv(C @ r0 + A)
    y10 = -r0 @ y11

    M_inverse = tf.cast(tf.complex(y11,y10), dtype = M.dtype)

它的复杂性比纯复杂的实现稍微高一点,但到目前为止,它对我来说已经被证明是相当稳定的

相关问题 更多 >

    热门问题