线性代数回顾(Linear Algebra Review)
矩阵和向量(Matrices and Vectors)
(egin{bmatrix} a & b & c \[0.0em] d & e & f \[0.0em]g & h & i \[0.0em]j & k & lend{bmatrix})
矩阵就是二维数组,上面的矩阵有四行三列,所以它是一个4×3矩阵。
(egin{bmatrix}w \[0.0em]x \[0.0em]y \[0.0em]zend{bmatrix})
向量是一列多行的矩阵,所以向量是矩阵的子集。上面的向量是一个4×1矩阵。
符号和术语:
- (A_{ij}) 表示矩阵A的第 i 行和第 j 列中的元素
- 有n行的向量称为n维向量
- (v_i) 表示向量第 i 行中的元素
- 通常,我们所有的向量和矩阵索引都是从1开始的, 对于某些编程语言,数组的索引是从 0 开始的
- 矩阵通常用大写字母表示,而向量用小写字母表示
- “标量”意味着一个对象是一个单一的值,而不是一个向量或矩阵
- (mathbb{R}) 指标量实数的集合
- (mathbb{R^n}) 表示实数的n维向量的集合
运行下面的单元格来熟悉 Octave/Matlab 中的命令。自由地创建矩阵和向量:
% The ; denotes we are going back to a new row.
A = [1, 2, 3; 4, 5, 6; 7, 8, 9; 10, 11, 12]
% Initialize a vector
v = [1;2;3]
% Get the dimension of the matrix A where m = rows and n = columns
[m,n] = size(A)
% You could also store it this way
dim_A = size(A)
% Get the dimension of the vector v
dim_v = size(v)
% Now let's index into the 2nd row 3rd column of matrix A
A_23 = A(2,3)
矩阵加减法、标量和矩阵的乘除法(Addition and Scalar Multiplication)
(egin{bmatrix}a & b \[0.0em]c & dend{bmatrix}+egin{bmatrix}w & x \[0.0em]y&zend{bmatrix}=egin{bmatrix}a+w & b+x \[0.0em]c+y & d+zend{bmatrix}\[3ex]egin{bmatrix}a & b \[0.0em]c & dend{bmatrix}-egin{bmatrix}w & x \[0.0em]y & zend{bmatrix}=egin{bmatrix}a-w & b-x \[0.0em]c-y & d-zend{bmatrix})
加法和减法是逐元素的,因此您只需相加或减去每个相应的元素,要加减两个矩阵,它们的维数必须是相同的。
(egin{bmatrix}a & b \[0.0em]c & dend{bmatrix}*x=egin{bmatrix}a*x & b*x \[0.0em]c*x & d*xend{bmatrix})
在标量乘法中,我们简单地将矩阵中的每个元素乘以标量值
(egin{bmatrix}a & b \[0.0em]c & dend{bmatrix}/x=egin{bmatrix}a/x & b/x \[0.0em]c/x & d/xend{bmatrix})
在标量除法中,我们简单地将矩阵中的每个元素除以标量值
下面用 Octave/Matlab 命令进行矩阵加法和标量乘法实验:
% Initialize matrix A and B
A = [1, 2, 4; 5, 3, 2]
B = [1, 3, 4; 1, 1, 1]
% Initialize constant s
s = 2
% What happens if we have a Matrix + scalar?
add_As = A + s
矩阵和向量相乘(Matrix Vector Multiplication)
(egin{bmatrix}a&b\c&d\e&fend{bmatrix} * egin{bmatrix}x\yend{bmatrix} = egin{bmatrix}a*x+b*y\c*x+d*y\e*x+f*yend{bmatrix})
我们把向量的列映射到矩阵的每一行上,乘以每一个元素并求和。结果是一个向量,矩阵的列数必须等于向量的行数。一个m x n的矩阵乘以一个n x 1的向量,结果是一个m x 1的向量。
下面是矩阵-向量乘法的一个例子。一定要理解乘法运算。可以尝试不同的矩阵-向量乘法。
% Initialize matrix A
A = [1, 2, 3; 4, 5, 6;7, 8, 9]
% Initialize vector v
v = [1; 1; 1]
% Multiply A * v
Av = A * v
矩阵和矩阵相乘(Matrix Matrix Multiplication)
我们把两个矩阵相乘分解成几个向量乘,然后把结果串联起来。
(egin{bmatrix}a&b\c&d\e&fend{bmatrix} * egin{bmatrix}w&x\y&zend{bmatrix} = egin{bmatrix}a*w+b*yquad a*x+b*z\c*w+d*yquad c*x+d*z\e*w+f*yquad e*x+f*zend{bmatrix})
一个m x n的矩阵乘以一个n x o的矩阵,结果是一个m x o的矩阵。
要将两个矩阵相乘,第一个矩阵的列的数量必须等于第二个矩阵的行的数量。
例如:
% Initialize a 3 by 2 matrix
A = [1, 2; 3, 4;5, 6]
% Initialize a 2 by 1 matrix
B = [1,2; 2, 3]
% We expect a resulting matrix of (3 by 2)*(2 by 1) = (3 by 1)
mult_AB = A*B
% Make sure you understand why we got that result
矩阵乘法的性质(Matrix Multiplication Properties)
矩阵没有交换: A∗B≠B∗A,但是A*I=I*A
矩阵有结合律: (A∗B)∗C=A∗(B∗C)
单位矩阵乘以相同维数的任何矩阵时,得到的仍是原始矩阵。就像数乘以1一样。单位矩阵在对角线上有1(从左上角到右下角)在其他地方有0。
(egin{bmatrix}1&0&0\0&1&0\0&0&1end{bmatrix})
% Initialize random matrices A and B
A = [1,2;4,5]
B = [1,1;0,2]
% Initialize a 2 by 2 identity matrix
I = eye(2)
% The above notation is the same as I = [1,0;0,1]
% What happens when we multiply I*A ?
IA = I*A
% How about A*I ?
AI = A*I
% Compute A*B
AB = A*B
% Is it equal to B*A?
BA = B*A
% Note that IA = AI but AB != BA
矩阵的逆和转置(Inverse and Transpose)
矩阵 A 的逆用 (A^{-1}) 表示,(A * A^{-1} = I) (单位矩阵)
非方矩阵没有逆矩阵,没有逆矩阵的矩阵是奇异矩阵或退化矩阵。
在 octave 中使用 pinv(A) 函数来计算矩阵的逆
在 Matlab 中使用 inv(A) 函数来计算矩阵的逆
矩阵的转置相当把矩阵顺时针旋转90度,然后在翻转。
(A=egin{bmatrix} a & b \[0.0em] c & d \[0.0em] e & f end{bmatrix}, A^T= egin{bmatrix} a & c & e \[0.0em] b & d & f end{bmatrix}, ext{换句话说:}A_{ij} = A^T_{ji})
% Initialize matrix A
A = [1,2,0;0,5,6;7,0,9]
% Transpose A
A_trans = A'
% Take the inverse of A
A_inv = inv(A)
% What is A^(-1)*A?
A_invA = inv(A)*A
常数和基本初等函数的导数公式
((C)' = 0)
((x^{mu})' = mu x^{mu-1})
((sin \, x)'=cos \, x)
((cos \, x)'=- sin \, x)
(( an \, x)'= sec^2 \, x)
((cot x)'=- csc^2 \, x)
((sec \, x)'= sec \, x cdot tan \, x)
((csc \, x)'= - csc \, x cdot cot \, x)
((a^x)'= a^x ln \, a (a>0,a eq 1))
((e^x)'= e^x)
((log_a \, x)'= frac{1}{x ln \, a} (a>0,a eq 1))
((ln \, x)' = frac{1}{x})
((arcsin \, x)' = frac{1}{sqrt{1-x^2}})
((arccos \, x)' = - frac{1}{sqrt{1-x^2}})
((arctan \, x)' = frac{1}{1+x^2})
((arccot \, x)' = - frac{1}{1+x^2})
函数的和、差、积、商的求导法则
设 (u = u(x), ; v = v(x)) 都可导, 则:
((u pm v)' = u' pm v')
((Cu)' = Cu') ( (C) 是常数)
((uv)' = u'v + uv')
((frac{u}{v})' = frac{u'v - uv'}{v^2}) ((v : eq) 0)
反函数的求导法则
设 (x = f(y)) 在区间 (I_y) 内单调、可导且 (f'(y) eq 0),则它的反函数 (y = f^{-1}(x)) 在 (I_x = f(I_y)) 内也可导,且:
复合函数的求导法则
设 (y = f(u)),而 (u = g(x)) 且 (f(u)) 及 (g(x)) 都可导,则复合函数 (y = f[g(x)]) 的导数为:
偏导数
在研究一元函数时,我们从研究函数的变化率引入了导数的概念,对于多元函数同样需要讨论它的变化率。但多元函数的自变量不止一个,因变量与自变量的关系要比一元函数复杂得多。所以,我们首先考虑多元函数关于其中一个自变量的变化率。以二元函数 (z = f(x, \, y)) 为例,如果只有自变量 (x) 变化,而自变量 (y) 固定(即看作常量),这时它就是 (x) 的一元函数,这函数对 (x) 的导数,就称为二元函数 (z = f(x, \, y)) 对于 (x) 的 偏导数。
如果函数 (z = f(x, \, y)) 在区间 (D) 内每一点 ((x, \, y)) 处,对 (x) 和 (y) 的偏导数都存在,那么这个偏导数就是 (x)、(y) 的函数,它就称为:
函数 (z = f(x, \, y)) 对自变量 (x) 的偏导函数,记作 (frac{partial z}{partial x}, frac{partial f}{partial x}, z_x) 或 (f_x(x, \, y))
函数 (z = f(x, \, y)) 对自变量 (y) 的偏导函数,记作 (frac{partial z}{partial y}, frac{partial f}{partial y}, z_y) 或 (f_y(x, \, y))
至于实际求 (z = f(x, \, y)) 的偏导数,并不需要用新的方法,因为这里只有一个自变量在变动,另一个自变量是看做固定的,所以仍旧是一元函数的微分法问题。求 (frac{partial f}{partial x}) 时,只要把 (y) 暂时看做常量而对 (x) 求导数;求 (frac{partial f}{partial y}) 时,只要把 (x) 暂时看做常量而对 (y) 求导数。
多元复合函数的求导法则
将一元函数微分学中复合函数的求导法则推广到多元复合函数的情形,按照多元复合函数不同的复合情形,分三种情形来讨论。
1. 一元函数与多元函数复合
定理 1 如果函数 (u=varphi (t)) 及 (v=psi (t)) 都在点 (t) 可导,函数 (z=f(u,v)) 在对应点 ((u,v)) 具有连续偏导数,那么复合函数 (z=f \, [varphi (t), psi (t)]) 在点 (t) 可导,且有:
用同样方法,可把定理推广到复合函数的中间变量多于两个的情形。例如,设 (z=f(u,v,w),u=varphi (t), v=psi (t), w=omega (t)) 复合而得复合函数 (z=f \, [varphi (t), psi (t), omega (t)]) ,则在与定理相类似的条件下,这复合函数在点 (t) 可导,且其导数可用下列公式计算:
在公式中的导数 (frac{mathrm{d}z}{mathrm{d}t}) 称为 全导数
2. 多元函数与多元函数复合
定理 2 如果函数 (u=varphi (x,y)) 及 (v=psi (x,y)) 都在点 ((x,y)) 具有对 (x) 及对 (y) 的偏导数,函数 (z=f(u,v)) 在对应点 ((u,v)) 具有连续偏导数,那么复合函数 (z=f \, [varphi (x,y), psi (x,y)]) 在点 ((x,y)) 的两个偏导数都存在,且有:
类似地,设 (u=varphi (x,y), v=psi (x,y), w=omega (x,y)) 都在点 (x,y) 具有对 (x) 及对 (y) 的偏导数,函数 (z=f(u,v,w)) 在对应点 ((u,v,w)) 具有连续偏导数,则复合函数 (z=f \, [varphi (x,y), psi (x,y), omega (x,y)]) ,在点 ((x,y)) 的两个偏导数都存在,且可用下列公式计算:
3. 其他情形
定理 3 如果函数 (u=varphi (x,y)) 在点 ((x,y)) 具有对 (x) 及对 (y) 的偏导数,函数 (v=psi (y)) 在点 (y) 可导,函数 (z=f(u,v)) 在对应点 ((u,v)) 具有连续偏导数,那么复合函数 (z=f \, [varphi (x,y), psi (y)]) 在点 ((x,y)) 的两个偏导数都存在,且有:
上述情形实际上是情形 2 的一种特例,即在情形 2 中,如变量 (v) 与 (x) 无关,从而 (frac{partial v}{partial x} = 0);在 (v) 对 (y) 求导时,由于 (v=psi (y)) 是一元函数,故 (frac{partial v}{partial y}) 换成了 (frac{mathrm{d}v}{mathrm{d}y}) ,这就得上述结果。
在情形 3 中,还会遇到这样的情形:复合函数的某些中间变量本身又是复合函数的自变量。例如,设 (z=f(u,x,y)) 具有连续偏导数,而 (u=varphi(x,y)) 具有偏导数,则复合函数 (z=f \, [varphi(x,y),x,y]) 可看做情形 2 中当 (v=x,w=y) 的特殊情形。因此:
从而复合函数 (z=f \, [varphi(x,y),x,y]) 具有对自变量 (x) 及 (y) 的偏导数,且由情形 2 中的公式可得:
注意:这里 (frac{partial z}{partial x}) 与 (frac{partial f}{partial x}) 是不同的, (frac{partial z}{partial x}) 是把复合函数 (z=f \, [varphi(x,y),x,y]) 中的 (y) 看做不变而对 (x) 的偏导数, (frac{partial f}{partial x}) 是把 (f \, [u,x,y]) 中的 (u) 及 (y) 看做不变而对 (x) 的偏导数。 (frac{partial z}{partial y}) 和 (frac{partial f}{partial y}) 也有类似的区别。