1 Introduction

In many engineering applications one tries to achieve a desired dynamic behavior, e.g., settling time in the vicinity of an equilibrium, by designing the eigenvalues of the corresponding linear systems. Applications include vibration absorbers [1, 2], machining processes [3, 4], vehicle steering [5, 6], and connected vehicles [7, 8]. Of special interest are the rightmost eigenvalues that are also called dominant or leading eigenvalues. These determine the linear stability of the equilibrium and, for a stable system, they correspond to solutions with the slowest decay [9]. Thus, at the linear level, the desired dynamic behavior may be achieved by selecting the system parameters (including control gains) so that the rightmost eigenvalues are placed appropriately.

However, systems with time delay exhibit an infinite spectrum, which makes eigenvalue placement very challenging, even though the dynamic response is still dominated by the rightmost eigenvalues [1012]. Here, apart from designing the system parameters, one may also tune the delays in order to place the eigenvalues appropriately [13, 14], though limitations may arise due to the achievable minimal value of the delay. Such limitations may be compensated for in systems with distributed delays where apart from system parameters one may design the delay distribution [15, 16]. Practical examples include the design of the cutting profile of helical milling tools in machining [3, 4], where the delay distributions originate from spatial force distributions. Similar ideas may also be used when designing transmission protocols for vehicle-to-vehicle communication in connected vehicle systems [7, 8]. Here the delay distributions originate from stochastic delay variations.

In this paper, for the first time, we investigate the problem of spectrum design for the rightmost eigenvalues of a linear scalar system with distributed delay. We apply two complementary approaches: the bifurcation theory approach and the Lambert W function approach. Most of this paper concentrates on the special case when we have a constant delay distribution function. For this case, the methods and results of both approaches are illustrated. In the bifurcation theory approach, we extend the idea of a stability chart [17, 18] for a general case when the leading eigenvalues have non-zero real part. That is we translate the design problem to finding the locations of generalized Hopf and fold bifurcations in parameter space. Design limitations are also investigated using numerical continuation and multi-dimensional bisection method. As for the Lambert W function approach, we reformulate the problem as a special case of a delayed system with a single constant delay and then apply the matrix Lambert W function method [12]. Here, by exploiting the structure of the arising system matrices, we accelerate the numerical computation. We also address some numerical issues arising due to multiple eigenvalues associated with this problem.

Finally, we mention that we present scenarios where the real part of the leading eigenvalues is negative (stable systems) and also when it is positive (unstable systems). The former case is related to robust stability [17], that is important in many engineering applications. The latter case may not look relevant but, as a matter of fact, unstable systems can exhibit high performance when operated by skilled operators or regulated by well-designed controllers. Examples include, nuclear reactors, steering systems, and aircrafts with forward swept wings [19].

2 Problem formulation

Consider the following scalar linear differential equation with distributed delay:

$$\begin{aligned} \frac{\mathrm{d}}{\mathrm{d}\tau }x(\tau ) = \alpha \, x(\tau )+\beta \int \limits _{-h}^{0}w(\xi )\, x(\tau +\xi )\, \mathrm{d} \xi , \end{aligned}$$
(1)

where the initial condition is given by \(x(\tau )=\phi (\tau )\), \(\ -h\le \tau \le 0\), and the delay distribution satisfies \(\int _{-h}^{0} w(\xi )\mathrm{d} \xi = 1\). We know that the eigenvalues give an infinite spectrum \(\{\lambda _i\}_{i=1}^{\infty }\) and that the solution of (1) can be written as \(x(\tau )=\sum _{i=1}^{\infty }C_i \mathrm{e}^{\lambda _{i}\tau }\), where the coefficients \(C_i\) depend on the initial condition \(\phi (\tau )\) (often called preshape function) [12, 18]. The rightmost eigenvalues with the largest real part dominate the system dynamics, that is, placing these appropriately and creating a spectral gap between these and the rest of the eigenvalues allows us to design a system with desired temporal behavior.

To place the rightmost \(p\) eigenvalues of (1) at \(\lambda _1,\ldots ,\lambda _p\), we need to select the appropriate parameter values \(\alpha ,\beta \) and the weight function \(w(\xi )\). If we want the rightmost \(p\) eigenvalues to dominate the dynamics, we also need to create a spectral gap so that \(\mathrm{Re}({\lambda _j}) \le \mathrm{Re}({\lambda _i})-M,1\le i \le p < j\), where \(M\) is a positive real number. Such a setup is illustrated in Fig. 1, where we specified the rightmost five eigenvalues as well as the spectral gap of size \(M\) in the complex plane, i.e., all other eigenvalues are located in the shaded region. We remark that it is equivalent to design the rightmost \(p+1\) or \(p+2\) eigenvalues so that the difference between the real parts of the left-most designed eigenvalues provides the spectral gap; see Fig. 1. In some applications, we only care about the real part of the eigenvalues, and may formulate a less restrictive problem where only \(\mathrm{Re}({\lambda _{i}})\), \(i=1,\ldots ,p+1\) are assigned.

Fig. 1
figure 1

An illustration of the spectrum design where the five rightmost eigenvalues are placed and a \(spectral~gap\) of size \(M\) is created

Rescaling time as \(\tau =h\,t, \xi =h\theta \) allows us to write (1) into the form

$$\begin{aligned} \dot{x}(t) = a\, x(t) + b \int \limits _{-1}^{0} w(\theta )\, x(t+\theta )\, \mathrm{d} \theta , \end{aligned}$$
(2)

where the dot stands for differentiation with respect to the rescaled time \(t\) and we have the design parameters

$$\begin{aligned} a = h\alpha \,, \quad b=h^2\beta . \end{aligned}$$
(3)

Moreover, we use polynomials to construct the weight function

$$\begin{aligned} w(\theta )=\sum _{i=0}^{n}c_{i}\theta ^{i}, \end{aligned}$$
(4)

where the coefficients \(c_i\), \(i=0,1,\ldots ,n\) can be varied to achieve desired dynamic behavior. Note that only \(n\) of these coefficients can be chosen independently as we require the weight function to be normalized, i.e., \(\int _{-1}^{0} w(\theta )\mathrm{d} \theta = 1\).

Substituting the trial solution \(x(t)=\mathrm{e}^{\lambda t}\) into (2) and considering the distribution (4) results in the characteristic equation

$$\begin{aligned} D(\lambda )&= \lambda - a - \displaystyle \frac{b}{\lambda ^{n+1}} \sum _{i=0}^{n} \left( i! (-1)^i\, c_i\, \lambda ^{n-i} \right. \nonumber \\&\left. \times \bigg ( 1 - \mathrm{e}^{-\lambda } \displaystyle \sum _{j=0}^{i}\frac{\lambda ^j}{j!} \bigg )\right) =0. \end{aligned}$$
(5)

