MATLAB Answers

2*2 Matrix factorizat​ion/decomp​osition

4 views (last 30 days)
Aaron Zheng
Aaron Zheng on 22 Jul 2021
Edited: Matt J on 1 Aug 2021
Hi all, this is my first forum post on this community.
For my high-school essay relating to mathematics, I am looking at a specific problem relating to affine transformations and geometry. Using the affine2d and imwarp method, I was able to transform a coloured image according to a customised 3 by 3 matrix. The matrix I used was:
1 3 0
3 -4 0
1 1 1
I want to find out the combinations of shearing, scaling and rotation that eventually led to my linear mapping. Specifically, I want to find out what combination of the matrices listed below:
[1,0;
0,1],
[1,1;
0,1],
[1,0;
1,1],
and:
[0,1;
1,0],
Resulted in my linear mapping matrix of:
1 3
3 -4
which was used to transform my image.
I did some research and found out it should be possible, as all invertible matrices can be factorised to elementary matrices.I also found out what I wanted may have something to do with PLU(permuted lower upper decomposition), but am clueless to how to implement it.
Apologies if anything I wrote is incorrect or inaccurate. Any help would be greatly appreciated.
  1 Comment
Matt J
Matt J on 1 Aug 2021
Specifically, I want to find out what combination of the matrices listed below:
It is not clear in what sense the matrices are to be "combined". If you mean simply to multiply them together, note that because each of these matrices has determinant = +/-1, combinations of them multiplied together will also have determinant = +/-1. This means that a matrix like
1 3
3 -4
whos determinant is -13 cannot be decomposed this way.

Sign in to comment.

Answers (1)

Matt J
Matt J on 22 Jul 2021
Edited: Matt J on 22 Jul 2021
I also found out what I wanted may have something to do with PLU(permuted lower upper decomposition), but am clueless to how to implement it.
Easy enough to do with the lu() command:
[L,U,P]=lu([1 3;3 -4])
L = 2×2
1.0000 0 0.3333 1.0000
U = 2×2
3.0000 -4.0000 0 4.3333
P = 2×2
0 1 1 0
  1 Comment
Aaron Zheng
Aaron Zheng on 1 Aug 2021
But the U matrix [3.0 -4; 0 4.3333] is not a perfect shear. The diagonal values(3 and 4.333) are not equal to each other. Also L*U does not equal A, instead it equals P*A, which is a different matrix from A. Is it possible to get L*U to equal A instead?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by