IMSL diagonalizing a general complex matrix (DEVCCG)

Click For Summary

Discussion Overview

The discussion revolves around the challenges faced when using the DEVCCG algorithm to diagonalize general complex matrices. Participants explore the conditions under which certain matrices may not be diagonalizable and the implications of these issues in practical applications, particularly in the context of calculating band structures in superlattices.

Discussion Character

  • Exploratory, Technical explanation, Debate/contested

Main Points Raised

  • One participant reports that DEVCCG hangs without returning an error code when attempting to diagonalize certain complex matrices, suggesting potential convergence issues in the iterative process.
  • Another participant inquires whether the problem occurs with all matrices or only specific ones, recommending testing with simpler matrices that have known solutions.
  • A participant identifies that general complex matrices can be defective and not always diagonalizable, particularly in cases of eigenvalue degeneracies, which may lead to the algorithm failing to converge.
  • It is mentioned that the DEVCCG algorithm uses similarity transformations to achieve diagonalization, but may give up after a set number of iterations without releasing control back to the calling program.
  • A participant shares a workaround involving perturbing the matrix to break symmetry, allowing the numerical procedure to produce closely spaced eigenvalues with orthogonal wave functions.
  • Another participant notes that a colleague successfully diagonalized a problematic matrix using a different package, indicating that DEVCCG may have limitations with certain matrices.
  • There is an ongoing discussion about contacting the developers of DEVCCG to address the issues encountered.

Areas of Agreement / Disagreement

Participants express differing experiences with DEVCCG, with some indicating it works well for most matrices while others highlight specific cases where it fails. There is no consensus on the exact types of matrices that cause issues or a definitive solution to the problem.

Contextual Notes

The discussion highlights limitations related to the convergence of the DEVCCG algorithm and the characteristics of certain complex matrices, particularly in the context of numerical methods and eigenvalue problems. The issue of matrix perturbation as a workaround is also noted.

orzyszpon
Messages
11
Reaction score
2
Under some circumstances, whenever I call DEVCCG to diagonalize a general complex matrix, the program gets stuck inside and never returns. I do not even get out an error code so that I may continue with the rest of the program. I assume the iterative diagonalization inside the procedure does not converge in an allowed number of times. (I cannot access the innards of the code.)
Question: Are there some matrices that will not be diagonalizable with DEVCCG? Which types of matrices it cannot handle? Thank you very much.
 
Physics news on Phys.org
Thank you, Dr. Courtney for responding to my question, for your help, and for your perceptive question. Since posting my question, I have come up with an answer. It turns out that general complex matrices are not always diagonalizable; in those cases they are called defective. This is certain to occur when there are eigenvalue degeneracies. The DEVCCG code uses similarity transformations to reduce the matrix to diagonal form. Actually, it iterates toward that form. After some 30 tries, it gives up. Unfortunately, it does not relinquish control to the outside program, so the whole execution hangs up.

I am calculating band structures of superlattices for which the bands are spin-degenerate in certain directions of the Brillouin zone. The boundary condition matrix (the offending culprit) is general complex, and its solutions will be doubly degenerate in high-symmetry situations. (It is impossible to block diagonalize the matrix.)

The problem is numerical. The way around it is to "perturb" the matrix slightly by destroying the perfect symmetry. Then the numerical procedure will produced two closely spaced eigenvalues with orthogonal wave functions.

So, these are my true confessions. I hope this is of use to the next unfortunate soul.Frank
 
I just had a colleague use his own package to successfully diagonalize one of the matrices DEVCCG has problems with. He did it without any problems. Since DEVCCG diagonalizes most everything I have thrown at it (meaning that there are not formatting issues, etc.), it must be that there are certain matrices that DEVCCG does not abide. I am talking to the people in the company regarding this issue.
 

Similar threads

  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 4 ·
Replies
4
Views
8K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
5K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K