which has infinitely many solutions for the eigenvalues \(\lambda \). Note that one may define an operator which possesses these eigenvalues and serves as the infinitesimal generator for (2) in the infinite dimensional space of continuous functions on \([-1,0]\); see [17, 18].

3 Bifurcation theory approach

We recall that when varying parameters the trivial solution \(x(t) \equiv 0\) of a linear system may lose stability in two possible ways. Either a real eigenvalue moves through zero to the right half complex plane (leading to non-oscillatory stability loss), or a pair of complex conjugate eigenvalues crosses the imaginary axis from left to right (leading to oscillatory stability loss where the frequency is given by the imaginary part of the crossing eigenvalues). In the corresponding nonlinear system, fold and Hopf bifurcations may occur. In parameter space the corresponding stability boundaries are hyper-surfaces of co-dimension one. That is, when restricting ourselves to a plane of two parameters, the boundaries are given by curves, often referred as stability curves. Referring to the corresponding bifurcations, these are often categorized as fold and Hopf curves. We adopt this terminology here even though we do not investigate nonlinear effects. Moreover, we define generalized stability curves (i.e., generalized fold and Hopf curves) that correspond to eigenvalues that cross a given vertical line in the complex plane. Note that these are not related to bifurcations in the corresponding nonlinear system and only make sense at the linear level. These generalized curves allow us to locate parameter values that correspond to given eigenvalue configurations for the leading eigenvalues.

3.1 Generalized stability charts for constant weight function

In this section, we focus on the special case of \(w(\theta ) \equiv c_0 \!=\! 1\), i.e., \(n\!=\!s0\) in Eq. 4, which means that (2) simplifies to

$$\begin{aligned} \dot{x}(t) = a\, x(t) + b \int \limits _{-1}^{0} x(t+\theta ) \mathrm{d} \theta , \end{aligned}$$
(6)

while the characteristic equation (5) simplifies to

$$\begin{aligned} D(\lambda ) = \lambda - a - b \frac{1-\mathrm{e}^{-\lambda }}{\lambda } = 0. \end{aligned}$$
(7)

Substituting \(\lambda =\gamma \pm \mathrm{i}\omega \) into (7), separating real, and imaginary parts and assuming \(\omega > 0\), we obtain

$$\begin{aligned} \begin{aligned} a&=\gamma + \displaystyle \frac{\gamma - \mathrm{e}^{-\gamma }\, ( \gamma \, \cos \omega - \omega \, \sin \omega ) }{1 - \mathrm{e}^{-\gamma }\, ( \omega \, \cos \omega + \gamma \, \sin \omega ) / \omega },\\ b&= - \displaystyle \frac{\gamma ^{2} + \omega ^{2}}{1 - \mathrm{e}^{-\gamma }\, (\omega \, \cos \omega + \gamma \, \sin \omega ) / \omega }, \end{aligned} \end{aligned}$$
(8)

which describe the generalized Hopf curves in the \((a,b)\)-plane in parameterized form. For \(\omega =0\), Eq. 7 results in

$$\begin{aligned} b = \frac{\gamma }{1-\mathrm{e}^{-\gamma }} (\gamma - a), \end{aligned}$$
(9)

and the corresponding straight line is the generalized fold curve in the \((a,b)\)-plane. Indeed, the curves given by (8) and (9) change with \(\gamma \). For \(\gamma =0\) they are the stability boundaries, while for \(\gamma \ne 0\) they produce diagrams which we refer as generalized stability charts. We remark that \(\gamma <0\) corresponds to robust stability [17], while \(\gamma >0\) corresponds to unstable design.

Figure 2 shows the generalized stability charts for different values of \(\gamma \). Again, straight lines and curves correspond to generalized fold and Hopf curves, respectively. The numbers indicate how many eigenvalues with real part larger than \(\gamma \) are in that region and the shadowed regions (bounded by solid curves) are the generalized stability regions. The arrows show how the frequency \(\omega \) increases along the Hopf curves and the values of \(\omega \) corresponding to \(a,b \rightarrow \pm \infty \) are also indicated. The left panel in Fig. 2 shows the case where \(\gamma =0\), which is the stability chart. When \(\omega \rightarrow 2k\pi , k=1,2,\ldots \) the parameters \(a,b\) go to infinity because the denominator

$$\begin{aligned} d(\gamma ,\omega ) = 1 - \mathrm{e}^{-\gamma }\, (\omega \, \cos \omega - \gamma \, \sin \omega ) / \omega , \end{aligned}$$
(10)

in (8) goes to zero. In the middle panel of Fig. 2 we have \(\gamma =-0.5\). The diagram looks similar to the \(\gamma =0\) case, since \(a,b\) still go to infinity at some finite values of \(\omega \). However, some Hopf curves appear in the upper half plane and generate regions with odd numbers of “unstable” eigenvalues. Also, the Hopf curves show asymptotic behavior when \(\omega \rightarrow \omega _k\), \(k=1,2,\ldots \) (but \(\omega _k \ne k\pi \)), and the curves are hyperbolic (while for \(\gamma =0\) they were parabolic). The right panel in Fig. 2 depicts the generalized stability chart for \(\gamma =0.5\) which looks very different from the other panels: the Hopf curve does not go to infinity at finite values of \(\omega \), but intersect itself and creates loops.

Fig. 2
figure 2

Generalized stability charts for different values of the real part \(\gamma \) as indicated above. In the \(blue\) shaded regions (bounded by \(solid~curves\)) all eigenvalues have real part \(smaller\) than \(\gamma \). In each region the number of “unstable” eigenvalues (with real part \(larger\) than \(\gamma \)) are indicated. (Color figure online)

To better understand the difference between the three cases above, we plot the denominator (10) as a function of the frequency \(\omega \) for different values of \(\gamma \) in Fig. 3. For \(\gamma =0\) (red dashed curve) the denominator becomes zero at \(\omega = 2k\pi , k=1,2,\ldots \); cf. the left panel of Fig. 2. For \(\gamma =-0.5\) the blue solid curve intersects the horizontal axis at \(\omega = \omega _k\), \(k=1,2,\ldots \). Along the intervals \(\omega \in [\omega _k, \omega _{k+1}]\) where \(k\) is odd, the curve is negative and this correspond to the generalized Hopf curves above the horizontal axis in the middle panel of Fig. 2. Finally, for \(\gamma =0.5\) (green dotted curve) the denominator is positive for all \(\omega \) values and the corresponding generalized stability curve does not go to infinity for finite values of \(\omega \); cf. the right panel of Fig. 2.

Fig. 3
figure 3

The denominator (10) for different values of the real part: \(\gamma =0\) (\(red~dashed\)), \(\gamma =-0.5\) (\(blue~solid\)), \(\gamma =0.5\) (\(green~dotted\))

The concept of generalized stability charts can also be extended to higher-order weight functions when considering more terms in (4) that yield more design parameters. In this case, the generalized Hopf and fold stability boundaries become co-dimension one hyper-surfaces in parameter space.

