zl程序教程

您现在的位置是:首页 >  其它

当前栏目

8.1 内积定义与表示

定义 表示 8.1
2023-09-14 09:06:54 时间

双线性函数

  线性代数里的双线性函数,是将线性空间里的两个变量,映射为一个实数。它必须要符合以下四个要求,才能叫做双线性函数:

  1. f ( u , ( w 1 + ( w 2 ) = f ( ( u , ( w 1 ) + f ( ( u , ( w 2 ) f(\bold u,(\bold w_1+(\bold w_2)=f((\bold u,(\bold w_1)+f((\bold u,(\bold w_2) f(u,(w1+(w2)=f((u,(w1)+f((u,(w2)
  2. f ( ( u 1 + ( u 2 , w ) = f ( ( u 1 , ( w ) + f ( ( u 2 , ( w ) f((\bold u_1+(\bold u_2,w)=f((\bold u_1,(\bold w)+f((\bold u_2,(\bold w) f((u1+(u2,w)=f((u1,(w)+f((u2,(w)
  3. f ( k u , w ) = k f ( u , w ) f(k\bold u,\bold w)=kf(\bold u,\bold w) f(ku,w)=kf(u,w)
  4. f ( u , k w ) = k f ( u , w ) f(\bold u,k\bold w)=kf(\bold u,\bold w) f(u,kw)=kf(u,w)

  以上四点保证了线性,所以叫线性性。

内积

  内积也是一种双线性函数,不过定义更加严格,加了两点要求:对称性和正定性。内积一般就不用函数符号 f f f,而是直接一对括号就可以了。

  1. 对称性, ( u , w ) = ( w , u ) (\bold u,\bold w)=(\bold w,\bold u) (u,w)=(w,u)
  2. 正定性, ( u , w ) ≥ 0 (\bold u,\bold w)\ge 0 (u,w)0

内积表示

  内积有很多,千奇百怪,可以用度量矩阵表示内积,这样形式上就统一了。度量矩阵在外国教材里一般叫度量张量Mertic tensor,因为2-张量就是矩阵嘛。当然度量矩阵不是内积专有的,所有双线性函数都有度量矩阵,它的定义如下:
A = ( ( e 1 , e 1 ) ( e 1 , e 2 ) ⋯ ( e 1 , e n ) ( e 2 , e 1 ) ( e 2 , e 2 ) ⋯ ( e 2 , e n ) ⋮ ⋮ ⋱ ⋮ ( e n , e 1 ) ( e n , e 2 ) ⋯ ( e n , e n ) ) A=\begin{pmatrix} (e_1,e_1) & (e_1,e_2) & \cdots & (e_1,e_n)\\ (e_2,e_1) & (e_2,e_2) & \cdots & (e_2,e_n)\\ \vdots & \vdots & \ddots & \vdots\\ (e_n,e_1) & (e_n,e_2) & \cdots & (e_n,e_n)\\ \end{pmatrix} A= (e1,e1)(e2,e1)(en,e1)(e1,e2)(e2,e2)(en,e2)(e1,en)(e2,en)(en,en)
  公式中的 e 1 , e 2 , ⋯   , e n e_1,e_2,\cdots,e_n e1,e2,,en是任意一组基,一般情况下用自然基。有了度量矩阵后,计算内积就可以使用 ( α , β ) = α T A β (\alpha,\beta)=\alpha^TA\beta (α,β)=αTAβ来计算了。内积的度量矩阵必须是实对称正定矩阵。
  这个时候,用代码计算内积就非常容易了:

    # 内积
    @staticmethod
    def inner_product(vector1, vector2, matrix=None):
        a = Matrix(Matrix([vector1]).transpose())
        b = Matrix([vector2])
        # 如果没定义内积矩阵,则是标准内积
        if matrix is None:
            return (a * b).vectors[0][0]
        # 如果长度小了呢?
        return (a * matrix * b).vectors[0][0]

4 柯西-施瓦茨不等式

  这个不等式的内容就是:
( x ⋅ y ) ≤ ∥ x ∥ ∥ y ∥ (x\cdot y)\le \parallel x\parallel\parallel y\parallel (xy)≤∥x∥∥y
  公式里的范数是内积导出的范数, ∥ x ∥ = ( x , x ) \parallel x\parallel=\sqrt{(x,x)} x∥=(x,x)