IMSL diagonalizing a general complex matrix (DEVCCG)

In summary, the conversation discusses an issue with the DEVCCG program getting stuck when trying to diagonalize certain general complex matrices. The program does not return an error code and it seems that the iterative diagonalization does not converge in allowed number of tries. It is suggested to try the program with some simple sample matrices and there is an example available in the documentation. It is then revealed that these matrices are called defective and are not always diagonalizable due to eigenvalue degeneracies. The solution is to slightly perturb the matrix to break perfect symmetry. It is mentioned that another colleague was able to successfully diagonalize one of the problematic matrices using a different program. The issue is being looked into by the company.
  • #1
orzyszpon
11
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
  • #3
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
 
  • #4
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.
 

FAQ: IMSL diagonalizing a general complex matrix (DEVCCG)

1. What does IMSL diagonalizing a general complex matrix (DEVCCG) mean?

IMSL diagonalizing a general complex matrix (DEVCCG) refers to a mathematical process used to transform a general complex matrix into a diagonal matrix, where all non-diagonal elements are equal to zero. This is a useful technique in linear algebra and can be used to simplify calculations and solve certain problems.

2. Why would I need to diagonalize a general complex matrix?

Diagonalizing a general complex matrix can be useful in a variety of applications, such as finding eigenvalues and eigenvectors, solving systems of linear equations, and performing matrix operations more efficiently. It can also help in understanding the underlying structure and properties of a matrix.

3. What is the process of diagonalizing a general complex matrix?

The process of diagonalizing a general complex matrix involves finding a transformation matrix that can change the original matrix into a diagonal matrix. This transformation is achieved by finding the eigenvalues and eigenvectors of the original matrix and using them to construct the transformation matrix.

4. Is it always possible to diagonalize a general complex matrix?

No, not all general complex matrices can be diagonalized. In order for a matrix to be diagonalizable, it must have a complete set of linearly independent eigenvectors. If a matrix does not have enough linearly independent eigenvectors, it cannot be diagonalized.

5. Are there any limitations to diagonalizing a general complex matrix?

One limitation of diagonalizing a general complex matrix is that it can only be done for square matrices, meaning the number of rows and columns must be equal. Additionally, the process of diagonalizing a matrix can be computationally intensive and may not be feasible for very large matrices.

Similar threads

Replies
13
Views
2K
Replies
5
Views
292
Replies
9
Views
2K
Replies
5
Views
2K
Replies
5
Views
2K
Replies
1
Views
3K
Back
Top