3.2 Spectrum design with generalized stability charts using a constant weight function

For the constant weight function \(w(\theta ) \equiv c_0=1\), we have two parameters \(a,b\) that can be tuned. Thus, there are several leading eigenvalue configurations that can be designed:

  1. 1.

    Two real eigenvalues (e.g., \(\lambda _1=-1\) and \(\lambda _2=-3\));

  2. 2.

    One real eigenvalue and real part of a pair of two complex conjugate eigenvalues (e.g., \(\lambda _1=-1\) and \(\lambda _{2,3}=-3 \pm \mathrm{i} \omega \));

  3. 3.

    Real parts of two pairs of complex conjugate eigenvalues (e.g., \(\lambda _{1,2}=-1 \pm \mathrm{i} \omega \) and \(\lambda _{2,3}=-3 \pm \mathrm{i} \tilde{\omega }\));

  4. 4.

    One pair of complex conjugate eigenvalues (e.g., \(\lambda _{1,2}=-0.5 \pm \mathrm{i} 3\));

We will show below an example for each case.

3.2.1 Designing two real eigenvalues

One way to design a spectral gap is to design two real eigenvalues. To illustrate this, Fig. 4 shows the generalized stability boundaries for \(\gamma _1=-1\) (blue curves) and \(\gamma _2=-3\) (red curves). The blue and red shadowed regions correspond to eigenvalues that have real part less than \(\gamma _1\) and \(\gamma _2\), respectively. The number of “unstable” eigenvalues are indicated in each region for both cases: the first element of the pair gives how many eigenvalues have real part larger then \(\gamma _1\) while the second element shows this for \(\gamma _2\). By substituting \(\gamma _1\) and \(\gamma _2\) into (9) one may find that the corresponding generalized fold curves intersect at

$$\begin{aligned} \begin{aligned} a_\mathrm{ff}&= \gamma _1 + \frac{ M (1 - \mathrm{e}^{\gamma _1}) (\gamma _1 - M) }{M (1 - \mathrm{e}^{\gamma _1}) - \gamma _1 (1 - \mathrm{e}^M)},\\ b_\mathrm{ff}&= \frac{ \gamma _1 M \mathrm{e}^{\gamma _1} (\gamma _1 - M) }{M (1 - \mathrm{e}^{\gamma _1}) - \gamma _1 (1 - \mathrm{e}^M)}, \end{aligned} \end{aligned}$$
(11)

where \(M = \gamma _1-\gamma _2\) is the size of the spectral gap. In particular, for \(\gamma _1=-1\) and \(\gamma _2=-3\) we obtain \((a,b)\approx (-0.26,-0.43)\), which is denoted by \(\mathrm{D}_1\) in Fig. 4 and the corresponding eigenvalue configuration is shown at the bottom. Since \(\mathrm{D}_1\) is at the boundary of regions \((1,\cdot ),(0,\cdot )\), the right most eigenvalue is \(\lambda _1 = \gamma _1\). Similarly, the second eigenvalue is \(\lambda _2 = \gamma _2\), since \(\mathrm{D}_1\) is at the boundary of regions \((\cdot ,1),(\cdot ,2)\).

Fig. 4
figure 4

Generalized stability charts for \(\gamma _1=-1\) (\(blue\)) and \(\gamma _2 =-3\) (\(red\)). The \(first\) and \(second\) elements of the number pairs indicate how many eigenvalues have real part \(larger\) than \(-1\) and \(-3\), respectively. The intersections marked as \({ D}_1\), \({ D}_2\), \({ D}_3\) correspond to the designed eigenvalue configurations shown at the \(bottom\) where the frequencies \(\omega \) and \(\tilde{\omega }\) are not specified. (Color figure online)

A question that naturally arises is whether there is a limitation on the design for two real eigenvalues. Due to (9), the two fold curves with different \(\gamma \) are not parallel, so they always intersect at (11). Moreover, the intersection always produces the desired eigenvalue configuration \(\gamma _1>\gamma _2\), i.e., the solid segment of the \(\gamma _1\) line intersects dashed segment of the \(\gamma _2\), because other cases contradict the fact that \(\gamma _1\) corresponds to the leading eigenvalue followed by the eigenvalue at \(\gamma _2\).

3.2.2 Designing one real eigenvalue and the real part of a pair of complex conjugate eigenvalues

Alternatively, we can design one real eigenvalue and a pair of complex conjugate eigenvalues with a fixed real part, that is, consider the rightmost three eigenvalues to be \(\lambda _1=\gamma _1\) and \(\lambda _{2,3}=\gamma _2 \pm \mathrm{i} \omega \) where \(\omega \) is arbitrary. As shown in Fig. 4, the fold curve for \(\gamma _1=-1\) and a Hopf curve for \(\gamma _2=-3\) intersect at \((a,b)\approx (-4.97,2.31)\) which is denoted by \(\mathrm{D}_2\) and corresponds to the eigenvalue configuration displayed at the bottom. Since \(\mathrm{D}_2\) is at the boundary of regions \((1,\cdot ),(0,\cdot )\), the rightmost eigenvalue is at \(\lambda _1=\gamma _1\). The second and third eigenvalues are at \(\lambda _{2,3}=\gamma _2 \pm \mathrm{i}\omega \), since \(\mathrm{D}_2\) is also at the boundary of regions \((\cdot ,1),(\cdot ,3)\).

We are interested in the limitations of this design. Substituting \(\gamma _1\) into (9) and \(\gamma _2\) into (8) and eliminating \(a\) and \(b\) one may derive

$$\begin{aligned}&-\omega \big ( (\gamma _1-\gamma _2)^2 + \omega ^2 \big ) + \mathrm{e}^{-\gamma _1} \omega \, (\gamma _2^2+\omega ^2) + \mathrm{e}^{-\gamma _2} \gamma _{1} \nonumber \\&\times \Big ( \big ( \gamma _2(\gamma _1-\gamma _2) + \omega ^2 \big ) \sin \omega + (\gamma _1-2\gamma _2) \omega \, \cos \omega \Big ) = 0.\nonumber \\ \end{aligned}$$
(12)

By plotting the corresponding surface in the three dimensional space \((\gamma _1,\gamma _2,\omega )\), one can show that it is contained in the domain \(\gamma _2 < 0\), \(\gamma _2 < \gamma _1\). This indicates that it is not possible to place the complex conjugate eigenvalues to the right of the real eigenvalue. This can also be observed in Fig. 4 as the fold curve that belongs to \(\gamma _2=-3\) does not intersect Hopf curves belonging to \(\gamma _1=-1\).

3.2.3 Designing the real parts of two pairs of complex conjugate eigenvalues

