首先什么是自由度

先看看维基百科)的解释:数学上,自由度是一个随机向量的维度数,也就是一个向量能被完整描述所需的最少单位向量数。举例来说,从电脑屏幕到厨房的位移能够用三维向量矩阵的自由度(degrees of freedom) - 图1来描述,因此这个位移向量的自由度是3。自由度也通常与这些向量的坐标平方和,以及卡方分布中的参数有所关联。

那为什么不用矩阵的自由度(degrees of freedom) - 图2(假设矩阵的自由度(degrees of freedom) - 图3为电脑屏幕到厨房方向的单位向量)来表示呢?在这个例子里,位移是三维空间的位移,在三维空间位移这个约束下,最少需要三个方向向量的多项式和才能表示三维空间中所有的位移,而电脑屏幕到厨房是特例,只用矩阵的自由度(degrees of freedom) - 图4不能表示三维空间中的其他位移。

再看例子:

  • 若存在两个变量a和b,而a+b=6,那么他的自由度为1。因为其实只有a才能真正的自由变化,b会被a选值的不同所限制。在这个例子中a+b=6就是约束。满足这个约束的情况下,自由度只有1,另一个变量值会根据约束确定。

那么我个人总结,自由度是n个变量在某个约束的情况下,能够自由变化的最少变量个数m为该约束下的自由度。

什么是矩阵的自由度?

原文请看这里:英文原文
有几种方式来思考矩阵的自由度。

考虑一个m*n的矩阵。这个矩阵有mn个元素/变量。我们可以改变mn个数值来构造处mn个互相不同的矩阵,所以它有mn个自由度。

如果我们有一个上三角矩阵,维度是m*m,自由度等于多少?我们知道在这个矩阵里很多值都是0,实际上只有矩阵的自由度(degrees of freedom) - 图5个非0元素/变量,所以这个值就是上三角矩阵的自由度。

如果我们有一个22的旋转矩阵,自由度等于多少?这对矩阵中可能的值施加了巨大的限制。确实,一旦其中一个值确定了之后,其他的所有值都被确定了。这个旋转矩阵只有一个自由度。从几何的角度很容易看出来:一个22的旋转矩阵只能旋转一个角度,所以1就是它的自由度。