向量空间视角看高数(2)——向量空间与方程组及其应用

向量及其运算

向量是什么

谈到向量,我们都很熟悉,因为高中学过,就是有大小又有方向的量嘛。

对于一个一维向量,正负号表示的是方向,长度表示大小:
在这里插入图片描述

对于一个二维向量,方向就很好理解了,大小即是模长:
在这里插入图片描述

如果是三维向量呢,也一样
在这里插入图片描述

n维向量呢,就用一个有序n元组来表示,比如上面是一维向量就是一个元素,一个二维向量是两个元素的组合,三维向量呢是三个向量的组合,自然n维向量就是n个元素的有序组合了:
x ⃗ = ( x 1 x 2 . . . x n ) \vec x=\begin{pmatrix} x_1&x_2&...&x_n \end{pmatrix} x =(x1x2...xn)

模长和夹角

二维向量的模长,大家都熟悉,就是用勾股定理计算,计算之前先正交投影分解,为了方便书写,我用列表示法:
在这里插入图片描述
x ⃗ = ( x 1 x 2 ) = ( x 1 0 ) + ( 0 x 2 ) = b ⃗ + a ⃗ \vec x=\begin{pmatrix} x_1\\x_2 \end{pmatrix}=\begin{pmatrix} x_1\\0 \end{pmatrix}+\begin{pmatrix} 0\\x_2 \end{pmatrix}=\vec b+\vec a x =(x1x2)=(x10)+(0x2)=b +a

正交投影后可得到模长计算公式,勾股定理有:

∣ x ⃗ ∣ = ∣ b ⃗ ∣ 2 + ∣ a ⃗ ∣ 2 \vert \vec x \vert=\sqrt{\vert\vec b\vert ^2+\vert\vec a\vert ^2} x =b 2+a 2

说到方向的话,这个向量的二元组本身就包含方向信息啊,你会说我就用 ( x 1 x 2 ) \begin{pmatrix} x_1&x_2 \end{pmatrix} (x1x2)表示方向可不可以么,实际上是可以的,但是会出现一个问题,如果有两个长度不等,方向相同的向量,比如: y ⃗ = ( 2 x 1 2 x 2 ) \vec y=\begin{pmatrix} 2x_1&2x_2 \end{pmatrix} y =(2x12x2)。按照上述方法表示方向,就会得到 y ⃗ \vec y y 方向与 x ⃗ \vec x x 方向不等,为了解决这个问题,我们采取的手段是对向量进行归一化处理(就是让它长度等于1,在单位圆上,下图蓝色向量),即原始向量除以其模长:
在这里插入图片描述
D d i r e c t : x ⃗ = 1 ∣ x ⃗ ∣ × x ⃗ = ( x 1 ∣ x ⃗ ∣ x 2 ∣ x ⃗ ∣ ) Ddirect:\vec x = \frac{1}{\vert\vec x\vert}\times\vec x=\begin{pmatrix} \frac{x_1}{\vert\vec x\vert}&\frac{x_2}{\vert\vec x\vert} \end{pmatrix} Ddirect:x =x 1×x =(x x1x x2)

当然,如果我们如果细心一点就会发现,如果设 θ \theta θ是向量与横轴夹角,可以得到:
c o s ( θ ) = x 1 ∣ x ⃗ ∣ cos(\theta) =\frac{x_1}{\vert\vec x\vert} cos(θ)=x x1 , s i n ( θ ) = x 2 ∣ x ⃗ ∣ sin(\theta) =\frac{x_2}{\vert\vec x\vert} sin(θ)=x x2

方向向量可以这样描述:
D d i r e c t : x ⃗ = 1 ∣ x ⃗ ∣ × x ⃗ = ( c o s θ s i n θ ) Ddirect:\vec x = \frac{1}{\vert\vec x\vert}\times\vec x=\begin{pmatrix} cos\theta \\sin\theta \end{pmatrix} Ddirect:x =x 1×x =(cosθsinθ)

向量加减运算

加减运算遵循的是平行四边形法则,或者说三角形法则:
在这里插入图片描述
我们可以很直观的看到
加法: c ⃗ = a ⃗ + b ⃗ \vec c = \vec a+\vec b c =a +b
减法: a ⃗ = c ⃗ − b ⃗ \vec a = \vec c-\vec b a =c b

实际上,减法可以转变为变相的加法:
a ⃗ = c ⃗ + ( − b ⃗ ) \vec a = \vec c+(-\vec b) a =c +(b )

当然,上述法则并不要求两个向量正交(垂直的意思),非正交向量依旧满足上述规律:
在这里插入图片描述

行向量、列向量、矩阵

前面,我们表示一个向量,就很随意的来回切换,一下子表示成行的形式,一下子表示成列的形式:

行向量形式: x ⃗ = ( x 1 x 2 ) \vec x=\begin{pmatrix} x_1&x_2 \end{pmatrix} x =(x1x2)

列向量形式: x ⃗ = ( x 1 x 2 ) \vec x=\begin{pmatrix} x_1\\x_2 \end{pmatrix} x =(x1x2)

你会觉得,不就是一种表示形式么,行列不就是可以随意切换的么,行向量加法和列向量加法结果不是一致的么?

实际上的确如此,但如果计算过程涉及到乘法,他们就不能随意切换了,即便切换了,再做涉及乘法运算又得切换回去。

对于矩阵,这看着是一个新概念,实际上它是一个向量有序组合,比如我有n个二维向量,就可以把他们组合一起:
A = ( x 1 x 2 . . . . x n y 1 y 2 . . . . y n ) A=\begin{pmatrix} x_1&x_2&....&x_n\\y_1&y_2&....&y_n \end{pmatrix} A=(x1y1x2y2........xnyn)
实际上,你可以有两种观点,你可以认为是n个 ( x i y i ) \begin{pmatrix} x_i\\y_i \end{pmatrix} (xiyi)向量组合而成,也可以认为是由2个 ( m 1 m 2 . . . . m n ) \begin{pmatrix} m_1&m_2&....&m_n \end{pmatrix} (m1m2....mn)向量组合而成。

矩阵的向量视角
我们把每个向量看做一个元素,矩阵也可以看做一个向量,因为它也满足作为一个有序n元组这个条件,举个例中,比如矩阵A如下:

A = ( u 1 v 1 u 2 v 2 ) A=\begin{pmatrix} u_1&v_1\\u_2&v_2 \end{pmatrix} A=(u1u2v1v2)

你可以把它看成一个行向量,但该向量中每个元素是一个列向量:
A = ( u ⃗ v ⃗ ) A=\begin{pmatrix} \vec u&\vec v \end{pmatrix} A=(u v ),其中 u ⃗ = ( u 1 u 2 ) \vec u=\begin{pmatrix} u_1\\u_2 \end{pmatrix} u =(u1u2) , v ⃗ = ( v 1 v 2 ) \vec v=\begin{pmatrix} v_1\\v_2 \end{pmatrix} v =(v1v2)

或者你把它看做一个列向量,但该向量中的每个元素是一个行向量:
A = ( a ⃗ b ⃗ ) A=\begin{pmatrix} \vec a\\\vec b \end{pmatrix} A=(a b ),其中 a ⃗ = ( u 1 v 1 ) \vec a=\begin{pmatrix} u_1&v_1 \end{pmatrix} a =(u1v1) , b ⃗ = ( u 2 v 2 ) \vec b=\begin{pmatrix} u_2&v_2 \end{pmatrix} b =(u2v2)

