# 关于矩阵自由度的解释

1.矩阵的自由度的定义

There are several different ways to think about degrees of freedom of a matrix.

Consider a m×n matrix. This matrix has mn entries. We can change mn values in this matrix to make mn unique matrices, so it has mn degrees of freedom.

What if we had a square m×m matrix that we knew was upper triangular? Well then, we know that several values in the matrix are 0. There are actually only m+m−1+⋯+2+1 nonzero entries, and so that's the number of the degrees of freedom of the matrix.

What is we had a 2×2 matrix that we knew was a rotation matrix? That puts huge constraints on the possible values in the matrix. Indeed, once one of the values is chosen, then all other values have been decided. There is only one degree of freedom in this matrix. This is easy to see geometrically; a rotation matrix on R2 can only rotate by an angle, which is its degree of freedom.

What if we had "equivalence classes"? What if we knew that all scalings of any matrix were equivalent. How many degrees of freedom do we have left? For any matrix, when the (1,1) element is non-zero, we can divide all elements of the matrix by the first element to make it 1. So if we had two matrices A and B=2A, when we scaled these matrices so that their first elements were 1, we'd see that they were equivalent. And thus, we've eliminated a degree of freedom. This is the case with homographies. So, for a 3×3 homography matrix, there are only 8 degrees of freedom. These degrees of freedom can also be interpreted geometrically.

In nn dimensions you have 1/2n(n−1) degrees of freedom.

One argument goes like these lines: In nn dimensions a rotation matrix R has n^2 degrees of freedom. Rotations preserve the dot products of vectors. So utv=utRtRv for any vectors u and v and so RtR=I.

That's n^2 equations. But those below the diagonal are the same as those above. So we only have 1/2n(n+1) equations leaving 1/2n(n−1) degrees of freedom.

There's actually one more constraint: rotations need to preserve volume so detR=1.

You can already deduce (detR)2=1 from RtR=I so this extra constraint doesn't reduce the degrees of freedom, it just cuts the space in half. A full proof requires showing that the remaining equations are algebraically independent.

2.方程自由度的定义

The degrees of freedom is used when you have more variables than equations and the degrees of freedom is how many more variables you have than equations. So if you have 10 variables and 7 equations you have 3 degrees of freedom. I.e. 3 of the variables can assume whatever value you want and for any given choice of values for these 3 variables the remaining 7 have a specific value for a solution.

I.e. the number of equations + the degree of freedom always gives you how many variables you have.

If the number of equations are more than the number of variables you don't have any freedom and the system of equations are typically not solvable at all.

If you do have degrees of freedom, you typically need to find some additional constraint that can add additional equations. The idea is to have exactly the same number of equations as variables in which case there is one and only one solution. This is under the assumption that the equations are linearly independent. You must first remove all linearly dependent equations before you count the degrees of freedom.

For example: 2x + 3y = 5 and 4x + 6y = 10 are two equations but they are not linearly independent so when you remove one you see that you have only one equation with two variables so you have one equation and one degree of freedom.

3. 举例

These are the two basic constraints on the intrinsic parameters, given one homography. Because a
homography has 8 degrees of freedom and there are 6 extrinsic parameters (3 for rotation and 3 for
translation), we can only obtain 2 constraints on the intrinsic parameters.

posted @ 2018-09-27 15:59  IT屁民  阅读(7500)  评论(0编辑  收藏  举报