Filter löschen
Filter löschen

SVD of complex matrix to get the desired eigenvectors

21 Ansichten (letzte 30 Tage)
Weijie Qi
Weijie Qi am 17 Feb. 2022
Kommentiert: Weijie Qi am 17 Feb. 2022
Hello,
I am trying to do the singular value decomposition for a complex matrix , where S is the real diagonal matrix and U,V are unitary matrix . (* is conjugate only) Besides, is a normal matrix. I have tried to use the svd function on T and get . Then use the matrix V to calculate , and finally check with . However, I cannot get the correct matrix K.
1) when I use the svd function on normal matrix T,
[A,K,B]=svd(T)
I can not get the exactly B that , where i is the index of column. For some trivial eigenvalues near zero, . May I have some methods to mitigate this inaccuracy?
2) Is there an algorithm to calculate the desired eigenvectors of matrix ? Can I only try to map after the svd process?
Following is the matrix I used.
K=[-0.469586517065409 + 0.175378013674380i,-0.162669155608248 + 0.474138893683794i,0.187585296250523 + 0.464844814234381i,-0.0470935259817215 - 0.499050242461219i,0.501128494899033 - 0.0117973001242788i,-0.491929587334346 + 0.0963027818655986i,-0.491929587334346 + 0.0963027818655986i;-0.162669155608248 + 0.474138893683794i,0.263016111526474 + 0.426721770908734i,0.478226533722468 + 0.150227584463661i,-0.415448433490139 - 0.280484480498623i,0.309072541453745 - 0.394643014393155i,-0.237946127637339 + 0.441192231382635i,-0.237946127637339 + 0.441192231382635i;0.187585296250523 + 0.464844814234381i,0.478226533722468 + 0.150227584463661i,0.459785835505823 - 0.199664544068809i,-0.497649694446211 + 0.0601142770694749i,-0.0248843875256234 - 0.500649290369484i,0.109120724497475 + 0.489245962860338i,0.109120724497475 + 0.489245962860338i;-0.0470935259817215 - 0.499050242461219i,-0.415448433490139 - 0.280484480498623i,-0.497649694446211 + 0.0601142770694749i,0.494104399695533 + 0.0844380654178533i,-0.119058443001582 + 0.486923024553196i,0.0350717196883265 - 0.500038917653513i,0.0350717196883265 - 0.500038917653513i;0.501128494899033 - 0.0117973001242788i,0.309072541453745 - 0.394643014393155i,-0.0248843875256234 - 0.500649290369484i,-0.119058443001582 + 0.486923024553196i,-0.477319052929875 - 0.153086467070477i,0.496322714229578 + 0.0702332402056026i,0.496322714229578 + 0.0702332402056026i;-0.491929587334346 + 0.0963027818655986i,-0.237946127637339 + 0.441192231382635i,0.109120724497475 + 0.489245962860338i,0.0350717196883265 - 0.500038917653513i,0.496322714229578 + 0.0702332402056026i,-0.501053513999558 + 0.0146396994056337i,-0.501053513999558 + 0.0146396994056337i;-0.491929587334346 + 0.0963027818655986i,-0.237946127637339 + 0.441192231382635i,0.109120724497475 + 0.489245962860338i,0.0350717196883265 - 0.500038917653513i,0.496322714229578 + 0.0702332402056026i,-0.501053513999558 + 0.0146396994056337i,-0.501053513999558 + 0.0146396994056337i];
Any help would be highly appreciated!
  2 Kommentare
Christine Tobler
Christine Tobler am 17 Feb. 2022
It looks like what you have here with is a complex symmetric eigenproblem. Unfortunately, there aren't as many algorithms available for this as for the complex hermitian eigenproblem, so MATLAB's eig doesn't have a special-case treatment for this case.
The svd function doesn't account for the possibility of any symmetry in the input that would make it possible to have U and V be the same or the same up to conjugation.
Weijie Qi
Weijie Qi am 17 Feb. 2022
I get it. Thank you very much for your help.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

John D'Errico
John D'Errico am 17 Feb. 2022
K=[-0.469586517065409 + 0.175378013674380i,-0.162669155608248 + 0.474138893683794i,0.187585296250523 + 0.464844814234381i,-0.0470935259817215 - 0.499050242461219i,0.501128494899033 - 0.0117973001242788i,-0.491929587334346 + 0.0963027818655986i,-0.491929587334346 + 0.0963027818655986i;-0.162669155608248 + 0.474138893683794i,0.263016111526474 + 0.426721770908734i,0.478226533722468 + 0.150227584463661i,-0.415448433490139 - 0.280484480498623i,0.309072541453745 - 0.394643014393155i,-0.237946127637339 + 0.441192231382635i,-0.237946127637339 + 0.441192231382635i;0.187585296250523 + 0.464844814234381i,0.478226533722468 + 0.150227584463661i,0.459785835505823 - 0.199664544068809i,-0.497649694446211 + 0.0601142770694749i,-0.0248843875256234 - 0.500649290369484i,0.109120724497475 + 0.489245962860338i,0.109120724497475 + 0.489245962860338i;-0.0470935259817215 - 0.499050242461219i,-0.415448433490139 - 0.280484480498623i,-0.497649694446211 + 0.0601142770694749i,0.494104399695533 + 0.0844380654178533i,-0.119058443001582 + 0.486923024553196i,0.0350717196883265 - 0.500038917653513i,0.0350717196883265 - 0.500038917653513i;0.501128494899033 - 0.0117973001242788i,0.309072541453745 - 0.394643014393155i,-0.0248843875256234 - 0.500649290369484i,-0.119058443001582 + 0.486923024553196i,-0.477319052929875 - 0.153086467070477i,0.496322714229578 + 0.0702332402056026i,0.496322714229578 + 0.0702332402056026i;-0.491929587334346 + 0.0963027818655986i,-0.237946127637339 + 0.441192231382635i,0.109120724497475 + 0.489245962860338i,0.0350717196883265 - 0.500038917653513i,0.496322714229578 + 0.0702332402056026i,-0.501053513999558 + 0.0146396994056337i,-0.501053513999558 + 0.0146396994056337i;-0.491929587334346 + 0.0963027818655986i,-0.237946127637339 + 0.441192231382635i,0.109120724497475 + 0.489245962860338i,0.0350717196883265 - 0.500038917653513i,0.496322714229578 + 0.0702332402056026i,-0.501053513999558 + 0.0146396994056337i,-0.501053513999558 + 0.0146396994056337i];
format long g
svd(K)
ans = 7×1
3.50887136980107 1.86578569609242e-15 9.79746721914011e-16 6.85329314059033e-16 4.27828408846602e-16 2.97234766540242e-16 7.60468150321396e-47
This matrix is effectively a rank 1 matrix. It has essentially zero singular values below the first. So effectively numerically rank 1. How you constructed that matrx, I don't know. But in terms of the elements you have provided. you cannot do better than that.
I think you do not understand that the corresponding singular vectors are not unique. When a matrix has replicated singular values (or eigenvalues) then the vectors only are such that they span the same supspace. But nothign you do will make them unique.
Sorry, but no magic exists.
  1 Kommentar
Weijie Qi
Weijie Qi am 17 Feb. 2022
Sorry, it seems that you misunderstand my question. I know the vector space they will span and I am trying to find the one in this space I desired.
While I am stuck in the function just now personally, only the eigenvectors for the primary singular values matter for me. Thank you very much for your repsonse.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

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

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by