所以如果说两个矩阵相加或者相减,你把矩阵看做行向量或者列向量,利用前面的向量法则进行加减即可,比如:
A = ( u 1 v 1 u 2 v 2 ) A=\begin{pmatrix} u_1&v_1\\u_2&v_2 \end{pmatrix} A=(u1u2v1v2) B = ( x 1 y 1 x 2 y 2 ) B=\begin{pmatrix} x_1&y_1\\x_2&y_2 \end{pmatrix} B=(x1x2y1y2)

计算两个矩阵的加法:

把A和B都看做行向量:
A = ( u ⃗ v ⃗ ) A=\begin{pmatrix} \vec u&\vec v \end{pmatrix} A=(u v ),其中 u ⃗ = ( u 1 u 2 ) \vec u=\begin{pmatrix} u_1\\u_2 \end{pmatrix} u =(u1u2) , v ⃗ = ( v 1 v 2 ) \vec v=\begin{pmatrix} v_1\\v_2 \end{pmatrix} v =(v1v2)
B = ( x ⃗ y ⃗ ) B=\begin{pmatrix} \vec x&\vec y \end{pmatrix} B=(x y ),其中 x ⃗ = ( x 1 x 2 ) \vec x=\begin{pmatrix} x_1\\x_2 \end{pmatrix} x =(x1x2) , y ⃗ = ( y 1 y 2 ) \vec y=\begin{pmatrix} y_1\\y_2 \end{pmatrix} y =(y1y2)
然后计算A向量+B向量即可得到:
A + B = ( u ⃗ v ⃗ ) + ( x ⃗ y ⃗ ) = ( u ⃗ + x ⃗ v ⃗ + y ⃗ ) A+B=\begin{pmatrix} \vec u&\vec v \end{pmatrix}+\begin{pmatrix} \vec x&\vec y \end{pmatrix}=\begin{pmatrix} \vec u+\vec x&\vec v +\vec y\end{pmatrix} A+B=(u v )+(x y )=(u +x v +y )
.
m ⃗ = u ⃗ + x ⃗ \vec m= \vec u+\vec x m =u +x n ⃗ = v ⃗ + y ⃗ \vec n=\vec v +\vec y n =v +y
可得:
A + B = ( m ⃗ n ⃗ ) A+B=\begin{pmatrix} \vec m&\vec n\end{pmatrix} A+B=(m n )
.
由于向量 u ⃗ 、 v ⃗ 、 x ⃗ 、 y ⃗ \vec u、\vec v、\vec x、\vec y u v x y 都是列向量,所以进一步按列向量展开计算:
m ⃗ = u ⃗ + x ⃗ = ( u 1 u 2 ) + ( x 1 x 2 ) = ( u 1 + x 1 u 2 + x 2 ) \vec m=\vec u+\vec x=\begin{pmatrix} u_1\\u_2 \end{pmatrix}+\begin{pmatrix} x_1\\x_2 \end{pmatrix}=\begin{pmatrix} u_1+x_1\\u_2+x_2 \end{pmatrix} m =u +x =(u1u2)+(x1x2)=(u1+x1u2+x2)
n ⃗ = v ⃗ + y ⃗ = ( v 1 v 2 ) + ( y 1 y 2 ) = ( v 1 + y 1 v 2 + y 2 ) \vec n=\vec v+\vec y=\begin{pmatrix} v_1\\v_2 \end{pmatrix}+\begin{pmatrix} y_1\\y_2 \end{pmatrix}=\begin{pmatrix} v_1+y_1\\v_2+y_2 \end{pmatrix} n =v +y =(v1v2)+(y1y2)=(v1+y1v2+y2)
.
带回去,可得:
A + B = ( m ⃗ n ⃗ ) = ( u 1 + x 1 v 1 + y 1 u 2 + x 2 v 2 + y 2 ) A+B=\begin{pmatrix} \vec m&\vec n\end{pmatrix}=\begin{pmatrix} u_1+x_1&v_1+y_1\\u_2+x_2&v_2+y_2 \end{pmatrix} A+B=(m n )=(u1+x1u2+x2v1+y1v2+y2)

如果直接从结果去看,矩阵加法其实就是对应元素分别相加。

向量点乘(数量积与张量积)及其应用

说起向量乘法,其实是有两种的,分别是点乘叉乘,你问为什么要两种,其实名称只是为了区别运算过程,你把叉乘换个名字比如叉积,也不是不可以,名字随便起,大家都这么叫,索性就这么来了。
向量点乘
之前为什么提行和列的区别,因为这里向量点乘和行列关系可大了:
( u 1 v 1 ) ⋅ ( x 1 y 1 ) = u 1 ⋅ x 1 + v 1 ⋅ y 1 \begin{pmatrix} u_1&v_1\end{pmatrix}\cdot\begin{pmatrix} x_1\\y_1\end{pmatrix}=u_1\cdot x_1+v_1\cdot y_1 (u1v1)(x1y1)=u1x1+v1y1

( u 1 v 1 ) ⋅ ( x 1 y 1 ) = ( u 1 ⋅ x 1 u 1 ⋅ y 1 v 1 ⋅ x 1 v 1 ⋅ y 1 ) \begin{pmatrix} u_1\\v_1\end{pmatrix}\cdot\begin{pmatrix} x_1&y_1\end{pmatrix}=\begin{pmatrix} u_1\cdot x_1&u_1\cdot y_1\\v_1\cdot x_1&v_1\cdot y_1 \end{pmatrix} (u1v1)(x1y1)=(u1x1v1x1u1y1v1y1)

我们可以看出来行向量点乘列向量,是一个标量值,列向量点乘行向量,变成了一个矩阵,你可能会问,为什么要这么区分,这两个运算有什么现实意义么?

行向量 * 列向量,实 际上就是我们所说的数量积,又叫内积,学过高中课程我们应该很清楚, a ⃗ ⋅ b ⃗ = ∣ a ⃗ ∣ ⋅ ∣ b ⃗ ∣ ⋅ c o s θ \vec a\cdot \vec b=|\vec a|\cdot |\vec b|\cdot cos\theta a b =a b cosθ。即求的是 a ⃗ \vec a a 模长乘 b ⃗ \vec b b 在a方向的投影长度,实际上也就是求两个向量的有效投影的积分面积:
.在这里插入图片描述
它可以求两个向量的夹角 c o s θ = a ⃗ ⋅ b ⃗ ∣ a ⃗ ∣ ⋅ ∣ b ⃗ ∣ cos\theta=\frac{\vec a \cdot \vec b}{|\vec a|\cdot |\vec b|} cosθ=a b a b
或者你想求向量a在b方向的投影: ∣ a ∣ c o s θ = ∣ a ∣ a ⃗ ⋅ b ⃗ ∣ a ⃗ ∣ ⋅ ∣ b ⃗ ∣ = a ⃗ ⋅ b ⃗ ⋅ 1 ∣ b ∣ |a|cos\theta=|a|\frac{\vec a \cdot \vec b}{|\vec a|\cdot |\vec b|}=\vec a \cdot \vec b \cdot \frac{1}{|b|} acosθ=aa b a b =a b b1

