数值分析与算法——读书笔记(三)

chapter3

线性方程组的直接解法

线性方程组(linear equation system)可写成如下形式:

\[\left\{\begin{matrix} a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n=b_1\\ a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n=b_2\\ \vdots \\ a_{m1}x_1+a_{m2}x_2+\cdots+a_{mn}x_n=b_m\\ \end{matrix}\right. \]

\(m>n\),这种线性方程组称为超定方程组;若\(m<n\),线性方程组一般有无穷多个解;当\(m=n\)时,记为\(Ax=b\),其中\(A\)是一个\(n \times n\)的矩阵,称为系数矩阵(coefficient matrix);\(x\)\(n\)维向量,称为解向量;\(b\)\(n\)维向量,称为右端向量或右端项(right-hand side)。在后续讨论中,我们仅考虑\(m=n\)的情况,并且假设矩阵\(A\)为实数矩阵、\(b\)为实数向量。

3.1基本概念与问题的敏感性

  1. 线性代数中的有关概念

  2. 向量范数和矩阵范数

    对于实向量\(x=[x_1,x_2,\cdots,x_n]^T\),给出常用的几种范数:

    1. 1-范数:\(\left \| x \right \|_1= \sum_{i=1}^{n}\left | x_i \right |\)
    2. 2-范数:\(\left \| x \right \|_2=(\sum_{i=1}^{n}\left | x_i \right |^2)^{\frac{1}{2}}=(x^Tx)^{\frac{1}{2}}\)
    3. \(\infty\)-范数:\(\left \| x \right \|_{\infty}=\underset{1\leq i\leq n}{max}\left | x_i \right |\)

    定理:\(\mathbb{R}^n\)上的任一一种向量范数\(\left \| x \right \|\)都是关于\(x\)分量\(x_1,x_2,\cdots,x_n\)的连续函数

    定理:设\(\left \| x \right \|_s\)\(\left \| x \right \|_t\)\(\mathbb{R}^n\)上的任意两种向量范数,则存在常数\(c_1,c_2>0\),使得对一切\(x \in \mathbb{R}^n\)

    \[c_1\left \| x \right \|_s \leq \left \| x \right \|_t \leq c_2\left \| x \right \|_s \]

    定义:设\(x\in \mathbb{R}^n\)\(A\in\mathbb{R}^{n\times n}\),对某种给定的向量范数\(\left \| x\right \|_v\),矩阵的算子范数为

    \[\left \| A \right \|_v=\underset{x\neq0}{max}\frac{\left \| Ax \right \|_v}{\left \| x \right \|_v} \]

    对应于向量的1-范数、2-范数和\(\infty\)-范数,矩阵\(A=(a_{ij}\in\mathbb{R}^{n\times n}\)的算子范数分别为:

    1. 1-范数:\(\left \| A\right \|_1=\underset{1\leq j \leq n}{max}\sum_{i=1}^{n}\left | a_{ij}\right |​\)
    2. 2-范数:\(\left \| A\right \|_2=\sqrt{\lambda_{max}(A^TA)}\),其中\(\lambda_{max}(\cdot)\)表示取矩阵最大特征值的函数
    3. \(\infty\)-范数:\(\left \| A\right \|_\infty=\underset{1\leq i \leq n}{max}\sum_{j=1}^{n}\left | a_{ij}\right |\)
  3. 问题的敏感性和矩阵条件数

    定义:设\(A\)为非奇异矩阵,称\(cond(A)_v=\left \| A \right \|_v \left \| A^{-1} \right \|_v\)为矩阵的条件数,其中下标\(v\)用于标识某种矩阵的算子范数

    如果系数矩阵的条件数很大,称之为病态矩阵,对应的线性方程组求解问题是敏感(病态)问题;如果系数矩阵的条件数很小,称之为良态矩阵,相应的线性方程组求解问题不太敏感。

3.2 高斯消元法

求解线性方程组的高斯消去过程

  1. 输入:\(A\)\(n\)\(b\);输出:\(A\)\(b\)

  2. For \(k=1,2,\cdots,n-1\)

    ​ If \(a_{kk}=0\) then 停止

    ​ For \(i=k+1,k+2,\cdots,n\)

    \(c:=-a_{ik}/a_{kk}\);

    ​ For \(j=k+1,k+2,\cdots,n\)

    \(a_{ij}:=a_{ij}+ca_{kj}\);

    ​ End

    \(b_i:=b_i+cb_k\);

    ​ End

    End

时间复杂度:\(O(n^3)\)

posted @ 2017-02-19 19:42  main_c  阅读(794)  评论(0)    收藏  举报