For some models, the computation of eigenvectors produces the warning message "Numerically Ill-conditioned eigenvectors". There are cases where some of those warnings can be expected and ignored. But there are also cases where such warnings indicate modeling or parametrization problems. This section and the information given in the Output Area help you analyze your model.The warning message includes a list of ill-conditioned eigenvalues related to ill-conditioned eigenvectors (see following figure).
More detailed information about the ill-conditioned eigenvalues in the Output Area are available if you activate the tracing option for the ill-conditioned eigensystem (Simulation→Properties→Tracing→Linear System Analysis→Ill-conditioned eigensystem). As shown in the following figure, the information in the Output Area displays the eigenvalues with a higher accuracy than the warning message. In addition to the eigenvalues, the information includes the corresponding reciprocal condition numbers and eigenvectors. The eigenvalues in the warning message and in the additional information have both the same order with respect to the ascending reciprocal condition number. That makes identifying the eigenvalues in the two output items much easier.
The reciprocal condition number of an eigenvector is the ratio between the maximum admissible deviation of the system matrices and a given tolerance for the eigenvector. The smaller the reciprocal condition number is, the larger may be the perturbation of the numerically computed eigenvectors. SimulationX shows ony a wanring message for eigenvectors with very small reciprocal condition numbers. They should always be treated with caution. Often enough they are close to the exact eigenvectors, but they can also be far off the mark at times. Eigenvectors with larger reciprocal condition numbers are not affected by this problem. Faulty eigenvectors may affect the Deviation results, the Distribution of Energy and the Animation of the mode shapes. The truncation errors and rounding errors introduced through the numerical algorithm for the computation of eigenvalues and eigenvectors can be interpreted as a disturbance of the system matrices. Even if the system matrices are given with their exact numerical values, the numerical noise in the algorithm can cause high deviations in the eigenvectors in case of very small reciprocal condition numbers. The following section "Examples" includes some simple models with ill-conditioned eigenvectors. Section "Basic Facts" explains some of the common terms used in the section "Examples" and explains how ill-conditioned eigenvectors are caused by closely spaced eigenvalues.
Symmetric System Matrix
This example illustrates that badly conditioned eigenvectors are usually independent of the eigenvalue's condition. An eigenvalue's left eigenvector of a symmetric matrix is equal to its right eigenvector. So the eigenvalues of a symmetric matrix are always as well conditioned as possible. If the eigenvalues, however, are very close to each other, ill-conditioned eigenvectors are the consequence.
with a very small positive number shows this effect. Its eigenvalues have a distance of . If you now choose a small enough value for , you can provoke a warning message about ill-conditioned eigenvectors. You can study the effect with the help of the example model IllConditionedEigenvectorsSymmetricSystemMatrix.isx.
The examples in the model of ill-conditioned eigenvalues caused by free masses are also examples of ill-conditioned eigenvectors. Small numerical disturbances in the eigenvalue calculation split the eigenvalue pair at zero into two seperate eigenvalues that are very close to each other. The eigenvectors of the closely spaced eigenvalues have very small reciprocal condition numbers (see section "Basic Facts"). This causes the Natural Frequency Analysis in SimulationX, for example, to generate a warning message about ill-conditioned eigenvectors for the example model IllConditionedEigenvaluesMech1DFreeMass.isx in addition to the message about ill-conditioned eigenvalues.
Independent Mechanical Oscillators with the Same Eigenfrequency
The examples Ill-Conditioned Eigenvectors Simple Decoupled MechOscillators and Ill-Conditioned Eigenvectors Decoupled Mech Oscillators represent decoupled spring-mass systems oscillating at the same eigenfrequency. Although the sub-systems oscillate at the same frequency, their amplitudes and phases are not related to each other. They can be chosen independently. Consequently, the eigenspace for that eigenfrequency is not one-dimensional, but two-dimensional. This can be loosly interpreted as indeterminate eigendirections — an extreme case of ill-conditioned eigenvectors. The example IllConditionedEigenvectorsSimpleDecoupledMechOscillators includes two copies of the same sub-system.
It also includes another sub-system with a different eigenfrequency (detuned through a double mass). The variables of the third sub-system do not contribute significantly to the ill-conditioned eigenvectors, which usually helps identify the components that are responsible for the ill-conditioned oscillation mode. Example IllConditionedEigenvectorsDecoupledMechOscillators.isx illustrates that identical oscillation modes may result from hidden symmetries in the model.
Figure 4: Model view of the example model IllConditionedEigenvectorsDecoupledMechOscillators.isx
If mass1 and mass2 move in-phase, springDamper4 does not elongate and is forceless. In this case, the masses move as if springDamper4 was not present. If springDamper4 was removed, the resulting system would consist of the three identical mechanical one-mass oscillators mass1, mass2 and mass3 with the same natural frequency. The system without springDamper4 has only the same solutions as the original system if mass2 and mass3 oscillate with identical phase and amplitude. However, the oscillator with mass1 is independent of the one with mass2 and mass3. So the eigendirections for this system are indeterminate and the eigenvectors are extremely ill-conditioned.
Mechanical Example with Planetary Gear Drive
The example model IllConditionedEigenvectorsMechPlanetary.isx includes a planetary gear drive planetary1 with a gear ratio of and an elastically mounted planet carrier.
As shown in the simple mechanical example, the free main movement corresponds to a defective eigenvalue at zero. The eigenvalues and eigenvectors of this mode are ill-conditioned causing SimulationX to display a warning message. The message section for the eigenvectors is shown below.
The numerical algorithm splits the badly conditioned eigenvalue pair at zero into two perturbed eigenvalues in the range of 10-6. The corresponding eigenvectors with the major non-zero components inertia1.phi=-2 and inertia2.phi=2/3 represent the gear ratio of the free motion mode. The eigenvalues and eigenvectors from the gear mounting are well-conditioned without any significant impact on the ill-conditioned eigenvectors.
The generalized eigenproblem and basic facts about eigenvalues are described in subsection "Formulation and Basic Facts" of Ill-Conditioned Eigenvalues. The paragraphs below elaborate only on specific information about eigenvectors. There is a close relationship between the reciprocal condition numbers of eigenvectors and the separation of eigenvalues. If the eigenvalues are separated well, i.e. the absolute values of their pair-wise differences are not too small, the corresponding eigenvectors are well-conditioned. Eigenvectors with close eigenvalues, on the other hand, are ill-conditioned.
The following paragraphs outline the mathematical background to give you a better understanding of the relationship between the reciprocal condition numbers of eigenvectors and the separation of the corresponding eigenvalues. Assume that represents the left and right eigenvector of a corresponding simple eigenvalue from the system matrix . Now normalize the right eigenvectors such that they have the length . As for the discussion of the perturbation of eigenvalues in section "Ill-Conditioned Eigenvalues", the focus here lies on the specific eigenvalue problem .
The aforementioned section outlined already the derivation of the perturbation equation
resulting in the equation
for the eigenvalue perturbation. Back-substitution of the last formula into the perturbation of the eigenvalue equation gives (after a few modifications)
For an easier examination, the coordinate system is rotated in such a way that the eigenvector becomes the first coordinate axis. Extend to a full unitary matrix where the columns of are the other base vectors of the rotated coordinate system. The calculation shows that the system matrix with rotated coordinates exhibits the special structure where is an row vector and is an matrix block. We have just rotated the coordinates such that is the eigenvector corresponding to the eigenvalue . Since the eigenvalues are invariant under the similarity transformation the matrix block covers all other eigenvalues of the system matrix .
The perturbation of the eigenequation in the new coordinates is
Taking the special structure of into account, the first diagonal element is cancelled out, which leads to
The column for in the system matrix is zero. Thus the perturbation of the transformed eigenequation does not determine , but the normalization condition requires . What is left after the deletion of the first column of the transformed perturbed eigenequation is an overdetermined system with equations and variables . Because of the assumption of a simple eigenvalue , the block matrix is always regular, and the first row of the transformed perturbed eigenequation can be safely removed producing the reduced system
that describes the eigenvector perturbation depending on the matrix perturbation in rotated coordinates. Generally speaking, the norm of the solution of a regular linear system cannot become larger than the norm of the right side that is amplified through the inverse of the system matrix's minimal singular value . This results in the following formula for the reciprocal condition number of the eigenvector:
The system matrix is almost singular if has an eigenvalue that is close to . In this case, the minimal singular value is small and so is the reciprocal condition number of the eigenvector. This is a more accurate interpretation of the main statement about the relationship between reciprocal condition numbers of eigenvectors and the separation of eigenvalues. For more details about the calculation of the eigenvector sensitivity, please refer to section 7.2 "Perturbation Theory" of .