Register to reply 
Solving vv^T = Mby daviddoria
Tags: solving 
Share this thread: 
#1
Nov808, 07:59 AM

P: 97

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 


#2
Nov808, 08:10 AM

Emeritus
Sci Advisor
PF Gold
P: 16,099

You can always try the 2x2 case first, if you want to start smaller.... 


#3
Nov808, 08:12 AM

P: 97

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 


#4
Nov808, 09:01 AM

Math
Emeritus
Sci Advisor
Thanks
PF Gold
P: 39,338

Solving vv^T = M
There are two problems with solving vv^{T}= M:
1) The mapping is not onetoone. Different v may give the same M. 2) The mapping is not onto. Since vv^{T} is necessarily symmetric, for most M there is NO v such that vv^{T}= M. 


#5
Nov808, 09:04 AM

P: 97

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 


#6
Nov808, 02:13 PM

Emeritus
Sci Advisor
PF Gold
P: 16,099

(or even having discovered it from just writing out a few of the equations in the 200x1 case) 


#7
Nov908, 09:17 AM

P: 97

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 nonlinear so I guess there is no chance of doing this (ie. Linear algebra)? Dave 


#8
Nov908, 09:45 AM

Emeritus
Sci Advisor
PF Gold
P: 16,099

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


Register to reply 
Related Discussions  
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 