Register to reply 
AxB=B ?by yazid12111980
Tags: axbb 
Share this thread: 
#1
Sep611, 08:53 AM

P: 3

Hello, This my first post .. I hope to find someone can help me.
My question: Assume that we have a 3x3 matrix B, is there a matrix A such that AxB=B ?? Thanks 


#2
Sep611, 08:56 AM

Mentor
P: 18,040

Take A the identity matrix. That is, take
[tex]A=\left(\begin{array}{ccc} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1 \end{array}\right)[/tex] 


#3
Sep611, 08:57 AM

P: 3

I tried that .. it doesnt work for cross product !!



#4
Sep611, 09:03 AM

P: 3

AxB=B ?
Its not a multiplication .. its a cross product. For example:
A = 1 2 3 4 5 6 7 8 9 >> B=eye(3) B = 1 0 0 0 1 0 0 0 1 >> cross(B,A) ans = 0 8 6 7 0 3 4 2 0 ??? 


#6
Sep611, 10:57 AM

P: 174

This is a pretty good website to show you how to do matrix multiplication. Put in the matrices and they'll show you the working.
http://easycalculation.com/matrix/ma...iplication.php 


#7
Sep611, 11:48 AM

Mentor
P: 15,066

[tex](A\times B)_{ij} = \sum_k A_{ik} B_{kj}[/tex] Interpreting A×B to mean Matlab's cross(A,B) when A and B are matrices is extremely nonstandard. 


#8
Sep611, 11:50 AM

P: 1

Cross products for matrices can be done in Matlab, and it seems to be defined as several cross products in the matrix. Are you sure this is what you want? I have never seen this before. AxB has always been ordinary matrix multiplication.



#9
Sep611, 06:24 PM

P: 313

@Yazid: I'm not sure there is even a sensible way to define a cross product for matrices in 3 dimensions. The closest you can probably get to it is just the matrix commutator. It's a antisymmetric product that takes two matrices and returns a matrix.
Then [A,B] = B is basically an eigenvalue problem for the adjoint representation of A... where you've been given an eigenvector (B) and need to find an operator (ad(A)) with that eigenvector. 


#10
Sep611, 07:02 PM

P: 313

Actually, matlab does cross products on arrays of 3d vectors.
It works something like (I don't have matlab, so I can't be sure) So if A = (a_{1},a_{2},...,a_{n}) and B=(b_{1},b_{2},...,b_{n}) with a_{i} and b_{i} 3d vectors, then cross(A,B) = ( cross(a_{1},b_{1}), cross(a_{2},b_{2}), ..., cross(a_{n},b_{n}) ) In Mathematica, the example provided can be written as
cross(A,B)=B ==> (a_{1}xb_{1}, a_{2}xb_{2}, a_{3}xb_{3}) = (b_{1}, b_{2}, b_{3}) which requires that a_{i}xb_{i}=b_{i}, something that is never true... 


#11
Sep611, 08:30 PM

Sci Advisor
P: 820




#12
Sep611, 09:06 PM

P: 313

@pwsnafu
I couldn't get Thread to work without Cross complaining about its arguments  although the error messages can be suppressed. Overall, I found that a combination of Apply at level 1 (@@@) the fastest, but not by much. Table is definitely the clearest to someone who is not used to functional programming. Here's some timings using my custom TimeAv function. The FullForm of Transpose, instead of its typeset form, definitely makes the whole thing less readable...



Register to reply 