zoukankan      html  css  js  c++  java
  • 算法导论笔记 第二十八章 矩阵运算

    28.1 求解线性方程组

    定义

    奇异矩阵:秩不是满秩的矩阵

    欠定的(线性方程组):线性方程组的矩阵向量A的秩小于n

    超定的(线性方程组):方程数目超过未知变量的数目n

    //其实我早就忘得差不多了=。=赶紧捡起来

    LUP分析

    找出三个n×n的矩阵L、U和P,满足

    PA=LU

    //和Program Assignment有啥关系

    其中L(lower)是下三角矩阵,U(upper)是上三角矩阵,P是一个置换矩阵。我们称满足上式的矩阵LUP称为A的LUP分解。

    对于所有的非奇异矩阵都有这样的分解。在下面的伪代码中转置矩阵由数组π表示。

    计算一个LU分解

    考虑非奇异的n×n矩阵A,采用高斯消元法来创建一个LU分解。

    使用递归来化解

    这个叫A对于a11的舒尔补(真难听=。=)

    在LUP分解中我们所除的元素称为主元,为矩阵U的对角线上,为了避免吧0当做除数,我们在LUP分解中包含一个转置矩阵P,这样的操作叫做选主元。

    以下是用迭代代替尾递归的代码:

    运行时间为立方级

    计算一个LUP分解

    和LU分解大同小异

    LUP算法概况

    1. 第一次取第一列绝对值最大的元素作为主元,并交换到第一行
    2. 第一列余下的元素除以这个主元
    3. 下一个递归矩阵的元素用自身的值减去对于行列元素排头元素之积
    4. 取去掉第一行和第一列的元素为新矩阵,重复以上步骤
    5. 分离LU的时候,对于非奇异矩阵,L对角线全部取1,U取原本的
    6. LU算法则减少第一步
  • 相关阅读:
    如何获取url访问历史记录
    js跨域总结
    setAttribute的兼容性
    js中原生对象、内置对象和宿主对象(转)
    一道变态的js题
    如何判断js是否加载完全
    深入理解viewport(转)
    webapp之路--理解viewport的使用
    zepto学习之路--源代码提取
    js正则之零宽断言
  • 原文地址:https://www.cnblogs.com/uangjianghui/p/7745056.html
Copyright © 2011-2022 走看看