{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## 线性方程组\n", "\n", "- 线性方程组\n", "- 线性方程组的解有三种情况:\n", " 1. 无解\n", " 2. 唯一解\n", " 3. 无穷多解\n", "- 线性方程组的系数 -> 矩阵 -> 增广矩阵\n", "- 解线性方程组 -> 增广矩阵的行初等变换:\n", " 1. 倍加变换\n", " 2. 对换变换\n", " 3. 倍乘变换\n", "- 行阶梯形矩阵 (一般是上三角,故称为 $U$(upper)) -> 基本变量与自由变量\n", "\n", "> **定理1** (简化阶梯形矩阵的**唯一**性) 每个矩阵行等价于唯一的简化阶梯形矩阵。\n", "\n", "> **定理2** (**存在与唯一性**定理) 线性方程组相容的充要条件是增广矩阵的最右列不是主元列。就是说,增广矩阵的阶梯形没有形如 $$ [0 \\cdots 0 \\quad b] \\quad b \\neq 0 $$ 的行,若线性方程组相容,它的解集可能有两种情形:(1) 当没有自由变量时,有唯一解;(2) 若至少有一个自由变量,有无穷多解。\n", "\n", "- 仅有一列的矩阵 -> 列向量 -> 向量\n", " - 是有序对\n", " - 加法 $u + v$ 与数乘 c$u$ \n", "- 给定 $\\mathbb{R}^{n}$ 中向量 $v_1,v_2, \\cdots, v_p$ 和标量 $c_1, c_2, \\cdots, c_p$,向量 $$ y = c_{1}v_{1}+ \\cdots + c_{p}v_{p} $$ 称为向量 $v_1, v_2, \\cdots, v_p$ 以 $c_1, c_2, \\cdots, c_p$ 为**权**的**线性组合**。\n", "- 向量方程 <=> 增广矩阵的线性方程组\n", "- 一个基本思想:把向量的线性组合看作是**矩阵与向量的积**。\n", "\n", "> **定理3** 若 $A$ 是 $m \\times n$ 矩阵,它的各列为 $a_1, \\cdots, a_n$,而 $b$ 属于 $\\mathbb{R}^m$,则矩阵方程 $$ Ax = b $$ 与向量方程 $$x_{1}a_{1}+x_{2}a_{2}+ \\cdots +x_{n}a_{n}=b$$ 有相同的解集。它又与增广矩阵为 $$ [a_1 \\quad a_2 \\cdots a_n \\quad b]$$ 的线性方程组有相同的解集。\n", "\n", "> **定理4** 设 $A$ 是 $m \\times n$ 矩阵,则下列命题是逻辑上等价的,也就是说,对某个 $A$,它们都成立或者都不成立。\n", "> 1. 对 $\\mathbb{R}^m$ 中的每个 $b$,方程 $Ax=b$ 有解。\n", "> 2. $\\mathbb{R}^m$ 中的每个 $b$ 都是 $A$ 的列的一个线性组合。\n", "> 3. $A$的各列生成$\\mathbb{R}^m$。\n", "> 4. $A$在每一行都有一个主元位置。\n", "\n", "- 主对角线上元素为 1, 其他位置上元素为 0, 这个矩阵称为**单位矩阵**,记为 $I$。\n", "\n", "> **定理5** 若 $A$ 是 $m \\times n$ 矩阵,$u$ 和 $v$ 是 $\\mathbb{R}^n$ 中向量,$c$ 是标量,则\n", "> 1. $A(u + v) = Au + Av$\n", "> 2. $A(cu) = c(Au)$\n", "\n", "- 线性方程组如果可以写成 $Ax=0$ 的形式,其中 $A$ 是 $m \\times n$ 矩阵而 $0$ 是 $\\mathbb{R}^m$ 中的零向量,则称为**齐次**的。这样的方程组至少有一个解,即 $x=0$,这个解称为它的**平凡解**。\n", "- 齐次方程 $Ax=0$ 有非平凡解,当且仅当方程至少有一个自由变量。\n", "- 参数向量方程 $x = su+tv$\n", "\n", "> **定理6** 设方程 $Ax=b$ 对某个 $b$ 是相容的, $p$ 为一个特解, 则 $Ax=b$ 的解集是所有形如 $w=p+v_k$ 的向量的集,其中 $v_k$ 是齐次方程 $Ax=0$ 的任意一个解。\n", "\n", "- $\\mathbb{R}^n$ 中一组向量 ${v_1, \\cdots, v_p}$ 若在向量方程 $$ x_{1}v_{1}+x_{2}v_{2}+\\cdots+x_{p}v_{p}=0 $$ 仅有平凡解,则称之为 **线性无关**. 若存在不全为零的权 $c_1, \\cdots, c_p$,使 $$ c_{1}v_{1}+c_{2}v_{2}+\\cdots+c_{p}v_{p}=0 $$, 则称之为 **线性相关**。\n", "\n", "> **定理7** (线性相关集的特征) 两个或更多个向量的集合 $S={v_1,\\cdots, v_p}$ 线性相关,当且仅当 $S$ 中至少有一个向量是其他向量的线性组合,事实上,若 $S$ 线性相关,且 $v_1 \\neq 0$,则某个 $v_j(j>1)$ 是它前面几个向量 $v_1, \\cdots, v_{j-1}$ 的线性组合。\n", "\n", "> **定理8** 若一个向量组的向量个数超过每个向量元素个数,那么这个向量组线性相关。就是说,$\\mathbb{R}^n$ 中任意向量组 ${v_1, \\cdots, v_p}$,当 $p>n$ 时线性相关。\n", "\n", "> **定理9** 若向量组 $S={v_1, \\cdots, v_p}$ 包含零向量,则它线性相关。\n", "\n", "- 矩阵变换\n", "线性变换强调映射的性质,而矩阵变换描述这样的映射如何实现。\n", "\n", "> **定理10** 设 $T:\\mathbb{R}^n\\rightarrow\\mathbb{R}^m$ 为线性变换,则存在唯一的矩阵 $A$,使 $$T(x)=Ax,对 \\mathbb{R}^n 中的一切x$$ 事实上,$A$ 是 $m\\times n$ 矩阵,它的第 $j$ 列是向量 $T(e_j)$,其中 $e_j$ 是单位矩阵 $I_n$ 的第 $j$ 列:$$A = [T(e_1) \\cdots T(e_n)]$$\n", "\n", "> **定理11** 设 $T:\\mathbb{R}^n \\rightarrow \\mathbb{R}^m$ 为线性变换,则 $T$ 是一对一当且仅当方程 $Ax=0$ 仅有平凡解。\n", "\n", "> **定理12** 设 $T:\\mathbb{R}^n \\rightarrow \\mathbb{R}^m$ 是线性变换,设 $A$ 为 $T$ 的标准矩阵,则\n", "> 1. $T$ 把 $\\mathbb{R}^n$ 映射到 $\\mathbb{R}^m$,当且仅当 $A$ 的列生成 $\\mathbb{R}^m$。\n", "> 2. $T$ 是一对一的,当且仅当 $A$ 的列线性无关。" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3×6 Array{Float64,2}:\n", " 1.0 0.0 -2.0 3.0 0.0 -24.0\n", " 0.0 1.0 -2.0 2.0 0.0 -7.0\n", " 0.0 0.0 0.0 0.0 1.0 4.0" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = [0 3 -6 6 4 -5\n", " 3 -7 8 -5 8 9\n", " 3 -9 12 -9 6 15]\n", "rref(A)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3×4 Array{Float64,2}:\n", " 1.0 0.0 0.0 0.277223\n", " 0.0 1.0 0.0 0.391921\n", " 0.0 0.0 1.0 0.233231" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A=[36 51 13 33; 52 34 74 45; 0 7 1.1 3]\n", "rref(A)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2×3 Array{Int64,2}:\n", " 11 0 21\n", " -1 13 -9" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A=[2 3; 1 -5]\n", "B=[4 3 6; 1 -2 3]\n", "A*B" ] } ], "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 }