Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How do I solve the following?

$F^T e' = \vec{0} $, where $F$ is a square 3x3 matrix, and $e$ is a 3-space vector.

My ansatz

If I prepend $F^{-T}$ on both sides I get:

$ F^{-T} F^T e'= F^{-T} \vec{0}$

Which is the trivial case $e' = \vec{0}$.

Does a solution from knowing only this equation exist? How would I find it? (Also, how would you google such a question?)

I am trying to solve a problem in computer vision. F is the fundamental matrix, and e' the epipole. I got this from p.246 of Hartley & Zisserman, Multiple View Geometry. By chance, that chapter is available online:

EDIT: This question originally revealed that F is of rank 2. Out of interest, I would still like to know, how to solve this if the rank was 3. (And not using Matlab...)

share|cite|improve this question
Unfortunately, as it's a 3-dimensional matrix of rank 2, it is not invertible. So you cannot do your inversion trick. – mixedmath Jul 28 '11 at 17:33
Okay, let's ignore that the rank is 2, how would I do it then? – Unapiedra Jul 28 '11 at 17:46
@Unapiedra: Solve by hand the equation $F^T e = 0$. This is a system of 3 equations in three unknowns. If the only solution that you find is $e=0$, then you have also proved that $rank(F)=3$. If not, then you obtain a basis for the nullspace of $F^T$. – Manos Jul 28 '11 at 17:52
up vote 2 down vote accepted

I don't have enough reputation for commenting: You can simply eliminate one of the rows of $F^T$ and obtain a $2\times 3$ matrix. Then the null space of that matrix is your subspace of solutions. Also, the subspace is spanned by an arbitrary element from this subspace. One immediate solution would be Matlab command e = null(F')

share|cite|improve this answer

Since $rank(F)=2$, there are infinitely many solutions, among which $e=0$ as well. In particular, the set of solutions is the Nullspace of $F$. This is a one-dimensional space spanned by some unit-norm vector $x$. You can find this vector easily at MATLAB using the command $x = null(F^T)$.

The nullspace of any $m \times n$ matrix $A$, denoted $N(A)$ is defined to be the set of vectors $\xi$ such that $A \xi =0$, which can easily be verified that it is a vector space. It is an important theorem (called rank-plus-nullity theorem) of linear algebra that $rank(A) + dimN(A) = n$, where $dimN(A)$ is the dimension of the nullspace. In our case, $m=n=3$ and the nullspace is one-dimensional.

From the rank-plus-nullity theorem if $rank(F^T)=3$, then $dimN(F^T)=0$, which implies that the only vector contained in $N(F^T)$ is the zero vector. So, in that case, you don't actually need to solve by hand the system of equations, because it follows from the theory that the only solution is the zero vector.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.