Based on the argument above, when the rightmost eigenvalues are given by a complex conjugate pair, a spectral gap can only be provided if these are followed by another pair of complex conjugate eigenvalues. Suppose our desired rightmost four eigenvalues are \(\lambda _{1,2}= \gamma _1 \pm \mathrm{i}\omega \), \(\lambda _{3,4} = \gamma _2 \pm \mathrm{i} \tilde{\omega }\), where \(\omega ,\tilde{\omega }\) are arbitrary. In Fig. 4, a blue Hopf curve for \(\gamma _1=-1\) and a red Hopf curve for \(\gamma _2=-3\) intersect at \((a,b)\approx (-3.20,-4.16)\) which is denoted by \(\mathrm{D}_3\) and the corresponding eigenvalue configuration is shown at the bottom. Thus, the right most eigenvalues are \(\lambda _{1,2}=\gamma _1 \pm \mathrm{i}\omega \), since \(\mathrm{D}_3\) is at the boundary of regions \((2,\cdot ),(0,\cdot )\). Similarly, the second pair of eigenvalues is \(\lambda _{3,4}=\gamma _2 \pm \mathrm{i} \tilde{\omega }\), since \(\mathrm{D}_3\) is at the boundary of regions \((\cdot ,2),(\cdot ,4)\). One may also investigate the limitation of spectrum design for this case, which remains a problem for future research.

3.2.4 Designing a pair of complex conjugate eigenvalues

Finally, we can design the rightmost complex conjugate pair \(\lambda _{1,2}=\gamma \pm \mathrm{i}\omega \) without specifying a spectral gap to the others, which is equivalent to saying that there is a generalized Hopf type of stability loss at \(\gamma \) with given frequency \(\omega \). This corresponds to a point on a “primary” generalized Hopf curve, i.e., on a solid curve in Fig. 2 constituting a boundary between regions with \(0\) and \(2\) “unstable” eigenvalues. (Dashed curves separate regions with higher numbers of eigenvalues.)

In this case, we are interested in the limitations in \(\gamma \) and \(\omega \). For \(\gamma \le 0\) the primary Hopf curve corresponds to the frequency domain \(\omega \in [0,\omega _1]\) where \(\omega _1\) is the minimum positive frequency for which \(d(\gamma ,\omega )=0\), cf. (10) and Fig. 3. However, the limitations for \(\gamma >0\) are harder to determine due to the self intersections of the Hopf curve that correspond to having two different frequencies \(\omega _1 \ne \omega _2\) for fixed \(\gamma \); cf. the right panel of Fig. 2. We consider (8) and solve the system

$$\begin{aligned} \begin{aligned} 0&= a(\omega _1,\gamma ) - a(\omega _2,\gamma ),\\ 0&= b(\omega _1,\gamma ) - b(\omega _2,\gamma ), \end{aligned} \end{aligned}$$
(13)

for \(\omega _1,\omega _2\) which is equivalent to finding the equilibria of the related mock differential equation

$$\begin{aligned} \begin{aligned} \dot{\omega }_1&= a(\omega _1,\gamma ) - a(\omega _2,\gamma ),\\ \dot{\omega }_2&= b(\omega _1,\gamma ) - b(\omega _2,\gamma ), \end{aligned} \end{aligned}$$
(14)

where \(\gamma \) is considered as a parameter. Indeed, when \(\gamma \) is varied, the equilibrium changes. We use numerical continuation [20], in particular the package DDE-BIFTOOL [21], to continue the solution while changing \(\gamma \) and the boundary is shown in the complex plane in Fig. 5a. Here shading denotes the region in the complex plane where eigenvalues can be placed.

Fig. 5
figure 5

Available region for the real and imaginary parts of the designed eigenvalues when considering linear weight function of gradient \(d_1\) as indicated. Panel (\( \mathbf {a} \)) corresponds to constant weight function while panels (\( \mathbf {b} \), \( \mathbf {c} \)) are for negative gradients. Panel (\( \mathbf {d}\)) shows the union of regions for a range of gradients so that the \(color\) changes from \(blue\) to \(yellow\) as the gradient decreases and each point is \(colored\) according to the minimum value of the gradient that makes the point available for design. (Color figure online)

Finally, we discuss the special case when \(\omega =0\) which yields the leading eigenvalue \(\lambda _{1,2} = \gamma \) with multiplicity two. This can also be obtained by setting \(\gamma _1 = \gamma _2 = \gamma \) when considering two real leading eigenvalues that was discussed in Sec. 3.2.1. To obtain the corresponding parameter values one needs to solve \(D(\gamma )=0\) and \(\partial D(\gamma )/\partial \gamma =0\) for \(a\) and \(b\). Thus, the characteristic equation (7) leads to the parametric curve

$$\begin{aligned} \begin{aligned} a&= \gamma \bigg ( 2 + \frac{\gamma }{e^{\gamma } -1 - \gamma } \bigg ),\\ b&= -\frac{\gamma ^2 e^{\gamma }}{e^{\gamma } -1 - \gamma }, \end{aligned} \end{aligned}$$
(15)

that is shown as a green curve in Fig. 7. The green dot indicates where \(\gamma =0\) and \(\gamma \) increases from left to right along the curve as indicated by arrows. On one hand, one may use the left section of the curve to design systems with “critical damping”. On the other hand, multiplicity may lead to convergence problems for numerical methods as will be discussed in Sec. 4.2.

3.3 Spectrum design with generalized stability charts using a linear weight function

The concept of generalized stability charts can also be applied when using higher–order weight functions. These can lead to larger designable regions in the complex plane and so the limitations obtained for the constant weight function can be extended. In this section, we discuss the case with a pair of complex conjugate leading eigenvalues while using the linear weight function \(w(\theta )=c_0+c_1\theta \); cf. (4). In this case the normalization condition \(\int _{-1}^{0}w(\theta )\mathrm{d}\theta =1\) yields the constraint \(c_0-\frac{1}{2}c_1=1\). In order to take this into account, we define \(a, d_0:=bc_0, d_1:=bc_1\) as our free parameters. Thus, (2) yields the distributed delay system

$$\begin{aligned} \dot{x}(t) = a\, x(t) + d_0 \int \limits _{-1}^{0} x(t+\theta )\, \mathrm{d} \theta + d_1 \int \limits _{-1}^{0} \theta \, x(t+\theta )\, \mathrm{d} \theta .\nonumber \\ \end{aligned}$$
(16)

For \(d_1 = 0\) this is equivalent to (6), while for \(d_1 \ne 0\) the parameter \(d_0\) plays the same role as \(b\) in (6).

The corresponding characteristic equation becomes

$$\begin{aligned} D(\lambda ) = \lambda - a - d_0 \frac{1 - \mathrm{e}^{-\lambda }}{\lambda } - d_1 \frac{-1 + (\lambda + 1) \mathrm{e}^{-\lambda }}{\lambda ^{2}} = 0,\nonumber \\ \end{aligned}$$
(17)