列向量*行向量,它叫张量积,又叫外积,实际上,这个我们也很好理解的,就是,举个简单的例中:
如果向量只有一行,且元素是一个数,该式变成了:
u 1 ⋅ ( x 1 y 1 ) = ( u 1 ⋅ x 1 u 1 ⋅ y 1 ) u_1\cdot\begin{pmatrix} x_1&y_1\end{pmatrix}=\begin{pmatrix} u_1\cdot x_1&u_1\cdot y_1\end{pmatrix} u1(x1y1)=(u1x1u1y1)
如果列向量有两行呢,就对另一行也这样操作
v 1 ⋅ ( x 1 y 1 ) = ( v 1 ⋅ x 1 v 1 ⋅ y 1 ) v_1\cdot\begin{pmatrix} x_1&y_1\end{pmatrix}=\begin{pmatrix} v_1\cdot x_1&v_1\cdot y_1\end{pmatrix} v1(x1y1)=(v1x1v1y1)
即可得到结果:
( u 1 v 1 ) ⋅ ( x 1 y 1 ) = ( u 1 ⋅ x 1 u 1 ⋅ y 1 v 1 ⋅ x 1 v 1 ⋅ y 1 ) \begin{pmatrix} u_1\\v_1\end{pmatrix}\cdot\begin{pmatrix} x_1&y_1\end{pmatrix}=\begin{pmatrix} u_1\cdot x_1&u_1\cdot y_1\\v_1\cdot x_1&v_1\cdot y_1 \end{pmatrix} (u1v1)(x1y1)=(u1x1v1x1u1y1v1y1)
.
通过上面的描述呢,我们可以得到两点

1、对于列向量的每一行,运算是独立的(可以并行)
2、对于列向量的每一行,元素由一个数,张成了一个行向量
3、对于行向量的每一列,元素由一个数,张成了一个列向量

你肯定要问,这内积和外积有什么具体意义吗?答案是有的。

首先,提出这俩玩意儿,我们得兼容过去的体系,我们先说外积特例化一下这里的行向量和列向量,都只有一个元素:
( u 1 ) ⋅ ( x 1 ) = ( u 1 ⋅ x 1 ) = d 1 \begin{pmatrix} u_1\end{pmatrix}\cdot\begin{pmatrix} x_1\end{pmatrix}=\begin{pmatrix} u_1\cdot x_1\end{pmatrix}=d_1 (u1)(x1)=(u1x1)=d1
我们一看,欸,这不就是对应普通两个数的乘法
.
我们再来看一下内积,实际上它由两个张量积的加法组成:
( u 1 v 1 ) ⋅ ( x 1 y 1 ) = u 1 ⋅ x 1 + v 1 ⋅ y 1 = d 1 + d 2 \begin{pmatrix} u_1&v_1\end{pmatrix}\cdot\begin{pmatrix} x_1\\y_1\end{pmatrix}=u_1\cdot x_1+v_1\cdot y_1=d_1+d_2 (u1v1)(x1y1)=u1x1+v1y1=d1+d2
如果我们特例化 u 1 = v 1 = 1 u_1=v_1=1 u1=v1=1,很明显就能得到它其实就是在讲两个数的加法

内积从现实意义上讲,我们可能就比较熟悉了:

大家应该都挺熟悉,比如求力做功:
在这里插入图片描述
力向量为 F ⃗ = ( F x 0 ) \vec F=\begin{pmatrix} F_x&0\end{pmatrix} F =(Fx0)
位移向量为 S ⃗ = ( x 0 ) \vec S=\begin{pmatrix} x\\0\end{pmatrix} S =(x0)
做功为 W = F ⃗ ⋅ S ⃗ = ( F x F y ) ⋅ ( x y ) = F x ⋅ x + 0 ⋅ 0 W=\vec F\cdot \vec S=\begin{pmatrix} F_x&F_y\end{pmatrix} \cdot \begin{pmatrix} x\\y\end{pmatrix}=F_x\cdot x+0\cdot 0 W=F S =(FxFy)(xy)=Fxx+00
即我们高中常用的公式(力的分解):
W = F ⃗ ⋅ S ⃗ = ∣ F ⃗ ∣ ⋅ ∣ S ⃗ ∣ ⋅ c o s ( θ ) W=\vec F\cdot \vec S=\vert \vec F\vert\cdot\vert \vec S\vert\cdot cos(\theta) W=F S =F S cos(θ)

上述内积求的是力对物体做的总功,但是我可能想知道每个分力在不同方向位移上做的功,这就可以用外积来求了

F x F_x Fx分别在x、y方向位移上的做功
F x ⋅ ( x y ) = ( F x ⋅ x F x ⋅ 0 ) = ( F x ⋅ x 0 ) F_x\cdot\begin{pmatrix} x&y \end{pmatrix}=\begin{pmatrix} F_x\cdot x&F_x\cdot 0 \end{pmatrix}=\begin{pmatrix} F_x\cdot x&0 \end{pmatrix} Fx(xy)=(FxxFx0)=(Fxx0)
.
F y F_y Fy分别在x、y方向位移上的做功
F y ⋅ ( x y ) = ( F y ⋅ x F y ⋅ 0 ) = ( 0 ⋅ x 0 ) = ( 0 0 ) F_y\cdot\begin{pmatrix} x&y \end{pmatrix}=\begin{pmatrix} F_y\cdot x&F_y\cdot 0 \end{pmatrix}=\begin{pmatrix} 0\cdot x&0 \end{pmatrix}=\begin{pmatrix} 0&0 \end{pmatrix} Fy(xy)=(FyxFy0)=(0x0)=(00)
.
合起来,求力F各个分量,在个方向上的做功
F ⃗ ⋅ S ⃗ = ( F x F y ) ⋅ ( x y ) = ( F x ⋅ x F x ⋅ 0 0 ⋅ x 0 ⋅ 0 ) = ( F x ⋅ x 0 0 0 ) \vec F\cdot \vec S=\begin{pmatrix} F_x\\ F_y \end{pmatrix}\cdot \begin{pmatrix} x& y \end{pmatrix}=\begin{pmatrix} F_x\cdot x& F_x\cdot 0\\0\cdot x& 0 \cdot 0 \end{pmatrix}=\begin{pmatrix} F_x\cdot x& 0\\0& 0 \end{pmatrix} F S =(FxFy)(xy)=(Fxx0xFx000)=(Fxx000)

若求得外积,也就是每个分力单独的做功,想求总功只要把他们加一块就可以了。

当然,聪明的你肯定会想到一个问题,我都知道力和位移如果垂直,肯定不做功,上面计算外积的时候,还计算 F x ⋅ y F_x\cdot y Fxy F y ⋅ x F_y\cdot x Fyx这两个,是不是傻,即便y不等于0, F x ⋅ y F_x\cdot y Fxy这一项也没有丝毫意义!实际上的确是这样的,我们如果是计算做功的话,只要对角线上两个 F x ⋅ x F_x\cdot x Fxx F y ⋅ y F_y\cdot y Fyy就够了,剩余的两个和我们完全没有关系,因为他们的组合本就毫无意义。所以我们如果是求功,自然用内积,如果是想知道内部详细做功部分,可以用外积计算,然后再抽取其中有意义的结果进行观察,没有意义的就不要管。
.
实际上它隐含着一个单位的问题,某些部分单位就是0,有意义部分单位是1

或许对于做功问题,外积中只有左斜对角线上那两个才有意义,但是如果换了一个问题,比如求力矩:

在这里插入图片描述
我们都知道力矩 M = M= M= ∣ F ⃗ ∣ ⋅ ∣ a ⃗ ∣ ⋅ s i n ( θ ) |\vec F|\cdot|\vec a|\cdot sin(\theta) F a sin(θ)
我们一看,啊,这不就是之前没意义的 F x ⋅ y F_x\cdot y Fxy F y ⋅ x F_y\cdot x Fyx那部分嘛,所以说,换个问题它没准就变得有意义了,你需要什么,把有意义的部分拿出来看就可以了,剩下的不用看。
聪明的你到这里就想明白了,在这个问题上,之前有意义的那两项 F x ⋅ x F_x\cdot x Fxx F y ⋅ y F_y\cdot y Fyy,反倒变得没意义了。

