转置矩阵与计算逆矩阵的计算强度



我正在上计算机图形学的速成课,我们刚刚学习了二维变换,我的老师指出,计算矩阵的逆比计算它的转置更密集,这就是为什么正交矩阵在计算中如此有用(因为正交矩阵的转置也是它的逆)。由于时间的限制,以及课程的性质,他没有详细说明为什么会这样,我想知道这里是否有人能这样做。

我对每个进程中涉及的CPU/GPU指令的差异特别感兴趣,或者如果我弄错了,那么瓶颈发生的堆栈中的最低级别。我也有兴趣学习任何资源,书籍,网站等,在那里我可以了解更多关于这些类型的效率/瓶颈。

转置一个n × n矩阵,在最坏的情况下,是一个O(n2)的运算,而计算一个一般的非奇异n × n矩阵的逆是一个O(n3)的运算。这就是做这些事情的代价。

作为题外话,大多数应用程序不计算矩阵逆,因为目标是求解线性系统Ax = b,而不是找到逆。使用分解和三角解来解决这个问题更快、更准确(例如,对于一般的非奇异矩阵,请参阅LU分解)。矩阵逆可以使用高斯-乔丹消去法(以及其他方法)来计算。

对于可用的例程,您可以找到可用于计算LU分解(可能还有矩阵逆)的LAPACK实现。

矩阵转置仅仅涉及交换矩阵中的元素对-即它只是数据移动而没有计算。矩阵 OTOH需要大量的计算。

相关内容

  • 没有找到相关文章

最新更新