cf. (5) and (7). Substituting \(\lambda =\gamma \pm \mathrm{i}\omega \) and separating the real and imaginary parts, for \(\omega > 0\) we obtain

$$\begin{aligned}&a =\gamma + \displaystyle \frac{\gamma - \mathrm{e}^{-\gamma }\, ( \gamma \, \cos \omega - \omega \, \sin \omega ) }{1 - \mathrm{e}^{-\gamma }\, ( \omega \, \cos \omega + \gamma \, \sin \omega ) / \omega }-\frac{d_1}{\gamma ^2 + \omega ^2}\nonumber \\&\qquad \quad \!\! \times \displaystyle \frac{1 + \mathrm{e}^{-2\gamma } - \mathrm{e}^{-\gamma }\, ( 2\omega \, \cos \omega + (\gamma ^{2} + \omega ^{2})\, \sin \omega ) / \omega }{1 - \mathrm{e}^{-\gamma }\, ( \omega \, \cos \omega + \gamma \, \sin \omega ) / \omega },\nonumber \\&d_0 = - \displaystyle \frac{\gamma ^{2} + \omega ^{2}}{1 - \mathrm{e}^{-\gamma }\, (\omega \, \cos \omega - \gamma \, \sin \omega ) / \omega }\nonumber \\&\qquad \quad + \displaystyle \frac{d_1}{\gamma ^2 + \omega ^2} \frac{2\gamma - \mathrm{e}^{-\gamma }\, ( p\, \cos \omega + q\, \sin \omega \big ) / \omega }{1 - \mathrm{e}^{-\gamma }\, ( \omega \, \cos \omega + \gamma \, \sin \omega ) / \omega }, \end{aligned}$$
(18)

where

$$\begin{aligned} \begin{aligned} p&= \omega (\gamma ^2 + \omega ^2 + 2\gamma ),\\ q&= \gamma (\gamma ^{2} + \omega ^{2}) + \gamma ^{2} - \omega ^{2}, \end{aligned} \end{aligned}$$
(19)

that describe the generalized Hopf curves in the \((a,d_0)\) parameter plane for a fixed value of \(d_1\). For \(\omega =0\), we obtain the generalized fold curves

$$\begin{aligned} d_0 = \frac{\gamma }{1 - \mathrm{e}^{-\gamma }} \bigg ( \gamma - a - d_1\frac{-1 + (\gamma + 1) \mathrm{e}^{-\gamma }}{\gamma ^{2}} \bigg ), \end{aligned}$$
(20)

that appear as straight lines in the \((a,d_0)\)-plane when \(d_1\) is fixed. Note that for \(d_1=0\) (18,20) reproduces (8,9).

In order to investigate how the design limitations change in the complex plane we again compute where the Hopf curves (self-)intersect, resulting in two independent frequencies \(\omega _1,\omega _2\). Here we solve the equations

$$\begin{aligned} \begin{aligned} 0&= a(\omega _1,\gamma ,d_1) - a(\omega _2,\gamma ,d_1),\\ 0&= d_0(\omega _1,\gamma ,d_1) - d_0(\omega _2,\gamma ,d_1), \end{aligned} \end{aligned}$$
(21)

for \(\omega _1,\omega _2\) while varying the parameter \(\gamma \) using numerical continuation. Fig. 5b and c show the corresponding curves in the complex plane for \(d_1 = -30\) and \(d_1 = -100\), respectively, where the regions available for design are shaded. Comparing panels a, b and c in Fig. 5 one may notice that as \(d_1\) decreases additional regions become available for design while others become unavailable. We remark that for \(d_1>0\) the available regime shrinks and that is why we do not show such cases.

In general, we are interested in the union of available regimes obtained for different values of \(d_1\). This may be found by overlapping the obtained regions. However, in each case the boundary consists of multiple branches that meet at cusp-type singularities. Each of these branches has to be computed by using a feasible initial guess at a chosen value of \(\gamma \) (from which the branch can be continued until reaching a cusp point). Moreover, for negative values of \(\gamma \) the chart may become intricate with many nearby boundaries that require separate initial guesses; cf. Fig. 5b, c. To overcome such difficulties a more efficient numerical method is needed that is presented below.

3.4 Finding design limitations by multi-dimensional bisection method (MDBM)

Here we present an effective way of finding design limitations. The fundamental idea is to calculate intersections of hyper-surfaces in the space spun by the real and imaginary parts of the designed eigenvalues and the design parameters. We utilize the multi-dimensional bisection method (MDBM) developed in [22] that allows us to find all solutions. Here we apply this to find the design limitations for linear weight function that was discussed in the previous section. However, as explained below, the range of applicability of MDBM goes beyond this example.

In (17), we can consider the real and the imaginary parts of the eigenvalue as additional parameters, i.e., write the characteristic equation into the form

$$\begin{aligned} \tilde{D}(\omega ,\gamma ,a,d_0,d_1) = 0, \end{aligned}$$
(22)

where both the real and imaginary parts of \(\tilde{D}\) must be zero. MDBM can be used to determine all the possible solution of this co-dimension two problem in the five dimensional “parameter” space. In order to ensure that the eigenvalues are the rightmost ones, we also need to monitor the value of the counter

$$\begin{aligned} N(\tilde{\gamma },a,d_0,d_1)&= \frac{1}{2\pi \mathrm{i}} \int \limits _{-\infty }^{\infty } \frac{1}{\tilde{D}(\omega ,\tilde{\gamma },a,d_0,d_1)}\nonumber \\&\times \frac{\partial \tilde{D}(\omega ,\tilde{\gamma },a,d_0,d_1)}{\partial \omega }\, \text {d}\omega , \end{aligned}$$
(23)

where \(\tilde{\gamma }=\gamma -\epsilon \) and \(\epsilon \) is a small positive number. As shown in [18], the Cauchy argument principle implies that if the value of the counter is two, then there are two eigenvalues at the right of \(\tilde{\gamma }\) in the complex plane. This indeed corresponds to the complex conjugate pair of eigenvalues with real part \(\gamma \). Instead of computing the integral in (23) directly, we use Stépán’s formulae [18] that are more stable numerically.

Figure 5d shows the region available for design in the complex plane for different values of parameter \(d_1 \in [-100,0]\) that is obtained by computing the region for every \(d_1 = - \ell 5\), \(\ell = 0,\ldots ,20\). Each point is colored according to the minimal value of \(d_1\) that makes the point available for design an the color goes from blue to yellow as \(d_1\) decreases. Figure 5 shows that including a third design parameter significantly increases the domain available for design. The regions gained for negative real part are important in many engineering applications.

Note that MDBM can also be used to obtain the boundaries of the available region, if we augment (22) with the additional constraint

$$\begin{aligned} N(\gamma ,a,d_0,d_1) = m, \end{aligned}$$
(24)

which leads to a co-dimension three problem. The number \(m\) must be chosen between 0 and 2 in order to make sure that we compute boundaries corresponding to generalized Hopf bifurcations.