矩阵乘法(点乘)
之前我们提到了矩阵,如果是两个矩阵之间的点乘,我们怎么计算,实际上我们可以把它看做向量,然后用向量计算法则进行计算,比如说有如下矩阵:
A = ( u 1 v 1 u 2 v 2 ) A=\begin{pmatrix} u_1&v_1\\u_2&v_2 \end{pmatrix} A=(u1u2v1v2) B = ( x 1 x 2 y 1 y 2 ) B=\begin{pmatrix} x_1&x_2\\y_1&y_2 \end{pmatrix} B=(x1y1x2y2)

方法1:把A看做行向量(元素是列向量),B看做列向量(元素是行向量),利用内积计算:

A = ( u ⃗ v ⃗ ) A=\begin{pmatrix} \vec u&\vec v \end{pmatrix} A=(u v ),其中 u ⃗ = ( u 1 u 2 ) \vec u=\begin{pmatrix} u_1\\u_2 \end{pmatrix} u =(u1u2) , v ⃗ = ( v 1 v 2 ) \vec v=\begin{pmatrix} v_1\\v_2 \end{pmatrix} v =(v1v2)

B = ( x ⃗ y ⃗ ) B=\begin{pmatrix} \vec x\\\vec y \end{pmatrix} B=(x y ),其中 x ⃗ = ( x 1 x 2 ) \vec x=\begin{pmatrix} x_1&x_2 \end{pmatrix} x =(x1x2) , y ⃗ = ( y 1 y 2 ) \vec y=\begin{pmatrix} y_1&y_2 \end{pmatrix} y =(y1y2)
.
然后计算向量 A ⋅ B A\cdot B AB,用内积公式即可得到:
A ⋅ B = ( u ⃗ v ⃗ ) ⋅ ( x ⃗ y ⃗ ) = u ⃗ ⋅ x ⃗ + v ⃗ ⋅ y ⃗ A\cdot B=\begin{pmatrix} \vec u&\vec v \end{pmatrix}\cdot \begin{pmatrix} \vec x\\ \vec y \end{pmatrix}=\vec u\cdot \vec x+\vec v \cdot \vec y AB=(u v )(x y )=u x +v y
.
m ⃗ = u ⃗ ⋅ x ⃗ \vec m= \vec u\cdot \vec x m =u x n ⃗ = v ⃗ ⋅ y ⃗ \vec n=\vec v \cdot \vec y n =v y ,这里就可以展开成外积公式
m ⃗ = u ⃗ ⋅ x ⃗ = ( u 1 u 2 ) ⋅ ( x 1 x 2 ) = ( u 1 x 1 u 1 x 2 u 2 x 1 u 2 x 2 ) \vec m= \vec u\cdot \vec x=\begin{pmatrix} u_1\\u_2 \end{pmatrix}\cdot \begin{pmatrix} x_1&x_2 \end{pmatrix}=\begin{pmatrix} u_1 x_1&u_1x_2\\u_2 x_1&u_2x_2 \end{pmatrix} m =u x =(u1u2)(x1x2)=(u1x1u2x1u1x2u2x2)
n ⃗ = v ⃗ ⋅ y ⃗ = ( v 1 v 2 ) ⋅ ( y 1 y 2 ) = ( v 1 y 1 v 1 y 2 v 2 y 1 v 2 y 2 ) \vec n= \vec v\cdot \vec y=\begin{pmatrix} v_1\\v_2 \end{pmatrix}\cdot \begin{pmatrix} y_1&y_2 \end{pmatrix}=\begin{pmatrix} v_1 y_1&v_1y_2\\v_2 y_1&v_2y_2 \end{pmatrix} n =v y =(v1v2)(y1y2)=(v1y1v2y1v1y2v2y2)
可得:
A ⋅ B = m ⃗ + n ⃗ = ( u 1 x 1 u 1 x 2 u 2 x 1 u 2 x 2 ) + ( v 1 y 1 v 1 y 2 v 2 y 1 v 2 y 2 ) A\cdot B= \vec m+\vec n=\begin{pmatrix} u_1 x_1&u_1x_2\\u_2 x_1&u_2x_2 \end{pmatrix}+\begin{pmatrix} v_1 y_1&v_1y_2\\v_2 y_1&v_2y_2 \end{pmatrix} AB=m +n =(u1x1u2x1u1x2u2x2)+(v1y1v2y1v1y2v2y2)
通过前面矩阵加法的总结,我们知道即对应元素分别相加,得:
. A ⋅ B = m ⃗ + n ⃗ = ( u 1 x 1 + v 1 y 1 u 1 x 2 + v 1 y 2 u 2 x 1 + v 2 y 1 u 2 x 2 + v 2 y 2 ) A\cdot B= \vec m+\vec n=\begin{pmatrix} u_1 x_1+v_1 y_1&u_1x_2+v_1y_2\\u_2 x_1+v_2 y_1&u_2x_2+v_2y_2 \end{pmatrix} AB=m +n =(u1x1+v1y1u2x1+v2y1u1x2+v1y2u2x2+v2y2)

方法2:把A看做列向量(元素是行向量),B看做行向量(元素是列向量),利用外积计算:

A = ( a ⃗ b ⃗ ) A=\begin{pmatrix} \vec a\\\vec b \end{pmatrix} A=(a b ),其中 a ⃗ = ( u 1 v 1 ) \vec a=\begin{pmatrix} u_1&v_1 \end{pmatrix} a =(u1v1) , b ⃗ = ( u 2 v 2 ) \vec b=\begin{pmatrix} u_2&v_2 \end{pmatrix} b =(u2v2)

