# Is A./B different from B.\A?

123 views (last 30 days)

Show older comments

Given two matrices, A and B, will A./B ever give a different answer from B.\A, or are these two expressions equivalent?

It seems that even for complex numbers they return the same thing. E.g.

>> A = sqrt(randn(3));

>> B = sqrt(randn(3));

>> isequal(A./B, B.\A)

ans = 1

### Accepted Answer

James Tursa
on 17 Jun 2015

I can't think of any reason why one would ever get different results for numeric types. I suppose there might be speed differences if one form used multi-threading and the other form didn't, but in tests I just ran they both appeared to take about the same amount of time.

User defined classes could of course overload them differently.

##### 6 Comments

James Tursa
on 29 Oct 2021

Edited: James Tursa
on 29 Oct 2021

Yes, your expectations are correct. For the MATLAB toolbox quaternion class objects, the q./p and p.\q operations are implemented as expected by multiplying by the inverse, and since multiplication is non-commutative you get different results.

>> x = rand(1,4)-0.5; x = x/norm(x); q = quaternion(x);

>> x = rand(1,4)-0.5; x = x/norm(x); p = quaternion(x);

>> q

q =

quaternion

-0.62168 + 0.46748i + 0.58112j + 0.23933k

>> p

p =

quaternion

0.64169 + 0.60532i - 0.26832j + 0.38709k

>> q./p

ans =

quaternion

-0.17923 + 0.38713i + 0.24217j + 0.87141k

>> p.\q

ans =

quaternion

-0.17923 + 0.96545i + 0.17j - 0.082977k

>> q*conj(p)

ans =

quaternion

-0.17923 + 0.38713i + 0.24217j + 0.87141k

>> conj(p)*q

ans =

quaternion

-0.17923 + 0.96545i + 0.17j - 0.082977k

>> which quaternion

C:\Program Files\MATLAB\R2020a\toolbox\shared\rotations\rotationslib\@quaternion\quaternion.m % quaternion constructor

Note that the / and \ operators are not implemented for this class:

>> q/p

Error using /

Arguments must be numeric, char, or logical.

>> p\q

Error using \

Arguments must be numeric, char, or logical.

### More Answers (2)

Alberto
on 17 Jun 2015

H. Sh. G.
on 28 Sep 2021

Hi every body.

I wonder what kind of calculations the division of a matrix (X) by a row vector (y), i.e. X/y, does, where both have the same number of columns.

The result is a column vector of the same number of rows that X has.

Recall that X./y divides all elements of each column in X by the element of y in the same column, resulting in a matrix with the same size of X.

##### 4 Comments

### See Also

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!