{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 矩阵运算\n", "\n", "## 矩阵的逆\n", "\n", "若存在两个 $n \\times n$ 的矩阵 $A$ 和 $C$ 使 $$AC = I \\quad 且 \\quad CA = I$$ 这里 $I = I_n$ 是 $n \\times n$ 单位矩阵。则称 $A$是 **可逆的**。称 $C$ 是 $A$ 的逆阵。记为 $A^{-1}$, 有 $$AA^{-1}=I \\quad 且 \\quad A^{-1}A=I$$\n", "\n", "不可逆的矩阵有时称为**奇异矩阵**,而可逆矩阵也就称为**非奇异矩阵**。\n", "\n", "> **定理4** 设 $A = \\begin{bmatrix} a & b \\\\ c & d \\end{bmatrix}$,若 $ad-bc \\neq 0$,则 $A$ 可逆且 $$ A^{-1}=\\frac{1}{ad-bc}\\begin{bmatrix}d & -b \\\\ -c & a\\end{bmatrix} $$ 若 $ad-bc=0$,则 $A$ 不可逆。\n", "\n", "> **定理5** 若 $A$ 是可逆 $n \\times n$ 矩阵,则对每一 $\\mathbb{R}^n$中的 $b$,方程 $Ax=b$ 有唯一解 $x=A^{-1}b$。\n", "\n", "> **定理6**\n", "> 1. 若 $A$ 是可逆矩阵,则 $A^{-1}$也可逆且$(A^{-1})^{-1}=A$。\n", "> 2. 若 $A$ 和 $B$ 都是 $n \\times n$ 可逆矩阵,$AB$ 也可逆,且其逆是 $A$ 和 $B$ 的逆矩阵按相反顺序的乘积,即 $(AB)^{-1}=B^{-1}A^{-1}$。\n", "> 3. 若 $A$ 可逆,则 $A^T$ 也可逆,且其逆是 $A^{-1}$ 的转置,即 $(A^T)^{-1}=(A^{-1})^T$。\n", "\n", "单位矩阵进行一次行变换,就得到了 **初等矩阵** $E$。\n", "若对 $m \\times n$ 矩阵 $A$ 进行某种初等行变换,所得矩阵可写成 $EA$,其中 $E$ 是 $m \\times n$ 矩阵,是由 $I_m$ 进行同一行变换所得。\n", "每个初等矩阵 $E$ 是可逆的,$E$ 的逆是一个同类型的初等矩阵,它把 $E$ 变回了 $I$。\n", "\n", "> **定理7** $m \\times n$ 矩阵 $A$ 是可逆的,当且仅当 $A$ 行等价于 $I_n$,这时,把 $A$ 变为 $I_n$ 的一系列初等行变换同时把 $I_n$ 变成 $A^{-1}$。" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3×3 Array{Float64,2}:\n", " -4.5 7.0 -1.5\n", " -2.0 4.0 -1.0\n", " 1.5 -2.0 0.5" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A=[0 1 2; 1 0 3; 4 -3 8]\n", "inv(A)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> **定理8** (可逆矩阵定理)\n", "> 设 $A$ 是 $n \\times n$ 矩阵,则下列命题是等价的,即对某一特定的 $A$,它们同时为真或同时为假。\n", "> 1. $A$ 是可逆矩阵。\n", "> 2. $A$ 等价于 $n \\times n$ 单位矩阵。\n", "> 3. $A$ 有 n 个主元位置。\n", "> 4. 方程 $Ax=0$ 仅有平凡解。\n", "> 5. $A$ 的各列线性无关。\n", "> 6. 线性变换 $x \\mapsto Ax$ 是一对一的。\n", "> 7. 对 $\\mathbb{R}^n$ 中任意 $b$,方程 $Ax=b$ 至少有一个解。\n", "> 8. $A$ 的各列生成 $\\mathbb{R}^n$。\n", "> 9. 线性变换 $x \\mapsto Ax$ 把 $\\mathbb{R}^n$ 映射到 $\\mathbb{R}^n$ 上。\n", "> 10. 存在 $n \\times n$ 矩阵 $C$ 使 $CA=I$。\n", "> 11. 存在 $n \\times n$ 矩阵 $D$ 使 $AD=I$。\n", "> 12. $A^T$ 是可逆矩阵。\n", "\n", "可逆线性变换\n", "\n", "对于线性变换 $T:\\mathbb{R}^n \\rightarrow \\mathbb{R}^n$,若存在函数 $S:\\mathbb{R}^n \\rightarrow \\mathbb{R}^n$ 使得$$ 对所有 \\mathbb{R}^n 中的 x, S(T(x))=x \\tag{1} $$ $$ 对所有 \\mathbb{R}^n 中的 x, T(S(x))=x \\tag{2}$$,则称 $T$ 是**可逆的**,称 $S$ 是 $T$ 的逆,写成 $T^{-1}$。\n", "\n", "> **定理9** 设 $T:\\mathbb{R}^n \\rightarrow \\mathbb{R}^n$ 为线性变换,$A$ 为 $T$ 的标准矩阵。则 $T$ 可逆当且仅当 $A$ 是可逆矩阵。这时由 $S(x)=A^{-1}x$ 定义的线性变换 $S$ 是满足(1)和(2)的惟一函数。\n", "\n", "## 分块矩阵\n", "\n", "> **定理10** ($AB$的列行展开)\n", "> 若 $A$ 是 $m \\times n$ 矩阵,$B$ 是 $n \\times p$ 矩阵,则 $$AB=[col_1(A) \\ col_2(A) \\ \\cdots \\ col_n(A)] \\begin{bmatrix}row_1(B) \\\\ row_2(B) \\\\ \\vdots \\\\ row_n(B)\\end{bmatrix} \\\\ =col_1(A)row_1(B)+ \\cdots +col_n(A)row_n(B) $$\n", "\n", "## 矩阵因式分解\n", "\n", "### LU 分解\n", "\n", "设 $A$ 是 $m \\times n$ 矩阵,可以行化简为阶梯形而不必行对换,则 $A$ 可写成形式 $A=LU$,$L$是 $m \\times m$ 下三角矩阵,主对角线元素全是1,$U$是$A$的一个等价的$m \\times n$ 阶梯形矩阵。矩阵 $L$ 是可逆的,称为单位下三角矩阵。当 $A=LU$时,方程 $Ax=b$ 可写成 $L(Ux)=b$,把 $Ux$ 写成 $y$,可以由解下面一对方程来求解 $x$: $$Ly=b \\\\ Ux=y$$" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4×5 Array{Float64,2}:\n", " 1.0 0.0 0.0 0.0 3.0\n", " 0.0 1.0 0.0 0.0 4.0\n", " 0.0 0.0 1.0 0.0 -6.0\n", " 0.0 0.0 0.0 1.0 -1.0" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A=[3 -7 -2 2 -9; 0 -2 -1 2 -4; 0 0 -1 1 5; 0 0 0 -1 1]\n", "using RowEchelon\n", "rref(A)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4×4 Array{Float64,2}:\n", " 1.0 0.0 0.0 0.0\n", " -2.0 1.0 0.0 0.0\n", " 1.0 -3.0 1.0 0.0\n", " -3.0 4.0 0.0 1.0" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A=[2 4 -1 5 -2; -4 -5 3 -8 1; 2 -5 -4 1 8; -6 0 7 -3 1]\n", "L,U = lu(A, Val{false})\n", "L" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4×5 Array{Float64,2}:\n", " 2.0 4.0 -1.0 5.0 -2.0\n", " 0.0 3.0 1.0 2.0 -3.0\n", " 0.0 0.0 0.0 2.0 1.0\n", " 0.0 0.0 0.0 4.0 7.0" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "U" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 计算机图形学中的应用\n", "\n", "http://devnotes.org/WebGL/Fundamentals/\n", "\n", "## $R^n$的子空间\n", "\n", "子空间对加法和标量乘法运算是封闭的。\n", "\n", "矩阵 $A$ 的**列空间**是 $A$ 的各列的线性组合的集合,记作 $Col \\ A$。\n", "\n", "矩阵 $A$ 的零空间是齐次方程 $Ax=0$ 的所有解的集合, 记为 $Nul \\ A$。\n", "\n", "> **定理12** $m \\times n$矩阵$A$的零空间是$\\mathbb{R}^n$的子空间。等价地,$n$个未知数的$m$个齐次线性方程的解的全体是$\\mathbb{R}^n$的子空间。\n", "\n", "> **定理13** 矩阵 $A$ 的主元列构成空间的基。\n", "\n", "矩阵 $A$ 的**秩**($rank \\ A$)是 $A$ 的列空间的维数,也就是主元列的个数。\n", "\n", "> **定理14** (秩定理)\n", "> 如果一矩阵$A$有$n$列,则 $rank \\ A + dim \\ Nul \\ A = n$\n", "\n", "> **定理15** (基定理)\n", "> 设 $H$ 是 $\\mathbb{R}^n$ 的 $p$ 维子空间,$H$ 中的任何恰好由 $p$ 个成员组成的线性无关集构成 $H$ 的一个基。并且,$H$ 中任何生成 $H$ 的 $p$ 个向量集也构成 $H$ 的一个基。\n", "\n", "> **定理** (可逆矩阵定理(续))\n", "> 设 $A$ 是一个 $n \\times n$矩阵,则下面的每个命题与 $A$ 是可逆矩阵的命题等价:\n", "> 13. $A$ 的列向量构成 $\\mathbb{R}^n$的一个基。\n", "> 14. $Col \\ A = \\mathbb{R}^n$\n", "> 15. $dim \\ Col \\ A = n$\n", "> 16. $rank \\ A = n$\n", "> 17. $Nul \\ A = \\{0\\}$\n", "> 18. $dim \\ Nul \\ A = 0$" ] } ], "metadata": { "kernelspec": { "display_name": "Julia 0.6.1", "language": "julia", "name": "julia-0.6" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "0.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }