《pbrt》一书配套源码上对于矩阵求逆使用的是全主元消去法,但是它的实现与我所见到过的全主元消去法还是略有不同的,有的地方还是值得思考一下的。
学过线性代数的应该都知道求矩阵的逆有伴随矩阵法和初等变换法等方法,而高斯消元法、列主元消去法、全主元消去法这些算法都基于初等变换法,简单说一下,对于矩阵 A A A,我们想要求一个矩阵 B B B,使得 A B = I AB=I AB=I,那么可以先对 A A A做一系列的初等行(列)变换,不妨做初等行变换,让A变成单位矩阵,对于任何一个可逆矩阵来说,这是一定能够做到的,即在 A A A的左侧乘上一系列的初等变换矩阵使得 P 1 P 2 P 3 P 4 ⋅ ⋅ ⋅ P i A = I P_1P_2P_3P_4···P_iA=I P1P2P3