4 Lambert W function method

The scalar distributed delay system (2) with an \(n\)-th order polynomial weight function (4), can be converted into a system of \(n+2\) scalar variables with discrete delay. Then the assignment of its eigenvalues can readily be handled by the matrix Lambert W function method [11], using the Lambert W toolbox [23]. The advantage of the Lambert W function approach is that the real part of the eigenvalues follows the order of the branch number [12]. This allows one to focus on a few rightmost eigenvalues which is our goal here.

Recall (5) from Sec. 2. Multiplying it with \(\lambda ^{n+1}\) and collecting terms of the same power in \(\lambda \) yields

$$\begin{aligned} D(\lambda ) \displaystyle&= \lambda ^{n+2} -\,a\,\lambda ^{n+1} \nonumber \\&-\, \sum _{i=0}^{n} \bigg (\tilde{a}_i\, \lambda ^{n-i} +\,\mathrm{e}^{-\,\lambda } \lambda ^i \sum _{j=0}^{i}\tilde{a}_{ij}\bigg ) = 0, \end{aligned}$$
(25)

where

$$\begin{aligned}&\tilde{a}_i = b\, (-1)^i i!\, c_i,\nonumber \\&\tilde{a}_{ij} = b\, (-1)^{n+j-i+1} \displaystyle \frac{(n+j-i)!}{j!}c_{n+j-i}, \end{aligned}$$
(26)

for \(i,j = 0,\ldots ,n\). Note that multiplying (5) by \(\lambda ^{n+1}\), we introduce \(n+1\) zero eigenvalues into the spectrum. We refer to these as “intrinsic” zero eigenvalues.

Notice that (25) is the characteristic equation of the \((n+2)^\mathrm{nd}\) order system

$$\begin{aligned} x^{(n+2)}(t)&= a\, x^{(n+1)}(t) + \sum _{i=0}^{n} \tilde{a}_i\, x^{(i)}(t) \nonumber \\&+ \sum _{i=0}^{n} \left( x^{(i)}(t-1) \sum _{j=0}^{i} \tilde{a}_{ij}\right) . \end{aligned}$$
(27)

Let us define the vector

$$\begin{aligned} \mathbf{x}(t) = \begin{bmatrix} x(t)\\ \dot{x}(t)\\ \vdots \\ x^{(n+1)}(t) \end{bmatrix}, \end{aligned}$$
(28)

then (27) is equivalent to the system

$$\begin{aligned} \dot{\mathbf{x}}(t) =\mathbf{A}\, \mathbf{x}(t) + \mathbf{A}_\mathrm{d}\, \mathbf{x}(t-1), \end{aligned}$$
(29)

where the matrices \(\mathbf{A},\mathbf{A}_\mathrm{d}\in \mathbb {R}^{(n+2)\times (n+2)}\) are defined as

$$\begin{aligned} \mathbf{A} = \begin{bmatrix} 0&\quad 1&\quad \cdots&\quad 0&\quad 0\\ 0&\quad 0&\quad \cdots&\quad 0&\quad 0\\ \vdots&\quad \vdots&\quad \ddots&\quad \vdots&\quad \vdots \\ 0&\quad 0&\quad \cdots&\quad 1&\quad 0\\ 0&\quad 0&\quad \cdots&\quad 0&\quad 1\\ \tilde{a}_n&\quad \tilde{a}_{n-1}&\quad \cdots&\quad \tilde{a}_0&\quad a \end{bmatrix}, \end{aligned}$$
(30)

and

$$\begin{aligned} \mathbf{A}_\mathrm{d} =\begin{bmatrix} 0&\quad 0&\quad \cdots&\quad 0&\quad 0\\ 0&\quad 0&\quad \cdots&\quad 0&\quad 0\\ \vdots&\quad \vdots&\quad \ddots&\quad \vdots&\quad \vdots \\ 0&\quad 0&\quad \cdots&\quad 0&\quad 0\\ 0&\quad 0&\quad \cdots&\quad 0&\quad 0\\ \tilde{a}_{00}&\quad \tilde{a}_{10}+\tilde{a}_{11}&\quad \cdots&\quad \sum \nolimits _{j=0}^{n}\tilde{a}_{nj}&\quad 0 \end{bmatrix}. \end{aligned}$$
(31)

To compute the eigenvalues of (29) using the Lambert W function approach [11, 12], we need to solve the following equations

$$\begin{aligned} \begin{aligned} \displaystyle \mathbf{A_\mathrm{d}}&= \mathbf{W}_\mathbf{k}(\mathbf{A_\mathrm{d}}\mathbf{Q}_\mathbf{k})\, \mathrm{e}^{\mathbf{W}_\mathbf{k}(\mathbf{A_\mathrm{d}} \mathbf{Q}_\mathbf{k})+\mathbf{A}},\\ \displaystyle \mathbf{S}_\mathbf{k}&= \mathbf{W}_\mathbf{k}(\mathbf{A_\mathrm{d}}\mathbf{Q}_\mathbf{k})+\mathbf{A}, \end{aligned} \end{aligned}$$
(32)

where \(\mathbf{W}_\mathbf{k}\) is the matrix Lambert W function and the vector \(\mathbf{k} = [ k_1, k_2, \ldots , k_{n+2} ]\) is the (vector-valued) branch number so that \(k_i \in \{0,\pm 1,\pm 2,\ldots \}\). Solving the first equation for \(\mathbf{Q}_\mathbf{k}\), one can use the second equation to obtain \(\mathbf{S}_\mathbf{k}\) and the eigenvalues of \(\mathbf{S}_\mathbf{k}\) give the eigenvalues of (25). In general, when considering \(\mathbf{k} = [ 0, \ldots , 0 ]\) the corresponding \(\mathbf{S}_\mathbf{k}\) possesses the \(n+2\) leading eigenvalues, while considering \(\mathbf{k} = [ +1, \ldots , +1 ]\) and \(\mathbf{k} = [ -1, \ldots , -1 ]\) we can cover the following \(n+2\) eigenvalues and so on. However, when one or more eigenvalues of the matrix \(\mathbf{A}_\mathrm{d} \mathbf{Q}_\mathbf{k}\) are zero, it is necessary to use hybrid branches where \(k_i \ne k_j\). In this case one needs to consider \(2(n+2)+1\) different \(\mathbf{k}\) vectors that include all \(k_i \in \{ 0,\pm 1,\ldots ,\pm (n+2) \}\) in order to cover the \(n+2\) leading eigenvalues [12].

Here we combine the eigenvalue calculations [23] with a root finding algorithm. This way the iterations converge to the parameter values that ensure the required eigenvalue configuration. However, these numerical iterations may be time consuming and the speed of convergence can depend on the selected initial value of \(\mathbf{Q}_\mathbf{k}\).

