Solving linear equation systems

现代数值计算方法一般都会转化为求解线性方程组. 线性方程组的矩阵形式如下所示:

[A][x]=[b][A][x]=[b][A][x]=[b]

其中 AAAm×nm \times nm×n 矩阵,m≥nm \ge nmn, x∈Rnx \in R^{n}xRn, b∈Rmb\in R^{m}bRm. 由于求解线性方程组在数值分析中基础性核心地位, 线性方程组求解算法和技术一直层出不穷: 直接法,迭代法,并行算法,分块技术,超线程技术…

如果矩阵AAAn×nn \times nn×n阶方阵, 线性方程组的最直接的求解方法是:
[x]=[A]−1[b][x]=[A]^{-1}[b][x]=[A]1[b]

Calculating the inverse of matrix [A][A][A] is easy to be implemented, however it requires approximately n!n!n! operations. 例如下列4X4矩阵求逆算法[3]:

bool gluInvertMatrix(const double m[16], double invOut[16])
{
   
    double inv[16], det;
    int i;

    inv[0] = m[5]  * m[10] * m[15] - 
             m[5]  * m[11] * m[14] - 
             m[9]  * m[6]  * m[15] + 
             m[9]  * m[7]  * m[14] +
             m[13] * m[6]  * m[11] - 
             m[13] * m[7]  * m[10];

    inv[4] = -m[4]  * m[10] * m[15] + 
              m[4]  * m[11] * m[14] + 
              m[8]  * m[6]  * m[15] - 
              m[8]  * m[7]  * m[14] - 
              m[12] * m[
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值