B = ( c ⃗ d ⃗ ) B=\begin{pmatrix} \vec c&\vec d \end{pmatrix} B=(c d ),其中 c ⃗ = ( x 1 y 1 ) \vec c=\begin{pmatrix} x_1\\y_1 \end{pmatrix} c =(x1y1) , d ⃗ = ( x 2 y 2 ) \vec d=\begin{pmatrix} x_2\\y_2 \end{pmatrix} d =(x2y2)
.
然后计算向量 A ⋅ B A\cdot B AB,用外积公式即可得到:
A ⋅ B = ( a ⃗ b ⃗ ) ⋅ ( c ⃗ d ⃗ ) = u ⃗ ⋅ x ⃗ + v ⃗ ⋅ y ⃗ = ( a ⃗ ⋅ c ⃗ a ⃗ ⋅ d ⃗ b ⃗ ⋅ c ⃗ b ⃗ ⋅ d ⃗ ) A\cdot B=\begin{pmatrix} \vec a\\\vec b \end{pmatrix}\cdot \begin{pmatrix} \vec c& \vec d \end{pmatrix}=\vec u\cdot \vec x+\vec v \cdot \vec y=\begin{pmatrix}\vec a\cdot \vec c& \vec a\cdot \vec d\\\vec b\cdot \vec c& \vec b \cdot \vec d \end{pmatrix} AB=(a b )(c d )=u x +v y =(a c b c a d b d )
.
m ⃗ 1 = a ⃗ ⋅ c ⃗ \vec m_1= \vec a\cdot \vec c m 1=a c m ⃗ 2 = a ⃗ ⋅ d ⃗ \vec m_2=\vec a \cdot \vec d m 2=a d m ⃗ 3 = b ⃗ ⋅ c ⃗ \vec m_3= \vec b\cdot \vec c m 3=b c m ⃗ 4 = b ⃗ ⋅ d ⃗ \vec m_4=\vec b \cdot \vec d m 4=b d ,这里就可以展开成内积公式
m ⃗ 1 = ( u 1 v 1 ) ⋅ ( x 1 y 1 ) = u 1 x 1 + v 1 y 1 \vec m_1=\begin{pmatrix} u_1&v_1 \end{pmatrix}\cdot \begin{pmatrix} x_1\\y_1 \end{pmatrix}=u_1 x_1+v_1 y_1 m 1=(u1v1)(x1y1)=u1x1+v1y1
m ⃗ 2 = ( u 1 v 1 ) ⋅ ( x 2 y 2 ) = u 1 x 2 + v 1 y 2 \vec m_2=\begin{pmatrix} u_1&v_1 \end{pmatrix}\cdot \begin{pmatrix} x_2\\y_2\end{pmatrix}=u_1 x_2+v_1 y_2 m 2=(u1v1)(x2y2)=u1x2+v1y2
m ⃗ 3 = ( u 2 v 2 ) ⋅ ( x 1 y 1 ) = u 2 x 1 + v 2 y 1 \vec m_3=\begin{pmatrix} u_2&v_2 \end{pmatrix}\cdot \begin{pmatrix} x_1\\y_1 \end{pmatrix}=u_2 x_1+v_2 y_1 m 3=(u2v2)(x1y1)=u2x1+v2y1
m ⃗ 4 = ( u 2 v 2 ) ⋅ ( x 2 y 2 ) = u 2 x 2 + v 2 y 2 \vec m_4=\begin{pmatrix} u_2&v_2 \end{pmatrix}\cdot \begin{pmatrix} x_2\\y_2\end{pmatrix}=u_2x_2+v_2 y_2 m 4=(u2v2)(x2y2)=u2x2+v2y2
可得:
A ⋅ B = ( a ⃗ ⋅ c ⃗ a ⃗ ⋅ d ⃗ b ⃗ ⋅ c ⃗ b ⃗ ⋅ d ⃗ ) = ( u 1 x 1 + v 1 y 1 u 1 x 2 + v 1 y 2 u 2 x 1 + v 2 y 1 u 2 x 2 + v 2 y 2 ) A\cdot B=\begin{pmatrix}\vec a\cdot \vec c& \vec a\cdot \vec d\\\vec b\cdot \vec c& \vec b \cdot \vec d \end{pmatrix}=\begin{pmatrix} u_1 x_1+v_1 y_1&u_1x_2+v_1y_2\\u_2 x_1+v_2 y_1&u_2x_2+v_2y_2 \end{pmatrix} AB=(a c b c a d b d )=(u1x1+v1y1u2x1+v2y1u1x2+v1y2u2x2+v2y2)

通过上述例中,我们就可以知道,不论是把矩阵看做行向量,还是列向量,做点乘后其结果是一致。

当然,值得注意的是,外积得到的矩阵,实际上是两个向量元素之间两两组合

代数分配律中的两两组合: ( a + b ) ⋅ ( c + d ) = a ⋅ c + a ⋅ d + b ⋅ c + b ⋅ d (a+b)\cdot(c+d)=a\cdot c+a\cdot d+b\cdot c+b\cdot d (a+b)(c+d)=ac+ad+bc+bd
外积运算中的两两组合: ( a b ) ⋅ ( c d ) = ( a ⋅ c a ⋅ d b ⋅ c b ⋅ d ) \begin{pmatrix} a\\ b \end{pmatrix}\cdot \begin{pmatrix} c& d \end{pmatrix}=\begin{pmatrix} a\cdot c& a\cdot d\\b\cdot c& b \cdot d \end{pmatrix} (ab)(cd)=(acbcadbd)

向量叉乘及其应用

也可以叫它叉积,是区别于点乘(内积)的另一种乘法,我们知道点乘是 a ⃗ ⋅ b ⃗ = ∣ a ⃗ ∣ ⋅ ∣ b ⃗ ∣ ⋅ s i n ( θ ) \vec a\cdot\vec b=|\vec a|\cdot|\vec b|\cdot sin(\theta) a b =a b sin(θ),而叉乘不一样,它是这样的性质:
在这里插入图片描述
∣ a ⃗ × b ⃗ ∣ = ∣ a ⃗ ∣ ⋅ ∣ b ⃗ ∣ ⋅ c o s ( θ ) |\vec a\times\vec b|=|\vec a|\cdot|\vec b|\cdot cos(\theta) a ×b =a b cos(θ)
我们可以清楚的知道,它的模长等于两个向量所在的平行四边形面积

之前,我们在做功那边,用力矩作为例子,解释了外积在求力矩问题时有意义的部分,我们可以详细的分别知道各分力对不同力臂的力矩是多少。但是,我现在不想知道分力了,我就想知道总力矩是多少,不想看各部分细节,就和计算内积可以直接看总功那样,怎么办?
在这里插入图片描述
答案其实非常简单,计算叉积的模长即可:
力矩 M = ∣ F ⃗ × a ⃗ ∣ = ∣ F ⃗ ∣ ⋅ ∣ a ⃗ ∣ ⋅ s i n ( θ ) M=|\vec F\times\vec a|=|\vec F|\cdot|\vec a|\cdot sin(\theta) M=F ×a =F a sin(θ)

你可能会问,为什么是模长,难道 a ⃗ × b ⃗ \vec a\times\vec b a ×b 结果是一个向量?的确是这样的。实际上叉积计算结果不仅是一个向量,而且还是 a ⃗ 、 b ⃗ \vec a、\vec b a b 向量所在的平面的法向量(就是分别垂直向量a和b)。

实际上,我们计算叉乘,只有三维向量才会有意义,即便计算的是二维向量,实际上它也隐含的变成的三维向量的计算,只不过隐藏的分量是0。
在这里插入图片描述
所以这边直接介绍三维向量叉乘了,有两个向量a,b如下
a ⃗ = ( 1 2 − 3 ) \vec a=\begin{pmatrix}1 & 2 &-3 \end{pmatrix} a =(123) b ⃗ = ( 4 − 5 6 ) \vec b=\begin{pmatrix}4 & -5 &6 \end{pmatrix} b =(456)
这两个向量是行还是列向量,对于叉乘没有什么影响,你如果结果需要是行向量才能进行后续运算,你就认为结果是行向量,需要列向量你就认为是列向量即可。
a ⃗ × b ⃗ = ∣ i j k 1 2 − 3 4 − 5 6 ∣ \vec a\times\vec b=\left| \begin{matrix} i& j&k \\ 1 & 2 &-3 \\ 4 & -5 &6 \\ \end{matrix} \right| a ×b =i14j25k36
其实这个东西叫做行列式,我们知道意义就可以了,计算这种东西可以交给计算机,实际上计算过程如下,就是拆,去掉所在的列元素就可以了:
∣ i j k 1 2 − 3 4 − 5 6 ∣ = ∣ 2 − 3 − 5 6 ∣ ⋅ i − ∣ 1 − 3 4 6 ∣ ⋅ j + ∣ 1 2 4 − 5 ∣ ⋅ k \left| \begin{matrix} i& j&k \\ 1 & 2 &-3 \\ 4 & -5 &6 \\ \end{matrix} \right|=\left| \begin{matrix} 2 & -3 \\ -5 & 6 \\ \end{matrix} \right|\cdot i-\left| \begin{matrix} 1 & -3 \\ 4 & 6 \\ \end{matrix} \right|\cdot j+\left| \begin{matrix} 1 & 2 \\ 4 & -5 \\ \end{matrix} \right|\cdot k i14j25k36=2536i1436j+1425k
对于二阶行列式嘛,计算如下:
∣ 1 2 4 − 5 ∣ = ( 1 ∗ − 5 ) − ( 2 ∗ 4 ) = − 13 \left| \begin{matrix} 1 & 2 \\ 4 & -5 \\ \end{matrix} \right|=(1*-5 )-(2*4)=-13 1425=(15)(24)=13
.
可得结果
a ⃗ × b ⃗ = ∣ i j k 1 2 − 3 4 − 5 6 ∣ = − 3 i − 18 j − 13 k \vec a\times\vec b=\left| \begin{matrix} i& j&k \\ 1 & 2 &-3 \\ 4 & -5 &6 \\ \end{matrix} \right|=-3i-18j-13k a ×b =i14j25k36=3i18j13k
实际上,就是这么个向量:
c ⃗ = ( − 3 − 18 − 13 ) \vec c=\begin{pmatrix} -3 & -18 & -13 \end{pmatrix} c =(31813)

