3. Disadvantages of this dualization#
We can see from the Lagrangian expression that the matrix \(\mathrm{K}\) is no longer positive (which was the case with \(A\)). In fact:
\(\mathrm{\exists }{\mathrm{u}}_{0}\mathrm{/}\mathrm{C}{\mathrm{u}}_{0}\mathrm{\ne }0\mathrm{\Rightarrow }\mathrm{\exists }{\lambda }_{0}\mathrm{/}\mathrm{L}({\mathrm{u}}_{0},{\lambda }_{0})\mathrm{...}\mathrm{=}\frac{1}{2}({\text{Au}}_{0},{\mathrm{u}}_{0})+{\lambda }_{0}{\text{Cu}}_{0}<0\)
The loss of the positivity of the \(\mathrm{K}\) matrix means that the resolution of the \(\text{KX}\mathrm{=}\mathrm{F}\) system can no longer be done in general by classical gradient algorithms or, by Cholesky factorization. The factorization algorithm \({\mathit{LDL}}^{T}\) without permuting rows and columns is no longer guaranteed either: it is this last algorithm that we want to be able to continue using.
Let’s illustrate the problem using the following example:
Example 1:
a spring of stiffness \(k\) connects 2 nodes \({N}_{1}\) and \({N}_{2}\)
2 unknowns: \({u}_{1}\), \({u}_{2}\); 2 modal forces: \({\mathrm{f}}_{1}\), \({\mathrm{f}}_{2}\) \((\mathrm{n}\mathrm{=}2)\)
\(A\mathrm{=}\left[\begin{array}{cc}k& \mathrm{-}k\\ \mathrm{-}k& k\end{array}\right]\)
1 constraint: \(\alpha {u}_{1}+\beta {u}_{2}\mathrm{=}\gamma (\mathrm{p}\mathrm{=}1)\)
The dualized problem is written as: \(\mathrm{KX}\mathrm{=}\mathrm{F}\)
with:
\(\mathrm{K}\mathrm{=}\left[\begin{array}{ccc}k& \mathrm{-}k& \alpha \\ \mathrm{-}k& k& \beta \\ \alpha & \beta & 0\end{array}\right]\text{}\mathrm{X}\mathrm{=}\left[\begin{array}{c}{u}_{1}\\ {u}_{2}\\ \lambda \end{array}\right]\text{}\mathrm{F}\mathrm{=}\left[\begin{array}{c}{f}_{1}\\ {f}_{2}\\ \gamma \end{array}\right]\)
Reminder of the necessary and sufficient condition for algorithm \({\mathit{LDL}}^{T}\mathrm{-}\mathit{SP}\) (without permutation) to work:
Note \({K}_{i}\) the sub-matrix of \(K\) formed by the first i rows and columns of \(K\).
(If \(K\) is of order \(n\), \({K}_{n}=K\), \({K}_{1}=[{k}_{11}]\)).
There will be no zero pivot in algorithm \({\mathit{LDL}}^{T}\mathrm{-}\mathit{SP}\) if and only if (\({K}_{i}\) is invertible for any \(i\) between \(1\) and \(n\)).
Note this condition: cond1
The matrix \(K\) above is written with the unknowns in the order of the components of \(X\) as the unknowns:
\(\mathrm{X}\mathrm{=}({u}_{1},{u}_{2},\lambda )\)
\(K=\left[\begin{array}{ccc}k& -k& \alpha \\ -k& k& \beta \\ \alpha & \beta & 0\end{array}\right]\)
\({K}_{2}=\left[\begin{array}{cc}k& -k\\ -k& k\end{array}\right]\) does not check the cond1 condition.
In example 1, let’s try new numbers:
\(X=(\lambda ,{u}_{1},{u}_{2})\)
\(K=\left[\begin{array}{ccc}0& \alpha & \beta \\ \alpha & k& -k\\ \beta & -k& k\end{array}\right]\)
\({K}_{1}\) does not check the cond1 condition.
\(X=({u}_{1},\lambda ,{u}_{2})\)
\(K=\left[\begin{array}{ccc}k& \alpha & -k\\ \alpha & 0& \beta \\ -k& \beta & k\end{array}\right]\text{}\begin{array}{c}\text{det}{K}_{1}=k\\ \text{det}{K}_{2}={\alpha }^{2}\\ \text{det}{K}_{3}=-k{(\alpha +\beta )}^{2}\end{array}\)
\(k\) is assumed to be strictly positive (spring stiffness)
\({K}_{3}\) is only invertible if \(\alpha +\beta \ne 0\). Case \(\alpha +\beta =0\) indeed corresponds to a « bad » physical block: the condition: \({u}_{1}-{u}_{2}=\text{cte}\) does not block « rigid body movements » for \(A\) (without energy).
For the global problem to have a unique solution, conditions \({C}_{i}u={d}_{i}\) must in fact create an admissible travel space that does not contain any of the rigid body movements of \(A\).
With the notations of [§1] we will write:
\(\text{ker}A\cap {V}_{0}=\left\{0\right\}\)
In the rest of the document, it will be assumed that this condition has been met. That is, constraints \({C}_{i}\) at least block \(A\)’s rigid body movements (there may be more of them, of course). When this condition is true and conditions \({C}_{i}\) are independent of each other, we will say that the problem is physically well posed.
\({K}_{2}\) is only invertible if \(\alpha \ne 0\)
We can therefore see that the numbering \(({u}_{1},\lambda ,{u}_{2})\) verifies the condition cond1 if \(\alpha \ne 0\).
If block \({\mathrm{\alpha u}}_{1}+{\mathrm{\beta u}}_{2}=\gamma\) is reduced to:
\(\begin{array}{}{u}_{1}=\delta (\alpha ,\beta )=(\mathrm{1,0})\to \text{cela marche}\\ {u}_{2}=\delta (\alpha ,\beta )=(\mathrm{0,1})\to \text{cela ne marche pas}\end{array}\)
The symmetry of the problem shows that in order to be able to deal with problem \((\alpha ,\beta )=(\mathrm{0,1})\) it is necessary to number \(X=({u}_{2},\lambda ,{u}_{1})\).
From this very simple example, we can draw some general conclusions (all negative):
if we number all the \({\lambda }_{i}\) after the \({u}_{i}\), if \(A\) is singular, the condition cond1 will not be satisfied for \({K}_{i}=A\),
let a condition \(Cu=d\) and \(\lambda\) be the associated Lagrange multiplier. Equation \(\mathrm{Cu}=d\) does not generally involve all the unknowns \({u}_{i}\): the equation constrains certain degrees of freedom. If \(\lambda\) is numbered before the ddls it constrains the condition cond1 will not be checked. Indeed let’s look at the sub-matrix \({K}_{j}\) where \(j\) is the number of the equation giving \(\lambda\).
\({K}_{j}=\left[\begin{array}{cc}{K}_{j-1}& 0\\ 0& 0\end{array}\right]\)
Consider a physical structure that, by bad luck, is « retained by its last physical ddl », i.e. such that if we do not block this ddl, the matrix is singular, and such that if we block it the matrix is invertible. The use of a Lagrange \(\lambda\) degree of freedom for this blocking is impossible. In fact, if we number \(\lambda\) before the last degree of physical freedom, there will be a zero pivot at the level of \(\lambda\), and if we number it after (therefore in the very last degree of freedom), the matrix \({K}_{n-1}\) will not be invertible since the blocking is not yet taken into account. We will see in [§4] that the « double lagrange » technique solves this problem.
To finish this paragraph we can make the following remark: If \(K\) is invertible, we know that there is a numbering of the unknowns allowing \(K\) to be factored by \({\mathit{LDL}}^{T}\). This numbering is for example the one resulting from algorithm \({\mathit{LDL}}^{T}\) with permutation (maximum pivot for example). But this renumbering only concerns the rows of the matrix; so there is a loss of the symmetry of \(K\). Just consider the following example:
Example 2:
\(\begin{array}{}A=\left[0\right]\\ C=\left[1\right]\end{array}\}K=\left[\begin{array}{cc}0& 1\\ 1& 0\end{array}\right]X=\left[\begin{array}{c}u\\ \lambda \end{array}\right]\)
\(K\) is invertible, but there is no common permutation of \(K\) rows and columns allowing resolution by \({\mathit{LDL}}^{T}\).
All these remarks show that the dualization proposed in this paragraph does not allow the use of \({\mathit{LDL}}^{T}\mathrm{-}\mathit{SP}\).