Solving vv^T = M: Solve Unknown Vector & Matrix Equation

  • Context: Graduate 
  • Thread starter Thread starter daviddoria
  • Start date Start date
Click For Summary

Discussion Overview

The discussion revolves around solving the matrix equation \( vv^T = M \), where \( v \) is an unknown vector and \( M \) is a known matrix. Participants explore methods for deriving \( v \) from \( M \), considering both theoretical and practical approaches, including potential applications in computer vision.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • Some participants note that the equation \( vv^T = M \) leads to 9 equations for the 3x1 case, questioning how to solve it efficiently without manually writing each equation.
  • Others suggest starting with a smaller case, such as 2x2, to identify patterns before tackling larger dimensions.
  • It is pointed out that the mapping from \( v \) to \( M \) is not one-to-one, meaning multiple vectors can yield the same matrix, and it is also not onto, as not all matrices can be represented as \( vv^T \).
  • One participant mentions that in the context of computer vision, there are known to be 4 solutions for specific cases of \( M \), indicating that multiple solutions exist and must be evaluated for physical realizability.
  • Another participant identifies a pattern in the structure of \( vv^T \), noting that diagonal entries correspond to \( v_i^2 \) and off-diagonal entries to \( v_{ij} \), and questions how to solve this using matrix techniques in MATLAB.
  • There is a discussion about the non-linear nature of the problem and the potential use of MATLAB's capabilities, including square roots and divisions, to find solutions.

Areas of Agreement / Disagreement

Participants express differing views on the feasibility of solving the equation without writing out all equations, with some advocating for pattern recognition and others emphasizing the challenges posed by non-linearity and the nature of the mapping. The existence of multiple solutions is acknowledged, but the methods for finding these solutions remain contested.

Contextual Notes

Participants highlight limitations in the mapping from \( v \) to \( M \), including issues of non-uniqueness and the requirement for \( M \) to be symmetric. The discussion also reflects uncertainty regarding the applicability of linear algebra techniques to this non-linear problem.

Who May Find This Useful

Readers interested in matrix equations, computer vision applications, and those looking for methods to solve non-linear systems in MATLAB may find this discussion relevant.

daviddoria
Messages
96
Reaction score
0
I have a known matrix M and an unknown vector outer product: ie v is 3x1 unknown and M is 3x3 known. Clearly there are 9 equations (each entry in vv^T must equal the corresponding entry in M) - but how do you solve this without manually writing those equations?

Thanks,

Dave
 
Physics news on Phys.org
daviddoria said:
I have a known matrix M and an unknown vector outer product: ie v is 3x1 unknown and M is 3x3 known. Clearly there are 9 equations (each entry in vv^T must equal the corresponding entry in M) - but how do you solve this without manually writing those equations?

Thanks,

Dave

Sheesh, it's only 9 of them! It won't take long -- and if you do so and then try to solve them, a shorter method should present itself.

You can always try the 2x2 case first, if you want to start smaller...
 
The idea of not just writing it out and looking for a pattern is that even if I see one, should the same problem arise in the 200x1 vector case I am clearly not going to write it out then - I know there are some fancy operators (ie Kroneker product) that do stuff like this and I was hoping someone would have a nice explanation in a "one sentence" kind of math statement instead of writing a big loop or something like I would do.

Dave
 
There are two problems with solving vvT= M:

1) The mapping is not one-to-one. Different v may give the same M.

2) The mapping is not onto. Since vvT is necessarily symmetric, for most M there is NO v such that vvT= M.
 
HallsofIvy: you are exactly right. However, in this case I am looking for multiple solutions and I know that M is such that these solutions exist.

This is a problem in computer vision - namely 3d reconstruction from two images. It is known that there are 4 solutions to vv^T = M in this case, so you are supposed to get the 4 solutions and then decide which one is physically realizable.

Dave
 
daviddoria said:
The idea of not just writing it out and looking for a pattern is that even if I see one, should the same problem arise in the 200x1 vector case I am clearly not going to write it out then
... because you already know a pattern, having discovered it by studying the 3x1 case.

(or even having discovered it from just writing out a few of the equations in the 200x1 case)
 
Ok so I see the pattern...
v_i ^2 on the diagonal and v_ij in the off diagonal entries. Now the problem remains - how do you solve this using matrix techniques (ie in Matlab)? It is now non-linear so I guess there is no chance of doing this (ie. Linear algebra)?

Dave
 
daviddoria said:
Ok so I see the pattern...
v_i ^2 on the diagonal and v_ij in the off diagonal entries. Now the problem remains - how do you solve this using matrix techniques (ie in Matlab)? It is now non-linear so I guess there is no chance of doing this (ie. Linear algebra)?

Dave

Well, it's a quadratic equation, so it would be unlikely that it could be solved purely by solving linear systems. But MATLAB let's you take square roots, doesn't it? So all that's left is to work out what the signs are supposed to be. Incidentally, I think (but am not sure) there's another trick you can do to avoid having to do even that much work -- I think you can manage by just doing a couple divisions for each element of v.



As an aside, I wouldn't be surprised if Matlab already has a built-in function that computes what you want (if it exists).
 

Similar threads

  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 12 ·
Replies
12
Views
17K