事实上,我们可以验证一下,c向量是否分别与a,b垂直,只要计算内积就可以了,若垂直,内积必然为0:
c ⃗ ⋅ a ⃗ = ( − 3 − 18 − 13 ) ⋅ ( 1 2 − 3 ) = − 3 ∗ 1 − 18 ∗ 2 + 13 ∗ 3 = 0 \vec c\cdot \vec a=\begin{pmatrix} -3 & -18 & -13 \end{pmatrix} \cdot \begin{pmatrix} 1 & 2 & -3 \end{pmatrix}=-3*1-18*2+13*3=0 c a =(31813)(123)=31182+133=0
c ⃗ ⋅ b ⃗ = ( − 3 − 18 − 13 ) ⋅ ( 4 − 5 6 ) = − 3 ∗ 4 + 18 ∗ 5 − 13 ∗ 6 = 0 \vec c\cdot \vec b=\begin{pmatrix} -3 & -18 & -13 \end{pmatrix} \cdot \begin{pmatrix} 4 & -5 & 6 \end{pmatrix}=-3*4+18*5-13*6=0 c b =(31813)(456)=34+185136=0

到这里你肯定会问叉积有什么实际意义,实际上叉积的用处挺多的,下面列几个:

比如计算力矩,力F向量为 F ⃗ \vec F F ,力臂为 a ⃗ \vec a a
在这里插入图片描述
,这里我偷个懒,直接用刚刚的数据了, a ⃗ × b ⃗ = ∣ i j k 1 2 − 3 4 − 5 6 ∣ \vec a\times\vec b=\left| \begin{matrix} i& j&k \\ 1 & 2 &-3 \\ 4 & -5 &6 \\ \end{matrix} \right| a ×b =i14j25k36
计算得到 a ⃗ × b ⃗ = c ⃗ = ( − 3 − 18 − 13 ) \vec a\times\vec b=\vec c=\begin{pmatrix} -3 & -18 & -13 \end{pmatrix} a ×b =c =(31813)
求向量c的模长即可:
.
力矩M= ∣ c ⃗ ∣ = ( − 3 ) 2 + ( − 18 ) 2 + ( − 13 ) 2 = 502 |\vec c|=\sqrt{(-3)^2+(-18)^2+(-13)^2}=\sqrt{502} c =(3)2+(18)2+(13)2 =502

又比如求解向量a,b所在平面的单位法向量:
在这里插入图片描述
偷个懒用之前的结果,叉乘得到法向量: a ⃗ × b ⃗ = c ⃗ = ( − 3 − 18 − 13 ) \vec a\times\vec b=\vec c=\begin{pmatrix} -3 & -18 & -13 \end{pmatrix} a ×b =c =(31813)
除以它的模长,即可得到单位法向量了:
c ⃗ ⋅ 1 ∣ c ⃗ ∣ = ( − 3 − 18 − 13 ) ⋅ 1 502 \vec c\cdot \frac{1}{|\vec c|}=\begin{pmatrix} -3 & -18 & -13 \end{pmatrix}\cdot \frac{1}{\sqrt{502}} c c 1=(31813)502 1

再比如求解体积,a、b两个向量用之前的(偷个懒),再加一个 n ⃗ = ( 2 3 4 ) \vec n=\begin{pmatrix} 2 & 3 & 4 \end{pmatrix} n =(234),我们求这样三个向量包围的四面体体积
在这里插入图片描述
由于我们之前求得了: a ⃗ × b ⃗ = c ⃗ = ( − 3 − 18 − 13 ) \vec a\times\vec b=\vec c=\begin{pmatrix} -3 & -18 & -13 \end{pmatrix} a ×b =c =(31813)
我们知道体积公式:
V = S ⋅ H V=S\cdot H V=SH
我们又知道, c ⃗ \vec c c 向量模长等于a、b向量包围的四边形面积,且方向垂直该平面
即:
底面积: S = ∣ c ⃗ ∣ S=|\vec c| S=c ,高: H = ∣ n ⃗ ∣ ⋅ c o s ( θ ) H=|\vec n|\cdot cos(\theta) H=n cos(θ),其中 θ \theta θ指向量n与法向量c的夹角,即n在法向量方向的投影
即可得:
V = S ⋅ H = c ⃗ ⋅ n ⃗ = ∣ c ⃗ ∣ ⋅ ∣ n ⃗ ∣ ⋅ c o s ( θ ) V=S\cdot H=\vec c\cdot \vec n=|\vec c|\cdot |\vec n|\cdot cos(\theta) V=SH=c n =c n cos(θ)
.

实际上这里运用了一个混合积的概念,即:
四面体体积 V = ( a ⃗ × b ⃗ ) ⋅ n ⃗ V=(\vec a\times \vec b)\cdot \vec n V=(a ×b )n

又比如,判断一个点是否在两条线之间(可用来判断是否在矩形内):
在这里插入图片描述
我们计算分别计算两个法向量 n ⃗ 1 、 n ⃗ 2 \vec n_1、\vec n_2 n 1n 2
n ⃗ 1 = a ⃗ × b ⃗ \vec n_1=\vec a \times\vec b n 1=a ×b
n ⃗ 2 = c ⃗ × d ⃗ \vec n_2=\vec c \times\vec d n 2=c ×d
实际上这两个法向量是一个方向的,如果我们是用 a ⃗ × b ⃗ \vec a \times\vec b a ×b 去计算,右手坐标系上,它方向也就朝下(顺时针),如果 n ⃗ 2 \vec n_2 n 2也是朝下(顺时针),那么该点便在两条直线之间
我们可以通过内积(夹角)来判断两个法线是否是同向的
R = n ⃗ 1 ⋅ n ⃗ 2 = ∣ n ⃗ 1 ∣ ⋅ ∣ n ⃗ 2 ∣ ⋅ c o s ( θ ) R=\vec n_1\cdot \vec n_2=|\vec n_1|\cdot |\vec n_2|\cdot cos(\theta) R=n 1n 2=n 1n 2cos(θ)
.
若R>0,法向量同向,说明点在两条直线段之间
若R=0,说明点至少在其中一条直线段上
若R<0,说明点在两条直线段之外

