How can I reverse C = mpower(A,B)

조회 수: 2 (최근 30일)
Armich Lottering
Armich Lottering 2019년 4월 15일
답변: John D'Errico 2019년 4월 15일
For example: If I have x = mpower(A1,6), where A1 = [0 1 1 1 1 1; 0 0 1 1 1 1; 0 0 0 1 1 1; 0 0 0 0 1 1; 0 0 0 0 0 1; 0 0 0 0 0 0] ,then x = [0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0]. How can I Reverse this equation so that I determine the magnitude of the power? For example: 0 = A1^x, calculating x.

채택된 답변

John D'Errico
John D'Errico 2019년 4월 15일
Um, you can't. Information tossed into the bit bucket is irretrievably lost.
In your example, A1 is upper triangular, with 0 on the main diagonal. Powers of such a matrix will go to an identically zero matrix.
A1
A1 =
0 1 1 1 1 1
0 0 1 1 1 1
0 0 0 1 1 1
0 0 0 0 1 1
0 0 0 0 0 1
0 0 0 0 0 0
>> A1^2
ans =
0 0 1 2 3 4
0 0 0 1 2 3
0 0 0 0 1 2
0 0 0 0 0 1
0 0 0 0 0 0
0 0 0 0 0 0
>> A1^3
ans =
0 0 0 1 3 6
0 0 0 0 1 3
0 0 0 0 0 1
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
>> A1^6
ans =
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
As you can see, each successive power kills off one more diagonal. After the 6th power, it is all gone. That last is not only all zero, it is IDENTICALLY vzero.
There is no scheme in the universe that will then allow you to take a fully zero matrix, and then to infer what was some parent matrix that was in fact used to produce it, as there would be infinitely many such solutions. In fact, A1^7==A1^123. All are identically zero. So you cannot also infer what power was used, because any power of 6 or above would do the same on such a matrix.
You might want to do some reading about nilpotent matrices.
You can't get blood from a rock. Well, you can try, but the only blood you will see is that coming from your own knuckles as you pound away.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Denoising and Compression에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by