线性代数学习笔记

线性代数学习笔记

线性代数学习笔记

1 why?

线性模型 线性方程组等价于一个向量方程和矩阵方程

数据模型,线性代数是使用虚拟数字世界表示真实物理世界的工具。

2 vector

向量有大小和方向 magnitude and direction

比如5mph (5 miles per hour)只有大小,没有方向,用来表示速度 5mph east 是一个向量

不管起点,同样的大小和方向就是相等的

向量是对象的属性列表

向量符合交换律s+r = r+s

3 实数坐标空间

2维坐标 2-tuple

4 matric

clojure中矩阵操作 mm:点积 scal:放大

4.1 向量

向量相加: [v+w] 使用c和d乘它们获得cv和cw.组合这两种操作获得线性组合(linear combination): [ cv+dw = c [_1^1]+d[_3^2]=[_{c+3d}^{c+2d}]]

列向量v: [ v = [_{v2}^{v1}]] v1=v的第一个成分 v2=v的第二个成分 两个向量相加,它们的第一和第二部分仍然是分开的: [ v=[_{v2}^{v1}] quad 和 quad w=[_{w2}^{w1}] quad 相加 quad v+w=[_{v2+w2}^{v1+w1}] ]

相减与此类似v-w等于v1-w1 和v2-w2

另一个基本操作是标量乘法(scalar multiplication)。 [ 2v = [_{2v2}^{2v1}] = v + v quad -v = [_{-v2}^{-v1}] ]

注意-v和v的和是0向量,但与数字0不同,有两个成分[00]

组合加与标量乘法产生线性组合(linear combination)。cv和dw的和是一个线性组合cv + dw.

exception VectorMismatch

(** 两个向量相加 *)
let rec v2add x y =
  match x,y with
  | [],[] -> []
  | x1::xs,y1::ys -> x1 +. y1 :: v2add xs ys
  | _ -> raise VectorMismatch

(** 三个向量相加 *)
let rec v3add x y z =
  match x,y,z with
  | [],[],[] -> []
  | x1::xs,y1::ys,z1::zs -> x1 +. y1 +. z1 :: v3add xs ys zs
  | _ -> raise VectorMismatch

(** 向量放大 *)
let rec vscal s v =
  match v with
  | [] -> []
  | x::xs -> x *. s :: vscal s xs

let vprint title v =
  print_string title;
  print_newline ();
  List.iter (Printf.printf "| %F |
") v

let v = [1.; 1.; -1.]
let w = [2.; 3.; 4.];;
vprint "v:" v;;
vprint "w:" w;;
vprint "v+w:" (v2add v w);;
vprint "3w:" (vscal 3. w);;
v3add [1.; 0.; 3.;] (vscal 4. [1.; 2.; 1.;]) (vscal (-2.) [2.; 3.; -1.]);;

[ egin{bmatrix} 1 \ 0 \ 3 end{bmatrix} + 4 egin{bmatrix} 1 \ 2 \ 1 end{bmatrix} - 2 egin{bmatrix} 2 \ 3 \ -1 end{bmatrix} ] 的结果是:

1 2 9

二维和三维向量容易用绘图表示, 有两个成分的向量对应xy平面上的一个点.x=v1,y=v2的坐标。从(0,0)开始的话,就在点(v1,v2)结束。

含有三个成分的向量(v1,v2,v3),xy平面替换为xyz空间:

egin{equation} r=egin{bmatrix} 1 \ 1 \ -1 end{bmatrix} quad 和 quad w=egin{bmatrix} 2 \ 3 \ 4 end{bmatrix} quad 和 quad v+w=egin{bmatrix} 3 \ 4 \ 5 end{bmatrix} end{equation}

[ v = egin{bmatrix} 1 \ 1 \ -1 end{bmatrix} quad 也可以写为 quad v = (1,1,-1) ]

用行的形式写是为了节约空间,但v不是一个行向量,它是一个列向量.

单个向量u的线性组合是cu.两个向量的线性组合是cu+dv.三个向量的线性组合是cu+dv=ew. 对于有三个成分的向量,cu组合是填充通过(0,0,0)的线,cu+dv的组合是填充通过(0,0,0)的平面,cu+dv+ew的组合填充3维空间。

[ ai+bj=[_a^b] ]

r向量的长度: [ | r | = sqrt{a^2+b^2} ]

两个向量(二维): [ r = [_2^3]=[_{r_j}^{r_i}] ] [ s=[_2^{-1}]=[_{s_j}^{s_i}] ]

dot product(点积): [ r cdot s = r_is_i + r_js_j = 3 imes -1 + 2 imes 2 = 1 = s cdot r ]

egin{equation} r=egin{bmatrix} r_1 \ r_2 \ vdots \ r_n end{bmatrix} s=egin{bmatrix} s_1 \ s_2 \ vdots \ s_n end{bmatrix} t=egin{bmatrix} t_1 \ t_2 \ vdots \ t_n end{bmatrix} end{equation} egin{align*} r cdot (s + t) &= r_1(s_1+t_1)+r_2(s_2+t_2)+dots+r_n(s_n+t_n) \ &= r_1s_1+r_1t_1+r_2s_2+r_2t_2+dots+r_ns_n+r_nt_n \ &= r cdot s + r cdot t end{align*}

向量长度的平方等于与自身的点积 [ r cdot r = r_ir_i + r_jr_j = r_i^2+r_j^2 = |r|^2 ]

[ r cdot s = |r||s| cos heta ]

4.2 矩阵的逆

矩阵A: [ A = egin{bmatrix} a & b \ c & d end{bmatrix} ]

A的逆: [ A^{-1} = frac{1}{ad-bc}egin{bmatrix} d & -b \ -c & a end{bmatrix} ]

A的行列式: [ |A| = ad-bc ]

作者: ntestoc

Created: 2018-12-12 Wed 22:17

原文地址:https://www.cnblogs.com/ntestoc/p/10073873.html