How to Solve for a 3x3 Matrix Using A and B Vectors?

  • Context: Undergrad 
  • Thread starter Thread starter DivGradCurl
  • Start date Start date
  • Tags Tags
    3x3 Matrix
Click For Summary

Discussion Overview

The discussion revolves around solving for a 3x3 matrix M in the equation M*A = B, where A and B are 3x1 vectors. Participants explore issues related to reconstructing the matrix using data, linear independence of vectors, and the functionality of Mathematica and Matlab in this context.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant expresses difficulty in reconstructing the matrix M despite having 9 pairs of A and B vectors, suggesting a potential oversight in linear algebra principles.
  • Another participant suggests that as long as the vectors are linearly independent, full reconstruction should be possible.
  • A participant describes their attempt to use Mathematica's Solve function and indicates confusion over receiving empty brackets as a response.
  • One participant notes that using too many vectors may lead to linear dependence and rounding errors, which could result in an undetermined system.
  • Another participant emphasizes the necessity of using three linearly independent vectors to reconstruct the matrix.
  • One participant acknowledges the need for linearly independent vectors and expresses a desire to find a method to work with linearly dependent vectors, mentioning pseudo-inverse techniques.
  • A later reply discusses the non-uniqueness of the solution, illustrating that various transformations can yield different matrices based on the vectors used.

Areas of Agreement / Disagreement

Participants generally agree on the importance of using linearly independent vectors for matrix reconstruction, but there are competing views on how to handle situations with linearly dependent vectors and the implications for the uniqueness of the solution.

Contextual Notes

Participants mention potential issues with numerical rounding errors and the need for specific vector choices, but do not resolve the mathematical steps or assumptions underlying their claims.

DivGradCurl
Messages
364
Reaction score
0
Hi all,

I have this data that can be described by M*A = B, where M is a 3x3 matrix and A and B are 3x1 vectors.

Since I know and can collect A and B data, and I have 9 unknowns in the 3x3 matrix, I thought that collecting 9 pairs of A and B vectors would yield the matrix M's coefficients via 9 equations.

However, it has not been the case. For whatever reason, I'm not getting those coefficients. Is there something you recommend looking into?

I have both Mathematica and Matlab. It's very possible I'm not considering or overlooking a linear algebra principle. I just tried Solve in Mathematica, and I get { }, which is a meaningless, or better :confused: response!

Thank you
 
Physics news on Phys.org
How are you trying to reconstruct the matrix? As long as your choices of the vectors the matrix act on is linearly independent you should be able to make a full reconstruction.

Another possibility is that your Mathematica code is wrong.
 
Hi,

I'm trying to reconstruct the matrix M with Mathematica's Solve[ ]:

The vectors are basically (x, y ,z) and (x' , y' , z') coordinates

Screen_Shot_2016_04_06_at_9_47_43_PM.png


And the data behind this mess is here - shown in (x,y,z) row sets - where the "M4" and "IF" would be like A and B in M*A = B. The data looks linearly independent:

Screen_Shot_2016_04_06_at_9_48_15_PM.png


So, I don't know why I'm getting those empty brackets in Mathematica. Maybe I should explicitly write each equation, but I'm assuming Mathematica can handle that.
 
I managed to find a number of the elements by rewriting my Solve[ ] call:

Screen_Shot_2016_04_06_at_10_08_08_PM.png


And, as you can see above, I'm left with the first column vector within M, i.e. [m11; m21; m31], left to be determined.

To be honest, I don't understand why I have those 3 elements left to be determined. Using vector rows beyond row 2 (i.e. k > 2) are giving open brackets solutions.

Mathematica! :nb)
 
You are using too many vectors and so they are not linearly independent. Since you have numerical values you are likely getting rounding errors, making the system undetermined. Since you have only used vectors with x value zero, you are getting an undetermined first column.

You need to use three linearly independent vectors.
 
I get you; makes sense now! I also see what you mean by the three linear independent vectors as [1; 0; 0], [0; 1; 0], and [0;0;1]. They give away 3 columns of M.

Too bad the system I'm crunching this data through doesn't have that level of direct control, so I need to get as close as possible to those 3 vectors for "A" in M*A = B. Hard to predict I will get those vectors, but I'll try. If I do, I will have the "B" vectors as well, and it will be the end of it.

Do you happen to know if there is a hack "brute force" method :smile: with linearly dependent vectors? I would guess MATLAB has something like this. Reminds me of pseudo-inverse techniques, but I'm not looking for an inverse.
 
No, if you do not have three linearly independent vectors you do not have enough information to reconstruct the matrix.

Note: They do not need to be orthogonal, just linearly independent.
 
Oroduin is correct. There is no unique answer. For example taking the cross product between the two vector yields another vector. A orthogonal rotation about this vector axis by 90 degrees will transform one vector into the other. That is one way to get a matrix. However, you could equally well take a unit vector in the direction a + b. This yields another vector c. Now a rotation of 180 degrees about c transforms a into a multiple of b. Now rescale the matrix to transform a into b.
 
Sorry, I misunderstood
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
4K
  • · Replies 33 ·
2
Replies
33
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 8 ·
Replies
8
Views
3K
Replies
2
Views
2K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K