| Thread Closed |
Solving vv^T = M |
Share Thread | Thread Tools |
| Nov8-08, 07:59 AM | #1 |
|
|
Solving vv^T = M
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 |
| Nov8-08, 08:10 AM | #2 |
|
|
You can always try the 2x2 case first, if you want to start smaller.... |
| Nov8-08, 08:12 AM | #3 |
|
|
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 |
| Nov8-08, 09:01 AM | #4 |
|
|
Solving vv^T = M
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. |
| Nov8-08, 09:04 AM | #5 |
|
|
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 |
| Nov8-08, 02:13 PM | #6 |
|
|
(or even having discovered it from just writing out a few of the equations in the 200x1 case) |
| Nov9-08, 09:17 AM | #7 |
|
|
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 |
| Nov9-08, 09:45 AM | #8 |
|
|
As an aside, I wouldn't be surprised if Matlab already has a built-in function that computes what you want (if it exists). |
| Thread Closed |
| Thread Tools | |
Similar Threads for: Solving vv^T = M
|
||||
| Thread | Forum | Replies | ||
| i am solving a PDE | Calculus & Beyond Homework | 2 | ||
| please help how do i go about solving this?? | Introductory Physics Homework | 25 | ||
| solving for x | General Math | 12 | ||
| Help for solving for C and F please | General Physics | 3 | ||
| Help with solving for C please... | Calculus | 1 | ||