Define a general \(\mathbf{Q}_\mathbf{k}\in \mathbb {R}^{(n+2)\times (n+2)}\)

$$\begin{aligned} \mathbf{Q}_\mathbf{k} = \begin{bmatrix} q_{11}^\mathbf{k}&\quad \cdots&\quad q_{1,n+2}^\mathbf{k}\\ \vdots&\quad \ddots&\quad \vdots \\ q_{n+2,1}^\mathbf{k}&\quad \cdots&\quad q_{n+2,n+2}^\mathbf{k} \end{bmatrix}, \end{aligned}$$
(33)

where the vector-values index \(\mathbf{k}\) is switched to a superscript to simplify the notation. Notice that if we define \(\mathbf{Q}_\mathbf{k}'\in \mathbb {R}^{(n+2)\times (n+2)}\) to be

$$\begin{aligned} \mathbf{Q}_\mathbf{k}'= \begin{bmatrix} \frac{1}{\tilde{a}_{00}}\sum \nolimits _{i=0}^{n}q_{i+1,1}^\mathbf{k}\big (\sum \nolimits _{j=0}^{i}\tilde{a}_{ij}\big )&\quad \cdots&\quad \frac{1}{\tilde{a}_{00}}\sum \nolimits _{i=0}^{n}q_{i+1,n+2}^\mathbf{k}\big (\sum \nolimits _{j=0}^{i}\tilde{a}_{ij}\big )\\ 0&\quad \cdots&\quad 0\\ \vdots&\quad \ddots&\quad \vdots \\ 0&\quad \cdots&\quad 0 \end{bmatrix}, \end{aligned}$$
(34)

then, due to the sparse structure of \(\mathbf{A}_\mathrm{d}\) in (31), we have \(\mathbf{A}_\mathrm{d} \mathbf{Q}_\mathbf{{k}} \equiv \mathbf{A}_\mathrm{d} \mathbf{Q}_\mathbf{k}'\). This implies that there always exists a solution of \(\mathbf{Q}_\mathbf{k}\) in the form of (34), i.e., we can assume an initial matrix \(\mathbf{Q}_\mathbf{k}\) with the above sparse structure which reduces the computational time significantly. The following theorem is proven in the Appendix:

Theorem 1

For the matrix argument

$$\begin{aligned} \mathbf{A}_\mathrm{d} \mathbf{Q}_\mathbf{k} = \begin{bmatrix} 0&\quad 0&\quad \cdots&\quad 0\\ 0&\quad 0&\quad \cdots&\quad 0\\ \vdots&\quad \vdots&\quad \ddots&\quad \vdots \\ \alpha _{1}&\quad \alpha _{2}&\quad \cdots&\quad \alpha _{n+2} \end{bmatrix}, \end{aligned}$$
(35)

where  \(\alpha _{n+2}\ne 0\), using the branch number \(\mathbf{k} = [0,0,\ldots ,0 ,k]\) we have the following form of the matrix Lambert W function:

$$\begin{aligned} \mathbf{W}_\mathbf{k}(\mathbf{A}_\mathrm{d} \mathbf{Q}_\mathbf{k} ) = \begin{bmatrix} 0&\quad 0&\quad \cdots&\quad 0\\ 0&\quad 0&\quad \cdots&\quad 0\\ \vdots&\quad \vdots&\quad \ddots&\quad \vdots \\ \beta _{1}&\quad \beta _{2}&\quad \cdots&\quad \beta _{n+2} \end{bmatrix}, \end{aligned}$$
(36)

where \(\beta _{i}= W_k(\alpha _{n+2}) \alpha _{i} / \alpha _{n+2}\) and \(W_k\) is the scalar Lambert W function for scalar branch number \(k\).

This result implies that we only need to consider the first row of \(\mathbf{Q}_\mathbf{k}\) (i.e., last row of \( \mathbf{A}_\mathrm{d} \mathbf{Q}_\mathbf{k} \)). The analysis above shows that for any polynomial weight function (4), system (2) can be transformed into a sparse form and the Lambert W computations can be simplified. However, the convergence of the computation may still be sensitive to the initial value of \(\mathbf{Q}_\mathbf{k}\) as will be discussed below.

4.1 Lambert W approach with constant weight function

Here we apply the general setup discussed above while considering the weight function \(w(\theta ) \equiv c_0=1\). Recall the characteristic equation (7). Multiplying both sides by \(\lambda \), we obtain

$$\begin{aligned} D(\lambda )=\lambda ^2-a\lambda -b(1-\mathrm{e}^{-\lambda }), \end{aligned}$$
(37)

cf. (25,26), which is the characteristic equation of

$$\begin{aligned} \ddot{x}(t) = a \dot{x}(t)+ b \big (x(t)-x(t-1)\big ). \end{aligned}$$
(38)

Defining \(\mathbf{x}(t) = [x(t), \dot{x}(t)]^\mathrm{T}\) this can be rewritten as

$$\begin{aligned} \dot{\mathbf{x}}(t) =\mathbf{A} \mathbf{x}(t) + \mathbf{A}_\mathrm{d} \mathbf{x}(t-1), \end{aligned}$$
(39)

where

$$\begin{aligned} \mathbf{A}= \begin{bmatrix} 0&\quad 1\\ b&\quad a \end{bmatrix}, \quad \mathbf{A}_\mathrm{d}= \begin{bmatrix} 0&\quad 0\\ -b&\quad 0 \end{bmatrix}. \end{aligned}$$
(40)

This system has one intrinsic zero eigenvalue in addition to the spectrum of (7). We need to select the parameters \(a,b\) in the matrices \(\mathbf{A},\mathbf{A}_\mathrm{d}\) to get the desired spectrum (plus one zero eigenvalue). Considering the general argument above (cf. (33,34,35,36)), using hybrid branches with branch numbers \(\mathbf{k} = [\ 0, k \ ]\) and the definition (40), we obtain

$$\begin{aligned}&\mathbf{Q}_\mathbf{k} = \begin{bmatrix} q_{11}^\mathbf{k}&\quad q_{12}^\mathbf{k}\\ 0&\quad 0 \end{bmatrix},\nonumber \\&\mathbf{A_\mathrm{d}}\mathbf{Q}_\mathbf{k} = \begin{bmatrix} 0&\quad 0\\ -bq_{11}^\mathbf{k}&\quad -bq_{12}^\mathbf{k} \end{bmatrix},\\&\mathbf{W}_\mathbf{k} (\mathbf{A_\mathrm{d}}\mathbf{Q}_\mathbf{k}) = \begin{bmatrix} 0&\quad 0\\ W_k\left( -bq_{12}^\mathbf{k}\right) q_{11}^\mathbf{k}/q_{12}^\mathbf{k}&\quad W_k\left( -bq_{12}^\mathbf{k}\right) \end{bmatrix}.\nonumber \end{aligned}$$
(41)

Substituting these into the first equation of (32) results in

$$\begin{aligned}&\begin{bmatrix} 0&\quad 0\\ -b&\quad 0 \end{bmatrix} = \begin{bmatrix} 0&\quad 0\\ W_k\left( -bq_{12}^\mathbf{k}\right) q_{11}^\mathbf{k}/q_{12}^\mathbf{k}\,\,&\quad W_k\left( -bq_{12}^\mathbf{k}\right) \end{bmatrix}\nonumber \\&\quad \times \mathrm{exp} \left( \begin{bmatrix} 0&\quad 1 \\ W_k\left( -bq_{12}^\mathbf{k}\right) q_{11}^\mathbf{k}/q_{12}^\mathbf{k}+b\,\,&\quad W_k\left( -bq_{12}^\mathbf{k}\right) +a \end{bmatrix} \right) .\nonumber \\ \end{aligned}$$
(42)

After calculating the matrix exponential on the right hand side we obtain two coupled scalar equations that can be solved for \(q_{11}^\mathbf{k}\) and \(q_{12}^\mathbf{k}\) using numerical tools. This way the computational demand can be reduced significantly compared to using the standard matrix Lambert W approach. For example, if we select \(a\in [-2,0]\) and \(b=1\) in (39,40) it takes approximately 100 s (on a standard desktop computer) to compute the eigenvalues for branches \(0,\pm 1,\pm 2\) using the standard matrix Lambert W approach. Once we exploit the presence of zeros in \(\mathbf{Q}_\mathbf{k}\), it only takes about 1–2 s. Note that in order to reproduce the two leading eigenvalues it is adequate to consider the hybrid branches with branch numbers \([\ 0, 0\ ]\), \([\ 0, +1\ ]\), \([\ 0, -1\ ]\) but we will show a more complete eigenvalue picture when presenting the results. We remark that each hybrid branch also reproduces the intrinsic zero eigenvalue but since this does not have physical meaning we do not show this on the figures.

Figure 6a–c show the eigenvalues corresponding to the cases \(\mathrm{D}_1\), \(\mathrm{D}_2\) and \(\mathrm{D}_3\) in Fig. 4, respectively. The numerical values of the designed eigenvalues and the corresponding parameters are given in Table 1. We remark that in cases b and c, only the real parts of the eigenvalues are given while the imaginary parts are obtained through the design procedure. Figure 6d and e show the cases when the leading complex conjugate pair is designed so that both the real and imaginary parts are prescribed; see Table 1 for the numerical values of eigenvalues and parameters. In case d, the design can be achieved using only two parameters \((a,b)\) (i.e., constant weight function) as the desired eigenvalues are contained in the shaded domain in Fig. 5a. However, this does not hold in case (e) and here one needs to use three parameters (i.e., linear weight function) in order to design the eigenvalues shown in Table 1. To simplify the matter, here we fix \(d_1=-100\) as for this case the eigenvalues can be designed by varying the remaining two parameters \((a, d_0)\); cf. Fig. 5c.

Fig. 6
figure 6

Eigenvalue configurations designed using the Lambert W approach. Panels (\( \mathbf {a}\)),  (\(\mathbf {b}\)) and (\(\mathbf {c}\)) correspond to the points \({ D}_1\), \({ D}_2\) and \({ D}_3\) in Fig. 4. For panels (\(\mathbf {d}\)) and \(\mathbf {e}\) the real and imaginary parts of the leading eigenvalues are designed using \(two\) and \(three\) design parameters, respectively. The corresponding numerical values are shown in Table 1

Table 1 Numerical values corresponding to the panels of Fig. 6. Note that in cases (b) and (c) only the real parts of the eigenvalues are designed

4.2 Numerical issues

Although the Lambert W function is useful for computing the spectrum of a distributed delay system, there are certain values of parameters for which we run into numerical convergence problems. To characterize these areas (for the case of constant weight function) in the parameter plane we randomly select parameters in the range \( (a,b) \in (-10,10)\) and then randomly select the initial values for \(q_{11}^\mathbf{k}\) and \(q_{12}^\mathbf{k}\) in (42) with real and imaginary parts contained by the interval \((-10,10)\). If the iterations converge, we plot a gray asterisk in the \((a, b)\)-plane as shown in Fig. 7. Notice that no convergence can be achieved in a strip and in the left part of the selected regime.

Fig. 7
figure 7

Convergence regions and multiplicities in the parameter \(plane\). The \(gray\) area indicates where Lambert W function approach converges. The \(blue~curves\) correspond to stability boundaries given by (8,9) for \(\gamma =0\) where the \(arrow\) indicates the increase of \(\omega \) along the \(Hopf~curve\). The \(green~curve\) is given by (15) and it shows the location where the systems has a leading eigenvalue of multiplicity \(two\). The \(arrows\) show increase of \(\gamma \) and the \(green~dot\) indicates \(\gamma =0\). (Color figure online)

Note that the hybrid branch approach can only be applied when the Jordan form of \(\mathbf{A}_\mathrm{d} \mathbf{Q}_\mathbf{k}\) is diagonal (cf. Appendix) which may lead to convergence problems when the leading eigenvalues have multiplicity greater than one. To illustrate this we added the stability curves (8,9) for \(\gamma =0\) to Fig. 7 (cf. the left panel of Fig. 2). Along the straight fold line the eigenvalue 0 has multiplicity two due to the intrinsic zero eigenvalue generated when rewriting the system into vectorial form. Moreover, the green curve, given by (15), corresponds to the case where the lead eigenvalue is real and has multiplicity two (while the intrinsic zero eigenvalue still exists). At the intersection of the curves (indicated by green dot) we have a zero eigenvalue of multiplicity three. Figure 7 demonstrates that sections of these curves coincide with the strip where the Lambert W approach does not converge. However, it is not a one-to-one correspondence. Understanding further details of convergence problems is left for future research.

5 Concluding remarks

In this paper, we studied the problem of designing the rightmost eigenvalues of a linear scalar system with distributed delay. Our main methodological contributions to spectrum design were the introduction of generalized stability charts and the extension of the Lambert W method to distributed delay systems. Using generalized stability charts we reduced the problem to finding intersections of curves and surfaces in parameter space. In order to characterize design limitations we used two different numerical approaches. We found that numerical continuation can be used in cases involving two design parameters, while MDBM can be applied when using three or more parameters. In order to make the matrix Lambert W approach applicable we reformulated the scalar distributed delay system using multiple variables and discrete time delays. By exploiting the sparse structure of the appearing matrixes we reduced the computation time significantly. We also identified regions in the parameter space where numerical convergence is slow.

There are still some interesting problems that remain to be studied. Our future work will focus on several extensions. One is to determine design limitations in higher dimensions using MDBM. Also, finding more efficient numerical algorithms for the Lambert W method is an open question. Finally, we want to better understand the connection between these two approaches that may be achieved by expanding the infinitesimal generators of distributed delay systems using matrices.