双线性函数
线性代数里的双线性函数,是将定义在域F上的线性空间里的两个变量,映射为一个域F上的一个元素。它必须要符合以下四个要求,才能叫做双线性函数:
- 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)
- f ( u 1 + u 2 , w ) = f ( u 1 , w ) + f ( u 2 , w ) f(\bold u_1+\bold u_2,\bold w)=f(\bold u_1,\bold w)+f(\bold u_2,\bold w) f(u1+u2,w)=f(u1,w)+f(u2,w)
- 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)
- 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,而是直接一对括号就可以了。
- 对称性, ( u , w ) = ( w , u ) (\bold u,\bold w)=(\bold w,\bold u) (u,w)=(w,u)
- 正定性, ( 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β来计算了。内积的度量矩阵必须是实对称正定矩阵。
这样不好记忆,毕竟记住一个矩阵不容易,有一个特别简单的公式用来记忆:
A
i
j
=
(
e
i
,
e
j
)
A_{ij}=(e_i,e_j)
Aij=(ei,ej)
也就是说第i行第j列元素的值就是第i个基和第j个基做双线性运算。
这个时候,用代码计算内积就非常容易了:
# 内积
@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
(x⋅y)≤∥x∥∥y∥
公式里的范数是内积导出的范数,
∥
x
∥
=
(
x
,
x
)
\parallel x\parallel=\sqrt{(x,x)}
∥x∥=(x,x)。
5 度量矩阵基的变换
不同基下的度量矩阵是不一样的。而这个问题,可以在我的另一篇文章8.4 矩阵的合同里看到。