## 3 Sensitivity Analysis for Eigenfrequency Problems Using HYPAD
It must be highlighted that at the end of the first stage all the outputs are real variables. The dual variables are not passed to subsequent steps to simplify the algorithm. **Stage 2** consists of solving the real-value GEP described in Equation (1) to extract the system's eigenvalues (\(\lambda_{i}\)) and right eigenvectors with mass normalization (\(\phi_{i}\)). Here, any generalized eigensolver for self-adjoint problems can be applied. This constitutes a major advantage of the method since no hypercomplex-valued solvers are required. In addition, only the specific number of eigenvalues \(i\), \(\forall 1\leq i\leq n\) desired needs to be computed, avoiding the calculation of the whole basis of eigenvalues in the systems. Moreover, any eigenvalue and eigenvector derivative corresponding to any arbitrary mode can be calculated. **Stage 3** is presented in Figure 2b. This stage is based on a recursive algorithm controlled by the loop variable \(s\) that allows one to obtain the required sensitivities in ascending order up to the desired order \(m\) using HYPAD. These recursive operations controlled by \(s\) are needed, because to obtain the sensitivities for order \(s+1\) it is necessary to have solved the \(s\)-th order sensitivities for the eigenvalues and the eigenvectors. A description of the operations executed in Stage 3 is presented below, and an analytical demonstration of the use of HYPAD to obtain second-order sensitivities of eigenvalues and eigenvectors is presented in the Supplementary Material. Figure 2: Flowchart for the sensitivity analysis of eigenfrequency problems using HYPAD. (**a**) Stage 1: General procedure used to compute the sensitivities of eigenvalues and eigenvectors. (**b**) Stage 3: Details on the process used to calculate the sensitivities of the eigenvalues and eigenvectors using HYPAD and semi-analytical expressions. 1. The first step in Stage 3 is to convert \(\lambda_{i}\), \(\phi_{i}\), \([M]\), \([K]\), \([\partial M/\partial\alpha]\), and \([\partial K/\partial\alpha]\) into multidual variables of order \(s\). This procedure will allow the use of HYPAD to calculate the sensitivities. For instance, during the first iteration, when \(s=0\), the input parameters are converted into zero-order multidual numbers (i.e., multiduals of zero-order are real numbers). In subsequent iterations (e.g., \(s>0\)), each imaginary axis of the multidual number contains the partial derivatives of the variables with respect to the input parameters of the model. In the case of the variables \([\partial K/\partial\alpha]^{*}\) and \([\partial M/\partial\alpha]^{*}\) that are already first-order sensitivities, the real part corresponds to the first-order sensitivities (e.g., \([\partial K/\partial\alpha]\) and \([\partial M/\partial\alpha]\)), and the imaginary axes contain partial derivatives up to order \(s+1\). In the case of \(\lambda_{i}^{*}\) and \(\phi_{i}^{*}\), the real part corresponds to the eigenvalues and eigenvectors, and the imaginary axes are built from their derivatives with respect to the specific variables of interest. Note that the sensitivities for \(\lambda_{i}\) and \(\phi_{i}\) up to order \(s\) are always available because of the iterative nature of the procedure. Moreover, all combinations of partial derivatives of \([K]\) and \([M]\) are available from the first stage. More details on how to construct the multidual arrays are provided in the Supplementary Material, and the analytical demonstration in Section 4. 2. With the multidual arrays, Equation (3) is evaluated, which results in a multidual variable \((\partial\lambda_{i}/\partial\alpha)^{*}\) that contains the first-order sensitivities in the real axis, and the \(s+1\) order sensitivities in the dual imaginary axis. The expression evaluated at the multidual sampling points is: \[\tfrac{\partial\lambda_{i}}{\partial\alpha}^{*}=\phi_{i}^{*T}\Big{[}\Big{[} \tfrac{\partial K}{\partial\alpha}\Big{]}^{*}-\lambda_{i}^{*}\Big{[}\tfrac{ \partial M}{\partial\alpha}\Big{]}^{*}\Big{]}\phi_{i}^{*}\] (10)
3.