如果是判断点是否在矩形内,分别判断点是否上下两条直线之间,并且是否在左右两条直线之间即可

从最后一个例中可以看出叉积还有一个重要性质,就是向量方向问题,当我们采用右手坐标系时,如我们想知道 n ⃗ 1 = a ⃗ × b ⃗ \vec n_1=\vec a \times\vec b n 1=a ×b 的方向,我们手掌与 a ⃗ \vec a a 平行,手指弯曲朝向 b ⃗ \vec b b ,其方向是我们大拇指方向:
在这里插入图片描述
所以,对于叉乘,向量是不能随意调换位置的,先后顺序影响方向:

a ⃗ × b ⃗ = − b ⃗ × a ⃗ \vec a \times\vec b=-\vec b \times\vec a a ×b =b ×a

线性方程组与二次函数

线性方程组

我们平常经常会碰到方程组,比如二元一次方程组:
{ x 1 − 2 x 2 = − 1 − x 1 + 3 x 2 = 3 \left\{ \begin{array}{c} x_1-2x_2=-1 \\ -x_1+3x_2=3 \\ \end{array} \right. {x12x2=1x1+3x2=3
如果从常规线性方程组的角度去考虑,其中的每一行,即每个方程,都是二维平面的一条直线:
在这里插入图片描述
当然这两条直线可能平行、相交、或者重合,分别对应着这个方程组的的解有0个、1个、无数个。0个解也就是我们常说的方程组无解。

方程组的行向量视角
如果说我们把每一行看做两个向量的点乘,即未知向量投影在系数向量方向的值,比如第一行,令 a ⃗ = ( 1 − 2 ) \vec a=\begin{pmatrix} 1&-2 \end{pmatrix} a =(12)

未知变量: x ⃗ = ( x 1 x 2 ) \vec x=\begin{pmatrix} x_1\\x_2 \end{pmatrix} x =(x1x2)
第一行直线方程可以改写为:
a ⃗ ⋅ x ⃗ = − 1 \vec a\cdot \vec x=-1 a x =1
∣ a ⃗ ∣ ⋅ ∣ x ⃗ ∣ ⋅ c o s ( θ ) = 1 2 + ( − 2 ) 2 ⋅ ∣ x ⃗ ∣ ⋅ c o s ( θ ) = − 1 |\vec a|\cdot |\vec x|\cdot cos(\theta)=\sqrt{1^2+(-2)^2}\cdot |\vec x|\cdot cos(\theta)=-1 a x cos(θ)=12+(2)2 x cos(θ)=1

也就是说, x ⃗ \vec x x 是满足在 a ⃗ \vec a a 向量方向投影长度为:
∣ x ⃗ ∣ ⋅ c o s ( θ ) = − 1 5 |\vec x|\cdot cos(\theta)=-\frac{1}{\sqrt{5}} x cos(θ)=5 1的所有向量:
在这里插入图片描述
对于一个方程组来说,方程组的解,就是同时满足方程组中两个方程各自的投影条件,即他们解集的交集:
第一行: a ⃗ 1 = ( 1 − 2 ) \vec a_1=\begin{pmatrix} 1&-2 \end{pmatrix} a 1=(12),解集 ∣ x ⃗ ∣ ⋅ c o s ( θ 1 ) = − 1 5 |\vec x|\cdot cos(\theta_1)=-\frac{1}{\sqrt{5}} x cos(θ1)=5 1
第二行: a ⃗ 2 = ( − 1 3 ) \vec a_2=\begin{pmatrix} -1&3 \end{pmatrix} a 2=(13),解集 ∣ x ⃗ ∣ ⋅ c o s ( θ 2 ) = 3 10 |\vec x|\cdot cos(\theta_2)=\frac{3}{\sqrt{10}} x cos(θ2)=10 3
这两条直线相交的地方,便是方程组的解:
在这里插入图片描述
方程组的列向量视角
我们可以把变量 x 1 、 x 2 x_1、x_2 x1x2抽取出来作为一个列向量,由于系数也满足有序元素组概念,所以系数也可以抽取作为一个向量:

第一列: a ⃗ 1 = ( 1 − 1 ) \vec a_1=\begin{pmatrix} 1\\-1 \end{pmatrix} a 1=(11),第二列: a ⃗ 2 = ( − 2 3 ) \vec a_2=\begin{pmatrix} -2\\3 \end{pmatrix} a 2=(23),等式右侧向量: b ⃗ = ( − 1 3 ) \vec b=\begin{pmatrix} -1\\3 \end{pmatrix} b =(13)

原方程组可以改写为向量方程形式
a ⃗ 1 ⋅ x 1 + a ⃗ 2 ⋅ x 2 = b ⃗ \vec a_1\cdot x_1+\vec a_2\cdot x_2=\vec b a 1x1+a 2x2=b

一个点积公式又摆在眼前了,一个以向量为元素的行向量(矩阵)A:
A = ( 1 − 2 − 1 3 ) = ( a ⃗ 1 a ⃗ 2 ) A=\begin{pmatrix} 1&-2\\-1&3 \end{pmatrix}=\begin{pmatrix} \vec a_1&\vec a_2 \end{pmatrix} A=(1123)=(a 1a 2),以及未知变量: x ⃗ = ( x 1 x 2 ) \vec x=\begin{pmatrix} x_1\\x_2 \end{pmatrix} x =(x1x2)
恰好满足了方程组,即方程组看改写为:
A ⋅ x = ( a ⃗ 1 a ⃗ 2 ) ⋅ ( x 1 x 2 ) = b ⃗ A\cdot x=\begin{pmatrix}\vec a_1&\vec a_2\end{pmatrix} \cdot \begin{pmatrix}x_1\\x_2\end{pmatrix}=\vec b Ax=(a 1a 2)(x1x2)=b
即可得到方程组的矩阵式表达,即矩阵方程
A ⋅ x ⃗ = b ⃗ A\cdot \vec x=\vec b Ax =b

向量方程形式,告诉了我们需要找到一个恰当的系数 x 1 、 x 2 x_1、x_2 x1x2,使得向量 a ⃗ 1 、 a ⃗ 2 \vec a_1、\vec a_2 a 1a 2可以刚好合成向量 b ⃗ \vec b b :
在这里插入图片描述

想求解这个问题,可以用高中物理中学过的力分解,当然,求解是话,我们线性代数中有成熟的工具求解,如初等行变换。

方程中 a ⃗ 1 、 a ⃗ 2 \vec a_1、\vec a_2 a 1a 2我们称为基底,高中时期可能学过,我们最常见的就是正交基(相互垂直),比如:
x ⃗ = ( 1 0 ) \vec x=\begin{pmatrix}1\\0 \end{pmatrix} x =(10) y ⃗ = ( 0 1 ) \vec y=\begin{pmatrix}0\\1\end{pmatrix} y =(01)
这两个基实际上就是我们的坐标轴的单位向量:
在这里插入图片描述

二次曲线拟合应用
之前的例中,x,y都是未知的,但在这个例中中,x,y是可测的,也就是可以通过实验我给一个x反馈得到一个y,而真正未知的变量是方程的系数

假设我有一条未知系统的曲线, y = a 0 + a 1 x + a 2 x 2 y=a_0+a_1x+a_2x^2 y=a0+a1x+a2x2,我通过对系统分别输入10个x,测的10个y,求系统曲线中的系数 ( a 0 , a 1 , a 2 ) (a_0,a_1,a_2) (a0,a1,a2)
{ a 0 + a 1 x 1 + a 2 x 1 2 = y 1 a 0 + a 1 x 2 + a 2 x 2 2 = y 2 . . . a 0 + a 1 x 10 + a 2 x 10 2 = y 10 \left\{ \begin{array}{c} a_0+a_1x_1+a_2x_1^2=y_1 \\ a_0+a_1x_2+a_2x_2^2=y_2 \\ ...\\ a_0+a_1x_{10}+a_2x_{10}^2=y_{10} \\ \end{array} \right. a0+a1x1+a2x12=y1a0+a1x2+a2x22=y2...a0+a1x10+a2x102=y10
这里我们要注意了,虽然x看着好像是未知量,其实是已知量,真正的未知量是a,所以我们最好换一下写法,避免迷惑了:
{ a 0 + x 1 a 1 + x 1 2 a 2 = y 1 a 0 + x 2 a 1 + x 2 2 a 2 = y 2 . . . a 0 + x 10 a 1 + x 10 2 a 2 = y 10 \left\{ \begin{array}{c} a_0+x_1a_1+x_1^2a_2=y_1 \\ a_0+x_2a_1+x_2^2a_2=y_2 \\ ...\\ a_0+x_{10}a_1+x_{10}^2a_2=y_{10} \\ \end{array} \right. a0+x1a1+x12a2=y1a0+x2a1+x22a2=y2...a0+x10a1+x102a2=y10
改写为矩阵表达为:
系数矩阵 A = ( 1 x 1 x 1 2 1 x 2 x 2 2 . . . . . . . . . 1 x 10 x 10 2 ) A=\begin{pmatrix} 1&x_1&x_1^2\\1&x_2&x_2^2\\ ...&...&...\\ 1&x_{10}&x_{10}^2\\ \end{pmatrix} A=11...1x1x2...x10x12x22...x102 ,未知变量 x ⃗ = ( a 0 a 1 a 2 ) \vec x=\begin{pmatrix} a_0\\a_1\\ a_2\\ \end{pmatrix} x =a0a1a2,右侧向量 b ⃗ = ( y 1 y 2 . . . y 10 ) \vec b=\begin{pmatrix} y_1\\ y_2\\ ...\\y_{10} \end{pmatrix} b =y1y2...y10
所求问题为:
A ⋅ x ⃗ = b ⃗ A\cdot \vec x=\vec b Ax =b
然后利用线性代数知识求解该线性方程组即可

面对诸如此类的拟合问题,如椭圆方程拟合,直线方程拟合,高阶曲线拟合,函数傅里叶逼近,我们的做法都一样,将其写成线性方程组形式,即化非线性为线性,然后利用线性代数知识对其进行求解。

拟合问题和逼近问题本质上是相同的,例如用二次曲线对数据拟合,本质上是用二次曲线去逼近原始数据,通过求解系数建立误差最小的逼近形式。在上述二次曲线逼近的例中在,实际上它有三个基向量:
β ⃗ 1 = ( 1 1 . . . 1 ) \vec \beta_1=\begin{pmatrix} 1\\ 1\\ ...\\1 \end{pmatrix} β 1=11...1 β ⃗ 2 = ( x 1 x 2 . . . x 10 ) \vec \beta_2=\begin{pmatrix} x_1\\ x_2\\ ...\\x_{10} \end{pmatrix} β 2=x1x2...x10 β ⃗ 3 = ( x 1 2 x 2 2 . . . x 10 2 ) \vec \beta_3=\begin{pmatrix} x_1^2\\ x_2^2\\ ...\\x_{10}^2 \end{pmatrix} β 3=x12x22...x102
.
实际上,它是三个函数 β 1 ( x ) = 1 \beta_1(x)=1 β1(x)=1 β 1 ( x ) = x \beta_1(x)=x β1(x)=x β 1 ( x ) = x 2 \beta_1(x)=x^2 β1(x)=x2
我们就是利用这三个函数对未知函数进行逼近的。
如果是傅里叶逼近,其选取的函数就是三角函数。

二次非线性函数

对于一次方程,它需要联立方程组,我们求解x的目的是看能不能找到唯一确定的解,以及解是什么。

对于一个二次函数,如 y = 4 x 1 2 + 3 x 2 2 y=4x_1^2+3x_2^2 y=4x12+3x22,我们的目的就变了,我们的目的是看函数有没有最优解,以及解是什么。
在这里插入图片描述
一元二次方程是一个抛物线,对于二元二次的方程,就是一个曲面了,比如常见的几种情况如下:

二元二次函数, y = a x 1 2 + b x 2 2 y=ax_1^2+bx_2^2 y=ax12+bx22,常见几种情况如下

a > 0 , b > 0 a>0,b>0 a>0,b>0时,这时肯定能找到极小值点,由于除了(0,0)点外所有值都大于0,我们称它为正定
在这里插入图片描述
a > 0 , b = 0 a>0,b=0 a>0,b=0,或者 a = 0 , b > 0 a=0,b>0 a=0,b>0时,所有值都大于等于0,我们称它为半正定的,它的极值点有无数个,分布在一条直线上:
在这里插入图片描述
a > 0 , b < 0 a>0,b<0 a>0,b<0,或者 a < 0 , b > 0 a<0,b>0 a<0,b>0时,有的值大于0有的小于0,我们称它为不定的,它没有极值点,但是又一个鞍点(0,0)位置:
在这里插入图片描述
a < 0 , b < 0 a<0,b<0 a<0,b<0时,这时肯定能找到极大值点,由于除了(0,0)点外所有值都小于0,我们称它为负定
在这里插入图片描述

对于这种二元二次函数,如 y = a x 1 2 + b x 2 2 y=ax_1^2+bx_2^2 y=ax12+bx22,我们通常的写法是这样的:
y = x 1 ⋅ a x 1 + x 2 ⋅ a x 2 y=x_1\cdot ax_1+x_2\cdot ax_2 y=x1ax1+x2ax2
写成向量式:
y = ( x 1 x 2 ) ⋅ ( a x 1 b x 2 ) y=\begin{pmatrix} x_1&x_2\end{pmatrix}\cdot \begin{pmatrix} ax_1\\bx_2\end{pmatrix} y=(x1x2)(ax1bx2)

再次改写为矩阵式:
y = ( x 1 x 2 ) ⋅ ( a 0 0 b ) ⋅ ( x 1 x 2 ) y=\begin{pmatrix} x_1&x_2\end{pmatrix}\cdot \begin{pmatrix} a&0\\0&b\end{pmatrix}\cdot \begin{pmatrix} x_1\\x_2\end{pmatrix} y=(x1x2)(a00b)(x1x2)
中间这个矩阵涵盖了函数图像的性质,分以下四种情况

a>0、b>0,即正定那种情况,我们称矩阵为正定矩阵
a>0、b=0,(或者a=0,b>0),即半正定那种情况,我们称矩阵为半正定矩阵
a>0、b<0,(或者a<0,b>0),即不定那种情况,我们称矩阵为不定定矩阵
a<0、b<0,即负定那种情况,我们称矩阵为负定矩阵
a<0、b=0,(或者a=0,b<0),即半负定那种情况,我们称矩阵为半负定矩阵

二次函数应用
二次函数应用范围挺广的,比如常见的优化问题,就是想找一个曲面上的最优解。
或者对于一个系统的状态,如何预测它以后是稳定还是会发散。

参考资料:
1.高等数学,同济第六版
2.线性代数及其应用,华章译从
3.外积是张量积还是张量积
4.线性代数(1-1)线性方程组求解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值