How to find matrix S, given by this equation

6 Ansichten (letzte 30 Tage)
NA
NA am 24 Apr. 2022
Kommentiert: Bruno Luong am 24 Apr. 2022
I have matrix L and the right-hand side of equation below.
How can I get matrix S?
All the matrices are square matrix.
  1 Kommentar
Bruno Luong
Bruno Luong am 24 Apr. 2022
L must have rank<n Do we know something else, such a is L Hermitian? Same question for J.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

John D'Errico
John D'Errico am 24 Apr. 2022
There is no unique solution. Or, there may be no solution at all.
This looks vaguely like an algebraic Riccati equation. Your problem is of the general form
inv(S)*L*S = J
Where S is the unknown matrix. If the matrix S has an inverse, then L must have the same rank as your right hand side matrix. And we know that the right hand side matrix (J) is rank deficient.
First, make up a random problem.
J = zeros(4,4);
Jdel = magic(3);
J(2:end,2:end) = Jdel
J = 4×4
0 0 0 0 0 8 1 6 0 3 5 7 0 4 9 2
So the right hand side is a matrix of the indicated form. Now I'll choose a known non-singular matrix S. Here is a simple one:
S0 = toeplitz(1:4)
S0 = 4×4
1 2 3 4 2 1 2 3 3 2 1 2 4 3 2 1
L = S0*J*inv(S0)
L = 4×4
24.6000 -14.5000 -12.0000 10.1000 15.6000 -7.0000 -12.0000 8.6000 15.8000 -14.5000 -0.0000 3.3000 20.4000 -23.0000 12.0000 -2.6000
So the above problem must satisfy the equation: inv(S)*L*S==J. A solution MUST exist.
Now the problem becomes, given only J and L, can we recover S? I'll pretend I do not know the matrix S0.
Can we find a solution of the form L*S = S*J? Note that I have implicitly left multiplied by S to arrive at that form. But as long as S is non-singular, that is legal, and since you want a solution where S has an inverse, then S MUST be non-singular.
The solution is not too nasty. It uses what I long ago called the kron trick.
n = size(J,1);
M = kron(eye(n),L) - kron(J.',eye(n));
Note that M will be a singular matrix. The problem is, in this case M will have rank n^2-n, not just n^2-1.
rank(M)
ans = 12
We need to solve a homogeneous linear system now.
Mnull = null(M)
Mnull = 16×4
0 0 0 0.1826 0 0 0 0.3651 0 0 0 0.5477 0 0 0 0.7303 0.3545 0.1064 0.4677 0 0.3832 0.0768 0.3446 0 -0.2137 0.0748 0.1605 0 -0.4979 0.0412 0.1480 0 -0.3146 0.4670 0.2255 0 -0.2860 0.4375 0.1024 0
ANY linear combination of the columns of Mnull will suffice. So I will choose some random linear combination.
S = reshape(Mnull*randn(n,1),n,n)
S = 4×4
0.0332 -0.6289 0.0447 1.1861 0.0664 -0.6958 -0.0222 1.1192 0.0996 0.3750 -0.4935 0.4529 0.1327 0.9633 0.2897 -0.8517
Does this solve your problem? Well, yes. Sort of. But it is not a unique solution to that problem in any form.
norm(inv(S)*L*S - J)
ans = 1.3825e-13
Which results in floating point trash. So we have recovered a solution, but not the one I started with. The point is, again, there is no unique solution. And had I not been careful in how I created L then no solution at all may have existed.

Weitere Antworten (2)

Torsten
Torsten am 24 Apr. 2022
L is NxN and 0_(N-1) is (N-1)x1 ? J_delta is a full (N-1)x(N-1) matrix ?
Then use the eigenvector corresponding to the eigenvalue 0 of L to build S.
  2 Kommentare
NA
NA am 24 Apr. 2022
L is N*N and J is also N*N and J -delta is n-1*n-1.
I do not understand your answer.
Torsten
Torsten am 24 Apr. 2022
Ok, if J_delta is a given matrix, forget my answer.

Melden Sie sich an, um zu kommentieren.


Sam Chak
Sam Chak am 24 Apr. 2022
@NA, thanks for your clarification on the dimensions.
Is this some kind of a Linear Algebra problem?
It seems that the square matrix L is unique, and has to satisfy certain conditions.
For example, say the matrix is given by
L = [0 1 0; 0 0 1; 0 -6 -5]
L =
0 1 0
0 0 1
0 -6 -5
Then, the eigenvalues of matrix are
s = eig(L)
s =
0
-2.0000
-3.0000
Next, the matrix is constructed from the eigenvalues such that
S = [1 1 1; s(1) s(2) s(3); s(1)^2 s(2)^2 s(3)^2]
S =
1.0000 1.0000 1.0000
0 -2.0000 -3.0000
0 4.0000 9.0000
Finally, we can test if is a diagonal matrix where the diagonal elements are the eigenvalues of matrix :
D = S\L*S
D =
0 0.0000 0.0000
0 -2.0000 -0.0000
0 0.0000 -3.0000
Only a centain square matrix can produce such diagonal matrix. For example:
L = [0 1 0; 0 0 1; 0 -15 -8]
L =
0 1 0
0 0 1
0 -15 -8

Kategorien

Mehr zu Linear Algebra finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by