prompt_front: Now, answer the following question based on the text below, only give me the answer and do not output any other words.

Question: How many brother does Njoroge have?

Read the following text and answer briefly.

Context 1: Weep Not, Child is a 1964 novel by Kenyan author Ngũgĩ wa Thiong'o  It was his first novel, published in 1964 under the name James Ngugi  It was among the African Writers Series  It was the first English language|English novel to be published by an East African  Thiong'o's works deal with the relationship between Africans and white settlers in colonial Kenya, and are heavily critical of colonial rule  Specifically, Weep Not, Child deals with the Mau Mau Uprising, and "the bewildering dispossession of an entire people from their ancestral land " Ngũgĩ wrote the novel while he was a student at Makerere University 

The book is divided into two parts and eighteen chapters  Part one deals mostly with the education of Njoroge, while part two deals with the rising Mau Mau movement 

Plot summary

Njoroge, a little boy, is urged to attend school by his mother  He is the first one of his family able to go to school  His family lives on the land of Jacobo, an African made rich by his dealings with white settlers, namely Mr  Howlands, the most powerful land owner in the area  Njoroge's brother Kamau works as an apprentice to a carpenter, while Boro, the eldest living son, is troubled by his experiences while in forced service during World War II, including witnessing the death of his elder brother  Ngotho, Njoroge's father and a respected man in the surrounding area, tends Mr  Howlands' crops, but is motivated by his passion to preserve his ancestral land, rather than for any compensation or loyalty 

One day, black workers call for a strike to obtain higher wages  Ngotho is ambivalent about participating in the strike because he fears he will lose his job  However, he decides to go to the gathering, even though his two wives do not agree  At the demonstration, there are calls for higher wages  Suddenly, the white police inspector brings Jacobo to the gathering to pacify the native people  Jacobo tries to put an end to the strike  Ngotho attacks Jacobo, and the result is a riot where two people are killed  Jacobo survives and swears revenge  Ngotho loses his job and Njoroge’s family is forced to move  Njoroge’s brothers fund his education and seem to lose respect for their father 

Mwihaki, Jacobo's daughter and Njoroge's best friend, enters a girls' only boarding school, leaving Njoroge relatively alone  He reflects upon her leaving, and realizes that he was embarrassed by his father's actions towards Jacobo  For this reason, Njoroge is not upset by her exit and their separation  Njoroge switches to another school 

For a time, everyone's attention is focused on the upcoming trial of Jomo Kenyatta – a revered leader of the movement  Many blacks think that he is going to bring forth Kenya’s independence  But Jomo loses the trial and is imprisoned  This results in further protests and greater suppression of the black population 

Jacobo and a white landowner, Mr  Howlands, fight against the rising activities of the Mau Mau, an organization striving for Kenyan economic, political, and cultural independence  Jacobo accuses Ngotho of being the leader of the Mau Mau and tries to imprison the whole family  Meanwhile, the situation in the country is deteriorating  Six black men are taken out of their houses and executed in the woods 

One day Njoroge meets Mwihaki again, who has returned from boarding school  Although Njoroge had planned to avoid her due to the conflict between their fathers, their friendship is unaffected  Njoroge passes an important exam that allows him to advance to High School  His village is proud of him, and collects money to pay Njoroge's High School tuition 

Several months later, Jacobo is murdered in his office by a member of the Mau Mau  Mr  Howlands has Njoroge removed from school for questioning  Both father and son are brutally beaten before release and Ngotho is left barely alive  Although there doesn't seem to be a connection between Njoroge's family and the murder, it is eventually revealed that Njoroge's brothers are behind the assassination, and that Boro is the real leader of the Mau Mau  Ngotho soon dies from his injuries and Njoroge finds out that his father was protecting his brothers  Kamau has been imprisoned for life  Only Njoroge and his two mothers remain free, and Njoroge is left as the sole provider of his two mothers  Njoroge fears that he cannot make ends meet; he gives up hope of continuing in school and loses faith in God 

Njoroge asks Mwihaki's for support, but she is angry because of her father’s death  When he finally pledges his love to her, she refuses to leave with him, realizing her obligation to Kenya and her mother  Njoroge decides to leave town and makes an attempt at suicide; however, he fails when his mothers find him before he is able to hang himself  The novel closes with Njoroge feeling hopeless, and ashamed of cowardice 

Characters in Weep Not, Child
 Njoroge: the main character of the book whose main goal throughout the book is to become as educated as possible 
 Ngotho: Njoroge's father  He works for Mr Howlands and is respected by him until he attacks Jacobo at a workers strike  He is fired and the family is forced to move to another section of the country  Over the course of the book his position as the central power of the family weakened, to the point where his self-realization that he has spent his whole life waiting for the prophecy (that proclaims the blacks will be returned their land) to come true rather than fighting for Kenyan independence, leads to his depression 
 Nyokabi and Njeri: the two wives of Ngotho  Njeri is Ngotho's first wife, and mother of Boro, Kamau, and Kori  Nyokabi is his second wife, and the mother of Njoroge and Mwangi 
 Njoroge has four brothers: Boro, Kamau, Kori and Mwangi (who is Njoroge's only full brother, who died in World War II) 
 Boro: Son of Njeri who fights for the Allies in World War II  Upon returning his anger against the colonial government is compounded by their confiscation of the his land  Boro's anger and position as eldest son leads him to question and ridicule Ngotho, which eventually defeats their father's will (upon realizing his life was wasted waiting and not acting)  It is eventually revealed that Boro is the leader of the Mau Mau (earlier alluded to as "entering politics") and murders Mr Howlands  He is caught by police immediately after and is scheduled to be executed by the book's end  It is highly likely that it is also Boro who kills Jacobo 
 Mwihaki: Njoroge's best friend (and later develops into his love interest)  Daughter of Jacobo  When it is revealed that his family killed Jacobo (most likely Boro), Mwihaki distances herself from Njoroge, asking for time to mourn her father and care for her mother 
 Jacobo: Mwihaki's father and an important landowner  Chief of the village 
 Mr  Howlands: A white settler who emigrated to colonial Kenya and now owns a farm made up of land that originally belonged to Ngotho's ancestors  Has three children: Peter who died in World War II before the book's beginning, a daughter who becomes a missionary, and Stephen who met Njoroge while the two were in high school 

Themes and motifs
Weep Not, Child integrates Gikuyu mythology and the ideology of nationalism that serves as catalyst for much of the novel's action  The novel explores the negative aspects of colonial rule over Kenya  Njoroge's aspiration to attend university is frustrated by both the violence of the Mau Mau rebels and the violent response of the colonial government  This disappointment leads to his alienation from his family and ultimately his suicide attempt 

The novel also ponders the role of saviours and salvation  The author notes in his The River Between: "Salvation shall come from the hills  From the blood that flows in me, I say from the same tree, a son shall rise  And his duty shall be to lead and save the people " Jomo Kenyatta, the first prime minister of Kenya, is immortalised in Weep Not, Child  The author says, "Jomo had been his (Ngotho's) hope  Ngotho had come to think that it was Jomo who would drive away the white man  To him, Jomo stood for custom and traditions purified by grace of learning and much travel " Njoroge comes to view Jomo as a messiah who will win the struggle against the colonial government 
Context 2: \section{Model equations} \label{sec:equations}

In drift-fluid models the continuity equation
\begin{align}
 \frac{\partial n}{\partial t} + \nabla\cdot\left( n \vec u_E  \right) &= 0 \label{eq:generala} 
\end{align}
describes the dynamics of the electron density $n$  Here
$\vec u_E := (\hat{\vec b} \times \nabla \phi)/B$ gives the electric drift
velocity in a magnetic field $\vec B := B \hat{\vec b}$ and an electric
potential $\phi$  We neglect contributions of the diamagnetic drift~\cite{Kube2016} 




Equation~\eqref{eq:generala} is closed by invoking quasineutrality, i e  the divergence of the ion polarization, 
the electron diamagnetic and the gravitational drift currents must vanish
\begin{align}
  \nabla\cdot\left( \frac{n}{\Omega} \left( \frac{\partial}{\partial t} 
  + \vec u_E \cdot\nabla  \right)\frac{\nabla_\perp \phi}{B}  + n\vec u_d - n\vec u_g\right) &=0
    
 
 
  \label{eq:generalb}
\end{align}
Here we denote 
$\nabla_\perp\phi/B := - \hat{\vec b} \times \vec u_E$, 
the electron diamagnetic drift
$\vec u_d := - T_e(\hat{\vec b} \times\nabla n ) /enB$
with the electron temperature $T_e$,
the ion gravitational drift velocity  
$\vec u_g := m_i \hat{\vec b} \times \vec g /B$
with ion mass $m_i$, and the ion gyro-frequency
$\Omega := eB/m_i$ 

Combining Eq ~\eqref{eq:generalb} with Eq ~\eqref{eq:generala} yields
\begin{align}
 \frac{\partial \rho}{\partial t} + \nabla\cdot\left( \rho\vec u_E \right) + \nabla \cdot\left( n(\vec u_\psi + \vec u_d + \vec u_g) \right) &= 0\label{eq:vorticity}
\end{align}
with the polarization charge density 
$\rho = \nabla\cdot( n\nabla_\perp \phi / \Omega B)$ 
and
$\vec u_\psi := \hat{\vec b}\times \nabla\psi /B$ 
with 
$\psi:= m_i\vec u_E^2 /2e$ 
We exploit this form of Eq ~\eqref{eq:generalb} in our numerical simulations 

Equations~\eqref{eq:generala} and \eqref{eq:generalb} respectively \eqref{eq:vorticity} have several invariants 
First, in Eq ~\eqref{eq:generala} the relative particle number 
$M(t) := \int \mathrm{dA}\, (n-n_0)$ is conserved over time
$\d M(t)/\d t = 0$  
Furthermore, we integrate 
$( T_e(1+\ln n) -T_e \ln B)\partial_t n$
as well as
$-e\phi \partial_t\rho - (m_i\vec u_E^2/2+gm_ix - T_e\ln B)\partial_t n$ 
over the domain to get, disregarding boundary contributions,
\begin{align}
  \frac{\d}{\d t}\left[T_eS(t) + H(t) \right] = 0, \label{eq:energya}\\ 
    \frac{\d}{\d t} \left[ E(t) - G(t) - H(t)\right] =  0,
    \label{eq:energyb}
\end{align}
where we define 
the entropy
$S(t):=\int \mathrm{dA}\, [n\ln(n/n_0) - (n-n_0)]$,  
the kinetic energy 
$E(t):=m_i \int \mathrm{dA}\, n\vec u_E^2/2$ 
and the potential energies
$G(t) := m_i g\int \mathrm{dA}\, x(n-n_0)$
and
$H(t) := T_e\int \mathrm{dA}\, (n-n_0) \ln (B^{-1})$ 
Note that $n\ln( n/n_0) - n + n_0 \approx (n-n_0)^2/2$ for $|(n-n_0)/n_0| \ll 1$ and $S(t)$ thus reduces to the 
local entropy form in Reference~\cite{Kube2016}  

We now set up a gravitational field $\vec g = g\hat x$ and a constant homogeneous background
magnetic field $\vec B = B_0 \hat z$ in a Cartesian coordinate system 
Then the divergences of the electric and gravitational drift velocities $\nabla\cdot\vec u_E$ and $\nabla\cdot\vec u_g$
and the diamagnetic current $\nabla\cdot(n\vec u_d)$ vanish, which makes the 
flow incompressible  Furthermore, the magnetic potential energy vanishes $H(t) = 0$ 

In a second system we model the inhomogeneous magnetic field present in tokamaks as
$\vec B := B_0 (1+ x/R_0)^{-1}\hat z$ and neglect the gravitational drift $\vec u_g = 0$ 
Then, the potential energy $G(t) = 0$  
Note that 
$H(t) = m_i \ensuremath{C_\mathrm{s}}^2/R_0\int\mathrm{dA}\, x(n-n_0) +\mathcal O(R_0^{-2}) $
reduces to $G(t)$ with the effective gravity $g_\text{eff}:= \ensuremath{C_\mathrm{s}}^2/R_0$ with $\ensuremath{C_\mathrm{s}}^2 := T_e/m_i$  
For the rest of this letter we treat $g$ and $g_\text{eff}$ as well as $G(t)$ and $H(t)$ on the same footing 
The magnetic field inhomogeneity thus entails compressible flows, which is 
the only difference to the model describing dynamics in a homogeneous magnetic field introduced above  
Since both $S(t)\geq 0$ and $E(t)\geq 0$ we further derive from Eq ~\eqref{eq:energya} and Eq ~\eqref{eq:energyb} that the kinetic energy
is bounded by $E(t) \leq T_eS(t) + E(t) = T_e S(0)$; a feature absent from the gravitational system with 
incompressible flows, where $S(t) = S(0)$  

We now show that the invariants Eqs ~\eqref{eq:energya} and \eqref{eq:energyb} present restrictions on the velocity and
acceleration of plasma blobs  
First, we define the blobs' center of mass (COM) via $X(t):= \int\mathrm{dA}\, x(n-n_0)/M$ and 
its COM velocity as $V(t):=\d X(t)/\d t$  
The latter is proportional to the total radial particle flux~\cite{Garcia_Bian_Fundamensky_POP_2006, Held2016a} 
We assume
that $n>n_0$ and $(n-n_0)^2/2 \leq [ n\ln (n/n_0) - (n-n_0)]n $ to show for both systems 
\begin{align}
  (MV)^2 &= \left( \int \mathrm{dA}\, n{\phi_y}/{B} \right)^2
  = \left( \int \mathrm{dA}\, (n-n_0){\phi_y}/{B} \right)^2\nonumber\\
 
&\leq 2 \left( \int \mathrm{dA}\, \left[n\ln (n/n_0) -(n-n_0)\right]^{1/2}\sqrt{n}{\phi_y}/{B}\right)^2\nonumber\\
 
  &\leq 4 S(0) E(t)/m_i 
 
  \label{eq:inequality}
\end{align}
Here we use the Cauchy-Schwartz inequality and 
$\phi_y:=\partial\phi/\partial y$  
Note that although we derive the inequality Eq ~\eqref{eq:inequality} only for amplitudes $\triangle n >0$  we assume that the results also hold for depletions  This is justified by our numerical results later in this letter  
If we initialize our density field with a seeded blob of radius $\ell$ and amplitude $\triangle n$ as 
\begin{align}
  n(\vec x, 0) &= n_0 + \triangle n \exp\left( -\frac{\vec x^2}{2\ell^2} \right), \label{eq:inita}
 
 
\end{align}
and  
$\phi(\vec x, 0 ) = 0$,
we immediately have $M := M(0) = 2\pi \ell^2 \triangle n$, $E(0) = G(0) = 0$ and 
$S(0) = 2\pi \ell^2 f(\triangle n)$, where $f(\triangle n)$ captures the amplitude dependence of 
the integral for $S(0)$  

The acceleration for both incompressible and compressible flows can be estimated
by assuming a linear acceleration $V=A_0t$ and $X=A_0t^2/2$~\cite{Held2016a} and using 
$E(t) = G(t) = m_igMX(t)$ in Eq ~\eqref{eq:inequality}
\begin{align}
  \frac{A_0}{g} =  \mathcal Q\frac{2S(0)}{M} \approx \frac{\mathcal Q}{2} \frac{\triangle n }{n_0+2\triangle n/9} 
  \label{eq:acceleration}
\end{align}
Here, we use the Pad\'e approximation of order $(1/1)$ of $2S(0)/M $
and define a model parameter $\mathcal Q$ with $0<\mathcal Q\leq1$ to be determined by numerical simulations 
Note that the Pad\'e approximation is a better approximation than a simple 
truncated Taylor expansion especially for large relative amplitudes of order unity 
Eq ~\eqref{eq:acceleration} predicts that $A_0/g\sim \triangle n/n_0$ for small 
amplitudes $|\triangle n/n_0| < 1$ and $A_0 \sim g $ for very large amplitudes $\triangle n /n_0 \gg 1$, 
which confirms the predictions in~\cite{Pecseli2016} and reproduces the limits discussed in~\cite{Angus2014} 

As pointed out earlier for compressible flows Eq ~\eqref{eq:inequality} can be further estimated
\begin{align}
  (MV)^2  \leq 4 T_eS(0)^2/m_i  
  \label{}
\end{align}
We therefore have a restriction on the maximum COM velocity for compressible flows, which is absent for incompressible flows
\begin{align}
  \frac{\max |V|}{\ensuremath{C_\mathrm{s}}} = {\mathcal Q}\frac{2S(0)}{M} \approx \frac{\mathcal Q}{2} \frac{|\triangle n| }{n_0+2/9 \triangle n } \approx \frac{\mathcal Q}{2} \frac{|\triangle n|}{n_0} 
  \label{eq:linear}
\end{align}
For $|\triangle n /n_0|< 1$ Eq ~\eqref{eq:linear} reduces to the linear scaling derived in~\cite{Kube2016}  
Finally, a scale analysis of Eq ~\eqref{eq:vorticity} shows that~\cite{Ott1978, Garcia2005, Held2016a}
\begin{align}
  \frac{\max |V|}{\ensuremath{C_\mathrm{s}}} = \mathcal R \left( \frac{\ell}{R_0}\frac{|\triangle n|}{n_0} \right)^{1/2} 
  \label{eq:sqrt}
\end{align}
This equation predicts a square root dependence of the center of mass velocity 
on amplitude and size  





We now propose a simple phenomenological model that captures the essential dynamics
of blobs and depletions in the previously stated systems  More specifically 
the model reproduces the acceleration Eq ~\eqref{eq:acceleration} with and without
Boussinesq approximation, the square root scaling for the COM velocity 
Eq ~\eqref{eq:sqrt} for incompressible flows as well as the relation between the 
square root scaling Eq ~\eqref{eq:sqrt} and the linear scaling 
Eq ~\eqref{eq:linear} for compressible flows  
The basic idea is that the COM of blobs behaves like 
the one of an infinitely long plasma column immersed in an ambient plasma  
The dynamics of this column reduces to the one of a two-dimensional ball 
This idea is similar to the analytical ``top hat'' density solution for
blob dynamics recently studied in~\cite{Pecseli2016} 
The ball is subject to buoyancy as well as linear and nonlinear friction
\begin{align}
  M_{\text{i}} \frac{d V}{d t} = (M_{\text{g}} - M_\text{p}) g - c_1 V  - \mathrm{sgn}(V ) \frac{1}{2}c_2 V^2 
  \label{eq:ball}
\end{align}
The gravity $g$ has a positive sign in the coordinate system; sgn$(f)$ is the sign function  
The first term on the right hand side is the buoyancy, where 
$M_{\text{g}} := \pi \ell^2 (n_0 + \mathcal Q \triangle n/2)$ 
is the gravitational mass of the ball with radius $\ell$ and 
$M_\mathrm{p} := n_0 \pi \ell^2 $ 
is the mass of the displaced ambient plasma 
Note that if $\triangle n<0$ the ball represents a depletion and the buoyancy term has a negative sign, i e  the depletion will rise  
We introduce an inertial mass 
$M_{\text{i}} := \pi\ell^2 (n_0 +2\triangle n/9)$ 
different from the gravitational mass $M_{\text{g}}$ in order to 
recover the initial acceleration in Eq ~\eqref{eq:acceleration}  
We interpret the parameters $\mathcal Q$ and $2/9$ as geometrical factors 
that capture the difference of the actual blob form from the idealized
``top hat'' solution  
Also note that the Boussinesq approximation appears in the model as a neglect of inertia, $M_{\text{i}} = \pi\ell^2n_0$ 

The second term is the linear friction term with coefficient $c_1(\ell)$, which
depends on the size of the ball 
If we disregard the nonlinear friction, $c_2=0$, Eq ~\eqref{eq:ball} directly yields a 
maximum velocity $c_1V^*=\pi \ell^2 n g \mathcal Q\triangle n/2$ 
From our previous considerations $\max V/\ensuremath{C_\mathrm{s}}=\mathcal Q \triangle n /2n_0$, we thus identify 
\begin{align}
  c_1 = \pi\ell^2 n_0 g/\ensuremath{C_\mathrm{s}}  
  \label{}
\end{align}
The linear friction coefficient thus depends on the gravity and the size of the
ball  

The last term in \eqref{eq:ball} is the nonlinear friction  The sign of the force depends on whether
the ball rises or falls in the ambient plasma  
If we disregard linear friction $c_1=0$, we have the maximum velocity 
$V^*= \sigma(\triangle n)\sqrt{\pi \ell^2|\triangle n| g\mathcal Q/c_2}$, 
which must equal 
$\max V= \sigma(\triangle n) \mathcal R \sqrt{g \ell |\triangle n/n_0|}$ 
and thus
\begin{align}
  c_2 = {\mathcal Q\pi n_0\ell }/{\mathcal R^2} 
  \label{}
\end{align}
Inserting $c_1$ and $c_2$ into Eq ~\eqref{eq:ball}
we can derive the maximum absolute velocity in the form 
\begin{align}
  \frac{\max |V|}{\ensuremath{C_\mathrm{s}}} = 
        \left(\frac{\mathcal R^2}{\mathcal Q}\right) \frac{\ell}{R_0} \left( 
        \left({1+\left( \frac{\mathcal Q}{\mathcal R} \right)^{2} \frac{|\triangle n|/n_0 }{\ell/R_0}}\right)^{1/2}-1 \right)
  \label{eq:vmax_theo}
\end{align}
and thus have a concise expression for $\max |V|$ that captures both the linear
scaling \eqref{eq:linear} as well as the square root scaling \eqref{eq:sqrt} 
With Eq ~\eqref{eq:acceleration} and Eq ~\eqref{eq:sqrt} respectively Eq ~\eqref{eq:vmax_theo} we 
finally arrive at an analytical expression for the time at which the maximum velocity is reached via 
$t_{\max V} \sim \max V/A_0$  Its inverse $\gamma:=t_{\max V}^{-1}$ gives the
global interchange growth rate, for which an empirical expression was
presented in Reference~\cite{Held2016a} 


We use the open source library FELTOR 
to simulate 
Eqs ~\eqref{eq:generala} and \eqref{eq:vorticity} with and without 
drift compression 
For numerical stabilty we added small diffusive terms on the right hand 
sides of the equations 
The discontinuous Galerkin methods employ three polynomial coefficients and a minimum of $N_x=N_y=768$ grid cells  The box size is $50\ell$ in order to mitigate 
influences of the finite box size on the blob dynamics  
Moreover, we used the invariants in Eqs  \eqref{eq:energya} and \eqref{eq:energyb} as consistency tests to verify the code and repeated simulations 
also in a gyrofluid model  
No differences to the results presented here were found  
Initial perturbations on the particle density field are given by Eq ~\eqref{eq:inita},
where the perturbation amplitude $\triangle n/n_0$ was chosen between $10^{-3}$ and $20$ for blobs and $-10^0$ and $ -10^{-3}$ for depletions  
Due to computational reasons we show results only for $\triangle n/n_0\leq 20$  


For compressible flows we consider two different cases $\ell/R_0 = 10^{-2}$ and
$\ell /R_0 = 10^{-3}$  
 For incompressible flows Eq ~\eqref{eq:generala} and \eqref{eq:vorticity}
 can be normalized such that the blob radius is absent from the equations~\cite{Ott1978, Kube2012}  
 The simulations of incompressible flows can thus be used for both sizes  
The numerical code as well as input parameters and output data can be found 
in the supplemental dataset to this contribution~\cite{Data2017} 

\begin{figure}[htb]
    \includegraphics[width=\columnwidth]{com_blobs}
    \caption{
      The maximum radial COM velocities of blobs for compressible and incompressible flows are shown  
      The continuous lines show Eq ~\eqref{eq:vmax_theo} while the 
      dashed line shows the square root scaling Eq ~\eqref{eq:sqrt} with 
      $\mathcal Q = 0 32$ and $\mathcal R=0 85$ 
    }
    \label{fig:com_blobs}
\end{figure}
In Fig ~\ref{fig:com_blobs} we plot the maximum COM velocity for blobs 
with and without drift compression 
For incompressible flows blobs follow the square root scaling almost 
perfectly  Only at very large amplitudes velocities are slightly below
the predicted values  
For small amplitudes we observe that the compressible blobs follow
a linear scaling  When the amplitudes increase there is a transition to the
square root scaling at around $\triangle n/n_0 \simeq 0 5$ for 
$\ell/R_0=10^{-2}$ and $\triangle n/n_0 \simeq 0 05$ for $\ell/R_0=10^{-3}$, which is consistent with Eq ~\eqref{eq:vmax_theo} and Reference~\cite{Kube2016}  
In the transition regions the simulated velocities are slightly larger than the predicted ones from Eq ~\eqref{eq:vmax_theo} 
Beyond these amplitudes
the velocities of compressible and incompressible blobs align  

\begin{figure}[htb]
    \includegraphics[width=\columnwidth]{com_holes}
    \caption{
      The maximum radial COM velocities of depletions for compressible and incompressible flows are shown  
      The continuous lines show Eq ~\eqref{eq:vmax_theo} while the 
      dashed line shows the square root scaling Eq ~\eqref{eq:sqrt} with 
      $\mathcal Q = 0 32$ and $\mathcal R=0 85$ 
      Note that small amplitudes are on the right and amplitudes close to unity are on the left side 
  }
    \label{fig:com_depletions}
\end{figure}
In Fig ~\ref{fig:com_depletions} we show the maximum radial COM velocity 
for depletions instead of blobs 
For relative amplitudes below $|\triangle n|/n_0 \simeq 0 5$ (right of unity in the plot) the velocities
coincide with the corresponding blob velocities in Fig ~\ref{fig:com_blobs}  
 For amplitudes larger than $|\triangle n|/n_0\simeq 0 5$ the 
velocities follow the square root scaling 
We observe that for plasma depletions beyond $90$ percent the velocities 
in both systems reach a constant value that is very well predicted by the
square root scaling  

\begin{figure}[htb]
    \includegraphics[width=\columnwidth]{acc_blobs}
    \caption{
      Average acceleration of blobs for compressible and incompressible flows are shown 
      The continuous line shows the acceleration in Eq ~\eqref{eq:acceleration} 
      with $\mathcal Q=0 32$
      while the dashed line is a linear reference line, which corresponds to the Boussinesq approximation  
  }
    \label{fig:acc_blobs}
\end{figure}
In Fig ~\ref{fig:acc_blobs} we show the average acceleration of blobs 
for compressible and incompressible flows computed
by dividing the maximum velocity $\max V$ by the time  
to reach this velocity $t_{\max V}$  
We compare the simulation results
to the theoretical predictions Eq ~\eqref{eq:acceleration} of our model with and without inertia  
The results of the compressible and incompressible systems coincide and fit very
well to our theoretical values  
For amplitudes larger than unity the acceleration deviates significantly from the prediction with Boussinesq approximation 

\begin{figure}[htb]
    \includegraphics[width=\columnwidth]{acc_holes}
    \caption{
      Average acceleration of depletions for compressible and incompressible flows are shown 
      The continuous line shows the acceleration in Eq ~\eqref{eq:acceleration} 
      with $\mathcal Q=0 32$
      while the dashed line is a linear reference line, which corresponds to the Boussinesq approximation  
    }
    \label{fig:acc_depletions}
\end{figure}
In Fig ~\ref{fig:acc_depletions} we show the simulated acceleration of depletions in the
compressible and the incompressible systems  We compare the simulation results
to the theoretical predictions Eq ~\eqref{eq:acceleration} of our model with and without inertia 
Deviations from our theoretical prediction Eq ~\eqref{eq:acceleration} are visible for amplitudes smaller than $\triangle n/n_0 \simeq -0 5$ (left of unity in the plot)  The relative deviations are small at around $20$ percent  
As in Fig ~\ref{fig:com_depletions} the acceleration reaches a constant values
for plasma depletions of more than $90$ percent 
Comparing Fig ~\ref{fig:acc_depletions} to Fig ~\ref{fig:acc_blobs} the asymmetry between blobs and depletions becomes 
apparent  While the acceleration of blobs is reduced for large 
amplitudes compared to a linear dependence the acceleration 
of depletions is increased  In the language of our simple buoyancy 
model the inertia of depletions is reduced but increased for blobs  



In conclusion  
  we discuss the dynamics of seeded blobs and depletions in a 
  compressible and an incompressible system 
  With only two fit parameters our theoretical results reproduce the 
  numerical COM velocities and accelerations over five orders of magnitude 
  We derive the amplitude dependence of the acceleration of blobs and depletions from 
  the conservation laws of our systems in Eq ~\eqref{eq:acceleration}  
  From the same inequality a linear regime is derived in the compressible system for 
  ratios of amplitudes to sizes smaller than a critical value 
   In this regime 
  the blob and depletion velocity depends linearly on the initial amplitude and 
  is independent of size  The regime is absent from the system with incompressible flows 
  Our theoretical results are verified by numerical simulations for all 
  amplitudes that are relevant in magnetic fusion devices 
  Finally, we suggest a new empirical blob model that captures the detailed dynamics of more complicated models  
  The Boussinesq approximation is clarified as the absence of inertia and a thus altered acceleration of blobs and depletions 
  The maximum blob velocity is not altered by the Boussinesq approximation 

The authors were supported with financial subvention from the Research Council of Norway under grant
240510/F20  M W  and M H  were supported by the Austrian Science Fund (FWF) Y398   The computational
results presented have been achieved in part using the Vienna Scientific Cluster (VSC)  Part of this work was performed on the Abel Cluster, owned by the University of Oslo and the Norwegian metacenter
for High Performance Computing (NOTUR), and operated by the Department for Research Computing at USIT,
the University of Oslo IT-department 
This work has been carried out within the framework of the EUROfusion Consortium and has received funding from the Euratom research and training programme 2014-2018 under grant agreement No 633053  The views and opinions expressed herein do not necessarily reflect those of the European Commission 
Context 3: Paper Info

Title: Generalized Pole-Residue Method for Dynamic Analysis of Nonlinear Systems based on Volterra Series
Publish Date: March 7, 2023
Author List: Qianying Cao (from State Key Laboratory of Coastal and Offshore Engineering, Dalian University of Technology), Anteng Chang (from College of Engineering, Ocean University of China), Junfeng Du (from College of Engineering, Ocean University of China), Lin Lu (from State Key Laboratory of Coastal and Offshore Engineering, Dalian University of Technology)

Figure

Fig  1: Procedure to compute the response by a combination of Volterra series and Laguerre polynomials
Fig  2: Linear frequency response function: (a) Modulus of H 1 (ω), (b) phase angle of H 1 (ω)
Fig  6: Comparison of h 1 (t) based on the analytical and reconstructed by Laguerre polynomials
Fig  11: Response for Case 1: (a) comparison between the proposed method and Runge-Kutta method, (b) contribution of the three components
Fig  18: Comparison of original excitations and reconstructed results: (a) Case 1, (b) Case 2 (c) Case 3
Fig  19: Response to irregular excitation for Case 1: (a) comparison between the proposed method and Runge-Kutta method, (b) contribution of the three components
Fig  23: Input-output dataset used to identify Volterra series: (a) input excitation, (b) output response
Fig  26: Comparison of responses between the predicted and numerical results: (a) response to regular excitation, (b) response to irregular excitation
Parameter values of the irregular excitation

abstract

Dynamic systems characterized by second-order nonlinear ordinary differential equations appear in many fields of physics and engineering  To solve these kinds of problems, time-consuming stepby-step numerical integration methods and convolution methods based on Volterra series in the time domain have been widely used 
In contrast, this work develops an efficient generalized pole-residue method based on the Volterra series performed in the Laplace domain  The proposed method involves two steps: (1) the Volterra kernels are decoupled in terms of Laguerre polynomials, and (2) the partial response related to a single Laguerre polynomial is obtained analytically in terms of the pole-residue method 
Compared to the traditional pole-residue method for a linear system, one of the novelties of the pole-residue method in this paper is how to deal with the higher-order poles and their corresponding coefficients  Because the proposed method derives an explicit, continuous response function of time, it is much more efficient than traditional numerical methods 
Unlike the traditional Laplace domain method, the proposed method is applicable to arbitrary irregular excitations  Because the natural response, forced response and cross response are naturally obtained in the solution procedure, meaningful mathematical and physical insights are gained  In numerical studies, systems with a known equation of motion and an unknown equation of motion are investigated 
For each system, regular excitations and complex irregular excitations with different parameters are studied  Numerical studies validate the good accuracy and high efficiency of the proposed method by comparing it with the fourth-order Runge-Kutta method 

Introduction

Most real dynamic systems, as encountered in mechanical and civil engineering, are inherently nonlinear and include geometric nonlinearities, nonlinear constitutive relations in material or nonlinear resistances, etc    Nonlinear problems are attracting increasing attention from engineers and scientists 
This work focuses on solving nonlinear system vibration problems, i e , computing transient responses of nonlinear oscillators under arbitrary irregular excitations based on a combination of a pole-residue operation and Volterra series  Because Volterra series are single-valued, the scope of the present study is restricted to nonlinear behaviours without bifurcations  
To analyse nonlinear vibration problems, researchers have performed extensive studies and developed various mathematical methods  Popular methods include step-by-step numerical integration methods in the time domain, such as the Runge-Kutta method  This kind of method not only requires a small time-step resolution for obtaining high-precision solutions but also is prone to numerical instability  
For a long response with small time steps, the time domain methods are very costly in computational time  Volterra series is another widely used method, which is the extension of the Duhamel integral for linear systems   Volterra series can reproduce many nonlinear phenomena, but they are very complex due to higher-dimensional convolution integrals  
Since 1980's, significant progress has been made in the general area of the Volterra series  The reader is referred to Ref  for a quite thorough literature review on the relevant topics  After 2017, most papers focus on Volterra series identification  De Paula and Marques proposed a method for the identification of Volterra kernels, which was based on time-delay neural networks 
Son and Kim presented a method for a direct estimation of the Volterra kernel coefficients  Dalla Libera et al  introduced two new kernels for Volterra series identification  Peng et al  used the measured response to identify the kernel function and performed the nonlinear structural damage detection  Only a few papers concentrated on simplifying the computation of convolution integrals 
Traditional methods for computing convolution integrals involved in the Volterra series have been performed in three distinct domains: time, frequency and Laplace  The time domain method based on Volterra series refers to discrete time convolution methods, which also suffer computational cost problems  
Both the frequency domain method and the Laplace domain method based on the Volterra series consist of three steps: (1) Volterra series are transformed into an algebraic equation in the frequency domain or Laplace domain; the algebraic equation is solved by purely algebraic manipulations; and (3) the solution in Step ( ) is transformed back to the time domain 
Many researchers have used the frequency domain method to compute the responses of nonlinear systems  Billings et al  developed a new method for identifying the generalized frequency response function (GFRF) of nonlinear systems and then predicted the nonlinear response based on these GFRFs  Carassale et al  introduced a frequency domain approach for nonlinear bridge aerodynamics and aeroelasticity 
Ho et al  computed an output frequency domain function of a nonlinear damped duffing system modelled by a Volterra series under a sinusoidal input  Kim et al  identified the higher order frequency response functions by using the nonlinear autoregressive with exogenous input technique and the harmonic probing method 
This type of frequency domain method is much more efficient than the time domain method due to the fast Fourier transform algorithm  However, the frequency domain method not only is limited by frequency resolutions but also suffers from leakage problems due to the use of discrete Fourier transforms  In addition, the frequency domain method calculates only a steady-state response 
A natural response generated by initial conditions and a cross response caused by interactions between a system and an excitation are ignored  In contrast, the Laplace domain method can calculate all response components because initial conditions are considered in the computational procedure  However, it has been restricted to analytical operations for simple excitations, such as sinusoidal excitations and exponential excitations  
The proposed method falls into the category of the Volterra series method computed in the Laplace domain  Unlike the traditional Laplace domain method, the proposed method is applicable to arbitrary irregular excitations  Because the proposed method follows a similar path as a pole-residue method for linear systems , the proposed method to solve nonlinear system vibration problems is called the generalized pole-residue method 
The main concept of the pole-residue method developed by Hu et al  was that the poles and residues of the response could be easily obtained from those of the input and system transfer function to obtain the closed-form response solution of linear systems  This method included three steps: (1) writing the system transfer function into pole-residue form; (2) writing the excitation into pole-residue form by the Prony-SS method; (3) computing the poles and residues of the response by an algebraic operation based on those from system and excitation 
Compared to Hu et al  , which was regarded as an efficient tool to compute responses of linear systems, the generalized pole-residue method in this paper is introduced to compute responses of nonlinear systems  The proposed method involves two steps: (1) the Volterra kernels are decoupled in terms of Laguerre polynomials, and (2) the partial response related to a single Laguerre polynomial is obtained analytically in terms of the pole-residue method 
Compared to the traditional pole-residue method for a linear system, one of the novelties of the generalized pole-residue method is how to deal with the higher-order poles and their corresponding coefficients  Similar to the Taylor series, the Volterra series representation is an infinite series, and convergence conditions are needed to assure that the representation is meaningful 
Because the proposed method is based on the Volterra series, only the system with convergent Volterra series representation can be treated by the proposed method  The paper is organized as follows  In Section 2, the nonlinear response is modelled by a Volterra series, and Volterra kernel functions are decoupled by Laguerre polynomials 
Then, the pole-residue method for computing explicit responses is developed in Section 3  Numerical studies and discussions are given in Section 4  Finally, the conclusions are drawn in Section 5 

Response calculation based on Volterra series

A nonlinear oscillator, whose governing equation of motion is given by where z(t, y, ẏ) represents an arbitrary nonlinear term; m, c, and k are the mass, damping and linear stiffness, respectively; y(t), ẏ(t) and ÿ(t) are the displacement, velocity and acceleration, respectively; and f (t) is the time-dependent excitation 
If the energy of excitation f (t) is limited, the nonlinear response under zero initial conditions (i e , zero displacement and zero velocity) can be represented by the Volterra series : where N is the order of Volterra series and In Eq  3, h 1 (τ ) is called the first-order Volterra kernel function, which represents the linear behaviour of the system; h n (τ 1 ,      
, τ n ) for n > 1 are the higher-order Volterra kernel functions, which describe the nonlinear behaviour of the system  The complete formulation of y(t) includes infinite series where the labour of calculating the n th term increases quickly with the growth of n  Fortunately, the response accuracy may be ensured by the first several order Volterra series 
This is proved here in numerical studies  The commonly known Laguerre polynomials are represented as : where p i is the order of the Laguerre polynomials and a i is the damping rate  The Laguerre polynomials satisfy the orthogonal relationship expressed as: By using Laguerre polynomials, the Volterra kernel function h n (t 1 ,      
, t n ) in Eq  3 can be decoupled as follows : where the coefficient is computed resorting to the orthogonal relationship in Eq  5: Substituting Eq  6 into Eq  3 yields       The above operation that uses the Laguerre polynomials to decouple Volterra higher order kernel functions has been well-developed 
The reader is referred to Refs  for details about the adopted technique  After decoupling Volterra higher order kernel functions in time, one can regroup Eq  8 into:       By denoting Eq  9 becomes The above procedure to compute the nonlinear response by a combination of Volterra series and Laguerre polynomials is schematically shown in Fig   
Volterra kernel functions h n (t 1 ,       , t n ) can be obtained by either an equation of motion or measured input-output signals  To derive a closedform solution of the response, we must obtain a closed-form solution of x i (t) first  In the following presentation, a closed-form solution of the aforementioned x i (t) and y n (t) is derived by using the pole-residue method 
3  Pole-residue method for calculating x i (t) and y n (t) Performing the Laplace transform of x i (t) in Eq  10 yields where in which Eq  13 includes a single pole and several higher-order poles  For k = 0, −a i is a single pole, and b p i (0) is a corresponding coefficient, namely, the residue  For k > 0, −a i are higher-order poles, and b p i (k) are corresponding coefficients 
For an irregular excitation signal f (t) of a finite duration of T , it can always be approximated into a pole-residue form by using the complex exponential signal decomposition method-Prony-SS : where N ℓ is the number of components; α ℓ and λ ℓ are constant coefficients, which either are real numbers or occur in complex conjugate pairs 
We define λ ℓ = −δ ℓ + iΩ ℓ , where Ω ℓ is the excitation frequency and δ ℓ is the damping factor of the ℓ th component  We denote α ℓ = A ℓ e iθ ℓ , where A ℓ is the amplitude and θ ℓ is the sinusoidal initial phase in radians  Taking the Laplace transform of Eq  15 yields Note that the concept of the Prony-SS method is similar to that of a principal component method 
A smooth excitation usually requires just several terms to achieve a good approximation  For high irregular loadings, including more terms would achieve a better approximation  Substituting Eqs  13 and 16 into Eq  12 yields Expressing xi (s) in its pole-residue form yields where λ ℓ are simple poles, and the corresponding residues are easily obtained by
and −a i are higher-order poles, and the corresponding coefficients are firstly derived as: By taking the inverse Laplace transform of Eq  18, a closed-form solution is obtained: Substituting Eqs  11 and 21 into Eq  2 yields Theoretically speaking, the proposed method for deriving the closed-form solution of the nonlinear response is applicable to any order of the Volterra series 
For practical engineering, usually only the first several order responses dominate  By setting up N = 2, Eq  22 can be simplified into three components: where the natural response, which is only related to system poles, is given by and the cross response, which is related to both system poles and excitation poles, is given by
and the forced response, which is related only to excitation poles, is given by The first term in Eq  26 is the first-order forced response governed by the excitation frequency, i e , the imaginary part of the pole λ ℓ   The second term corresponds to the second-order nonlinear forced response, which includes the sum frequency and difference frequency responses governed by λ ℓ + λ j  
Eq  26 straightforwardly offers visible information about the possible nonlinear vibrations by the cooperation of excitation frequencies  Particularly, consider a sinusoidal excitation f (t) = sin ω r t, which can be expressed as f (t) = γe λt + γ * e λ * t , where γ = −0 5i and λ = iω r   Substituting these values into Eq 
26, the second term of Eq  26 is simplified as where the first term is the difference frequency response, and the second term is the sum frequency response 

Numerical studies

In practical engineering, some systems have an accurate equation of motion  Additionally, some systems have difficulty constructing their equations of motion because of complex nonlinear dynamic behaviours and uncertain system parameters  In this article, a system with a known equation of motion is called a known system, and a system with an unknown equation of motion is called an unknown system for simplicity 
In this section, two numerical studies are presented  The first study verifies the proposed method using a known nonlinear oscillator, and the second study demonstrates the applicability of the proposed method to an unknown system  Throughout the numerical studies, the unit system is the metre-kilogramme-second (MKS) system; for conciseness, explicit units for quantities are omitted 

A known nonlinear system

This study chooses a nonlinear oscillator written as: where mass m = 1, damping c = 1, linear stiffness k 1 = 10, quadratic stiffness k 2 = 20 and cubic stiffness k 3 = 20  It is a case that has been studied in a previously published article   The linear natural frequency of the system ω 0 = k 1 /m = 3 16 and the damping ratio ζ = c/(2mω 0 ) = 15 8% 
This kind of oscillator occurs in many engineering problems, such as a model of fluid resonance in a narrow gap between large vessels 



ground_truth: Four.

prompt_front: Now, answer the following question based on the text below, only give me the answer and do not output any other words.

Question: What is the relationship between the maximum velocity and the amplitude of the blob or depletion?

Read the following text and answer briefly.

Context 4: \section{Introduction\label{sct::intro}}
Symmetric, public-key (asymmetric) and hash-based cryptography constitute a fundamental pillar of modern cryptography  
Symmetric cryptography includes symmetric-key encryption, where a shared secret key is used for both encryption and decryption  Cryptographic hash functions map arbitrarily long strings to strings of a fixed finite length  Currently deployed public-key schemes are
used to establish a common secret key between two remote parties  They are based on factoring large numbers or solving the discrete logarithm problem over a finite group  For more details about modern cryptography the interested reader can consult one of the many excellent references on the topic, e g ~\cite{Katz:2007:IMC:1206501} 

In contrast to asymmetric schemes based on factoring or solving the discrete logarithm problem and which are completely broken by a quantum adversary via Shor's algorithm~\cite{SJC 26 1484}, symmetric schemes and hash functions are less vulnerable to quantum attacks  The best known quantum attacks against them are based on Grover's quantum search algorithm~\cite{PhysRevLett 79 325}, which offers a quadratic speedup compared to classical brute force searching  Given a search space of size $N$, Grover's algorithm finds, with high probability, an element $x$ for which a certain property such as $f(x)=1$ holds, for some function $f$ we know how to evaluate (assuming such a solution exists)  The algorithm evaluates $f$ a total of $\mathcal{O}(\sqrt{N})$ times  It applies a simple operation in between the evaluations of $f$, so the $\mathcal{O}(\sqrt{N})$ evaluations of $f$ account for most of the complexity  In contrast, any classical algorithm that evaluates $f$ in a similar ``black-box'' way requires on the order of $N$ evaluations of $f$ to find such an element 

Any quantum algorithm can be mapped to a quantum circuit, which can be implemented on a quantum computer  The quantum circuit represents what we call the ``logical layer"  Such a circuit can always be decomposed in a sequence of ``elementary 
gates", such as Clifford gates (CNOT, Hadamard etc ~\cite{NC00}) augmented by a non-Clifford gate such as the T gate 

Running a logical circuit on a full fault-tolerant quantum computer is highly non-trivial  The sequence of logical gates have to be mapped to 
sequences of surface code measurement cycles (see e g ~\cite{PhysRevA 86 032324} for extensive details)  By far, the most resource-consuming (in 
terms of number of qubits required and time) is the T gate\footnote{Clifford gates are ``cheap", i e  they require relatively small overhead for implementation in the surface code, but are not universals, hence a non-Clifford gate is required  One such gate is the T gate  There are other possible choices, however all of the non-Clifford gates require special techniques such as magic state distillation~\cite{1367-2630-14-12-123011,PhysRevA 86 052329} and significant overhead (order of magnitudes higher than Clifford gates) to be implemented in the surface code  In fact, to a first order approximation, for the purpose of resource estimation, one can simply ignore the overhead introduced by the Clifford gates and simply focus only on the T gates }  
In comparison with surface code defects and braiding techniques~\cite{PhysRevA 86 032324}, novel lattice surgery 
techniques~\cite{2018arXiv180806709F,1808 02892,1367-2630-14-12-123011} reduce the spatial overhead required for implementing T gates via magic state distillation by approximately a factor of 5, while also modestly improving the running time  

In this paper we first analyze the security of symmetric schemes and hash functions against large-scale fault-tolerant quantum adversaries, using surface code defects and braiding techniques  We take into account the time-space trade-offs with parallelizing quantum search, down to the fault-tolerant layer  Naively, one might hope that $K$ quantum computers (or quantum ``processors'', as we will call them later in the paper) running in parallel reduce the number the circuit depth down to $\mathcal{O}(\sqrt{N})/K$ steps, similar to the classical case of distributing a search space across $K$ classical processors  However quantum searching does not parallelize so well, and the required number of steps
for parallel quantum searching is of the order $\mathcal{O}(\sqrt{N/K})$~\cite{quantph 9711070}  This is a factor of $\sqrt{K}$ larger than $\mathcal{O}(\sqrt{N})/K$   As shown in~\cite{quantph 9711070}, the optimal way of doing parallel quantum search is to partition the search space into $N/K$ parts, and to perform independent quantum searches on each part 

Secondly, we investigate the security of public-key cryptographic schemes such as RSA and ECC against 
quantum attacks, using the latest developments in theory of fault-tolerant quantum error correction, i e  novel lattice surgery 
techniques~\cite{2018arXiv180806709F,1808 02892,1367-2630-14-12-123011} 

The remainder of this paper is organized as follows  In Sec ~\ref{sct::method}, we provide an overview of the methodology used in our analysis  In Sec ~\ref{sct::ciphers} we investigate the security of the AES family of modern symmetric ciphers  In Sec ~\ref{sct::hash} we analyze the security of the SHA family of hash functions  In Sec ~\ref{sct::bitcoin} we investigate the security of Bitcoin's~\cite{satoshi:bitcoin} proof-of-work consensus mechanism  We conclude our investigation of symmetric and hash-based cryptographic schemes in Sec ~\ref{sct::intrinsic_parallel_grover}, where we evaluate the intrinsic cost of running the Grover algorithm with a trivial oracle (i e , an oracle with a unit cost of 1 for each invocation) 

In the subsequent sections  we analyze public-key cryptographic schemes  In Sec ~\ref{sct::rsa} and Sec ~\ref{sct::ecc} we examine the most common public-key establishment schemes, such as RSA and ECC, respectively  In the subsequent sections  we analyze public-key cryptographic schemes  In Sec ~\ref{sct::rsa} and Sec ~\ref{sct::ecc} we examine the most common public-key establishment schemes, such as RSA and ECC, respectively  Finally we summarize our findings and conclude in Sec ~\ref{sct::conclusion} 
\section{Methodology\label{sct::method}}

\subsection{Symmetric cryptography and hash functions\label{sct::symmetric}}
The methodology, sketched in Fig ~\ref{fgr:flowchart_lite} and Fig ~\ref{fgr:full_algorithm}, follows the same lines as the one described in great detail in our earlier paper~\cite{10 1007/978-3-319-69453-5_18}, which we refer the interested reader to for more details 
\begin{figure}[htb]
	\centering
         \includegraphics[width=0 35\textwidth]{figures/flowchart_lite pdf}
         \caption{Analyzing an attack against a symmetric cryptographic function with a fault-tolerant quantum adversary  Our resource estimation methodology takes into account several of the layers between the high level description of an algorithm and the physical hardware required for its execution  Our approach is modular should assumptions about any of these layers change, and hence it allows one to calculate the impact of improvements in any particular layer }
         \label{fgr:flowchart_lite}
\end{figure}
\begin{figure}
	\centering
	 \includegraphics[width=0 46\textwidth]{figures/grover_vertical pdf}
          \caption{Grover searching with an oracle for $f : \{0,1\}^k \rightarrow \{0,1\}^k$  The algorithm makes $\lfloor \frac{\pi}{4} 2^{N/2}\rfloor$ calls to
$G$, the \emph{Grover iteration}, or, if parallelized on $K$ processors, $\lfloor \frac{\pi}{4} 2^{N/(2K)}\rfloor$ calls to $G$  The Grover iteration has two
subroutines  The first, $U_g$, implements the predicate $g : \{0,1\}^k
\rightarrow \{0,1\}$ that maps $x$ to $1$ if and only if $f(x) = y$  Each call to $U_g$ involves two calls to a reversible implementation of $f$ and one call to a comparison circuit that checks whether $f(x) = y$ }
          \label{fgr:full_algorithm}
\end{figure}

We assume a surface-code based fault-tolerant architecture~\cite{PhysRevA 86 032324}, using Reed-Muller distillation schemes~\cite{Fowler:2013aa}  For each scheme we vary the possible physical error rates per gate from $10^{-4}$ to $10^{-7}$  We believe that this range of physical error rates is wide enough to cover both first generation quantum computers as well as more advanced future machines 
In comparison to surface code defects and braiding methods~\cite{PhysRevA 86 032324}, lattice surgery 
techniques~\cite{2018arXiv180806709F,1808 02892,1367-2630-14-12-123011} mostly impact the physical footprint of the fault-tolerant layer required to run a specific quantum algorithm, reducing the distillation overhead by approximately a factor of 5  The temporal overhead (i e  the number of surface code cycles) is reduced less drastically  For this reason, lattice surgery has less significant effects in estimating the security of symmetric schemes or hash functions, reducing the security parameter\footnote{The security parameter is defined as the logarithm base two of the number of fundamental operations (in our case surface code cycles) required to break the scheme } by at most 1 and decreasing the spatial overhead by at most a factor of 5  Therefore when estimating the security of symmetric and hash-based cryptographic schemes we use surface code defects and braiding techniques 

For each cryptographic primitive, we display four plots, in the following order:
\begin{enumerate}
\item We plot the total number of surface code cycles per CPU (where a CPU is a quantum computer capable of executing a single instance of Grover's quantum search algorithm) as a function of the number of CPUs  We directly tie the quantum security parameter to the total number of surface code cycles (see~\cite{10 1007/978-3-319-69453-5_18} for more details)  We also add to the plot the theoretical lower bound achievable by quantum search in the cases of: a) considering the oracle a black box of unit cost (lower line), and b) considering the oracle as composed of ideal quantum gates, each of unit cost (upper line)  Note that the difference between b) and a) represents the intrinsic cost of logical overhead (i e  the overhead introduced by treating the oracle as a logical circuit and not a blackbox), whereas the difference between the upper lines and b) represents the intrinsic cost introduced by the fault-tolerant layer 

\item We plot the total wall-time per CPU (i e  how long will the whole computation take on a parallel quantum architecture) as a function of the number of CPUs  The horizontal dashed line represents the one-year time line, i e  the $x$ coordinate of the intersection point between the ``Total time per CPU'' line and the one-year time line provides the number of processors required to break the system within one year (in $\log_2$ units) 

\item We plot the total physical footprint (number of qubits) per CPU, as a function of the number of CPUs 
\item Finally we plot the total physical footprint (number of qubits) of all quantum search machines (CPUs) running in parallel 
\end{enumerate}

In the following sections we proceed to analyze symmetric ciphers (AES, Sec ~\ref{sct::ciphers}), hash functions (SHA-256, SHA3-256, Sec ~\ref{sct::hash}, Bitcoin's hash function, Sec ~\ref{sct::bitcoin}), and finally the minimal resources required for running Grover's algorithm with a trivial oracle~\ref{sct::intrinsic_parallel_grover} (e g  the identity gate) on search spaces of various sizes 

Note that in some ranges of the plots from sections~\ref{sct::ciphers},~\ref{sct::hash},~\ref{sct::intrinsic_parallel_grover} and~\ref{sct::bitcoin} the total physical footprint increases slightly with the number of processors, which may seem counter-intuitive  This happens due to the fact that with more processors the required code distances decrease, and in some instances one can pipeline more magic states factories in parallel into the surface code, which in effect causes an increase in the overall physical footprint  Note that the total time per CPU is monotonically decreasing, as parallelizing distilleries does not increase the wall time  For more details see~\cite{10 1007/978-3-319-69453-5_18}  

\subsection{Public-key cryptography\label{sct::pk}}

Most of the recent progress in quantum cryptanalysis is related to the fault-tolerant layer in Fig ~\ref{fgr:flowchart_lite}  New methods and techniques
based on surface code lattice surgery~\cite{2018arXiv180806709F,1808 02892,1367-2630-14-12-123011} allow a significant decrease of the overall 
footprint (number of qubits, or space) taken by the quantum computation, and also a relatively modest decrease in time, in comparison with  methods based on surface code defects and braiding~\cite{PhysRevA 86 032324,Fowler:2013aa} 

We consider the best up-to-date optimized logical quantum circuits for attacking RSA and ECC public-key 
schemes~\cite{1706 06752,PhysRevA 52 3457,cuccaro04,Beauregard:2003:CSA:2011517 2011525} then perform a physical footprint resource estimation
analysis using lattice surgery techniques  We remark that the overall time required to run the algorithm depends on the level of parallelization 
for the magic state factories\footnote{Every T gate in the circuit must be implemented by a specialized magic state factory, each of which occupies a 
significant physical footprint  One can implement more magic states in parallel if one is willing to increase the physical footprint of the computation }  

For each public-key cryptogrpric scheme, we analyze the space/time tradeoffs and plot the results on a double logarithmic scale  We fit the data using a third degree 
polynomial\footnote{A third degree polynomial fits the data very precisely, providing a coefficient of determination $R^2$ greater than 0 997 } and obtain an analytical closed-form formula for the relation between the time and the number of qubits required to attack the scheme, in 
the form

\begin{equation}\label{eqn1}
y(x) = \alpha x^3 + \beta x^2 + \gamma x + \delta,
\end{equation}
where $y$ represents logarithm base 2 of the number of qubits and $x$ represents the logarithm base 2 of the time (in seconds)  For example,
the quantity 
\begin{equation}\label{eqn2}
y\left(\log_2(24\times 3600)\right) \approx y(16 3987)
\end{equation}
represents how many qubits are required to break the scheme in one day (24 hours) for a fixed physical error rate per gate $p_g$, assuming a 
surface code cycle time of 200ns  Note that the computation time scales linearly with the surface code cycle time, e g  a 1000ns surface code cycle 
time will result in a computation that is 5 times longer than a $200ns$ surface code cycle time  Therefore, for a specific cryptographic scheme for 
which we plotted the space/time tradeoffs using a surface code cycle time of $200ns$ and a fixed physical error rate per gate $p_g$, the number of 
qubits required to break a specific scheme in a time $t$ using an alternative surface code cycle time $t_c$ is given by

\begin{equation}\label{eqn3}
y\left(\log_2\left(\frac{200ns}{t_c}t\right)\right),
\end{equation}
where $t$ is expressed in seconds and $t_c$ is expressed in nanoseconds 

We assume a surface code cycle time of 200ns, in conformance with~\cite{PhysRevA 86 032324}  For each scheme we analyze, we compare its security using the more conservative (and realistic in the short term) $p_g=10^{-3}$ and also the more optimistic  $p_g=10^{-5}$  Note that assuming the more optimistic assumption from a quantum computing perspective is the more conservative assumption from a cybersecurity perspective 

Furthermore, in this analysis, we are reporting the full physical footprint, including the memory required for magic state distillation 
Using present-day techniques, the memory required for generating these generic input states accounts for a substantial fraction of the total memory cost and thus we are including these in the total cost estimate and will track the impact of improved methods 

\section{Symmetric ciphers\label{sct::ciphers}}
Below we analyze the security of AES family of symmetric ciphers against large-scale fault-tolerant quantum adversaries  We used the highly optimized logical circuits produced in
\cite{10 1007/978-3-319-29360-8_3}  

\subsection{AES-128}

        \includegraphics[width=0 429\textwidth]{figures/AES-128_cycles pdf}
      	\captionof{figure}{AES-128 block cipher  Required surface clock cycles per processor, as a function of the  number of processors ($\log_2$ scale)  The bottom brown line (theoretical lower bound, black box) represents the minimal number of queries required
	by Grover's algorithm, the cost function being the total number of queries to a black-box oracle, each query assumed to have unit cost, and a completely error-free circuit  The purple line (ideal grover, non-black-box) takes into consideration the structure of the oracle, the cost function being the total number of gates in the circuit, each gate having unit cost; the quantum circuit is assumed error-free as well  Both brown and magenta lines are displayed only for comparisons; for both of them, the $y$ axis should be interpreted as number of logical queries (operations, respectively) 	
The curves above the purple line show the overhead introduced by fault tolerance (in terms of required surface code cycles, each surface code cycle assumed to have unit cost)  More optimization at the logical layer will shift the purple line down, whereas more optimization at the fault-tolerant layer will move the upper curves closer to the purple line  Similar remarks to the above hold for the remaining plots in this manuscript }
      	\label{fgr:aes_128_cycles}
	
	For example, the plots in Fig ~\ref{fgr:aes_128_cycles} tells us that if we have $2^{50}$ quantum computers running Grover's algorithm in parallel, with no physical errors, then it would take about $2^{63}$ gate calls (where the purple line intersects the vertical line at $50$), where we assume each gate to have unit cost  Still with no errors, a trivial cost for implementing the cryptographic function (oracle) would bring the cost down to about $2^{38}$ oracle calls per quantum computer  Keeping the actual function implementation, but adding the fault-tolerant layer with a physical error rate of $10^{-7}$ (with appropriate assumptions and using state-of-the-art quantum error correction) pushes the cost up to around $2^{76}$ surface code cycles per quantum computer (where now each code cycle is assumed to have unit cost)  Similar remarks hold for the remaining plots in this manuscript 
        \includegraphics[width=0 429\textwidth]{figures/AES-128_time pdf}
      	\captionof{figure}{AES-128 block cipher  Required time per processor, as a function of the  number of processors ($\log_2$ scale)  The horizontal dotted line indicates one year  The $x$-axis is deliberately extended to show the necessary number of CPUs for a total time of one year  Thus the figure shows that it would take, with the stated assumptions, over $2^{80}$ parallel quantum searches to break AES-128 in a year  Similar remarks to the above hold for the remaining plots in this manuscript }
      	\label{fgr:aes_128_time}
        \includegraphics[width=0 429\textwidth]{figures/AES-128_phys pdf}
	\captionof{figure}{AES-128 block cipher  Physical footprint (physical qubits) per processor, as a function of the number of processors ($\log_2$ scale) }
      	\label{fgr:aes_128_phys}
        \includegraphics[width=0 429\textwidth]{figures/AES-128_phys_total pdf}
	\captionof{figure}{AES-128 block cipher  Total physical footprint (physical qubits), as a function of the number of processors ($\log_2$ scale)  Note that the qubits are not correlated across processors }
      	\label{fgr:aes_128_phys_total}

\subsection{AES-192}

	
        \includegraphics[width=0 429\textwidth]{figures/AES-192_cycles pdf}
      	\captionof{figure}{AES-192 block cipher  Required surface clock cycles per processor, as a function of the  number of processors ($\log_2$ scale) }
      	\label{fgr:aes_192_cycles}
	
        \includegraphics[width=0 429\textwidth]{figures/AES-192_time pdf}
      	\captionof{figure}{AES-192 block cipher  Required time per processor, as a function of the  number of processors ($\log_2$ scale) }
      	\label{fgr:aes_192_time}
	
        \includegraphics[width=0 429\textwidth]{figures/AES-192_phys pdf}
	\captionof{figure}{AES-192 block cipher  Physical footprint (physical qubits) per processor, as a function of the number of processors ($\log_2$ scale) }
      	\label{fgr:aes_192_phys}
	
        \includegraphics[width=0 429\textwidth]{figures/AES-192_phys_total pdf}
	\captionof{figure}{AES-192 block cipher  Total physical footprint (physical qubits), as a function of the number of processors ($\log_2$ scale)  Note that the qubits are not correlated across processors }
      	\label{fgr:aes_192_phys_total}


\subsection{AES-256}

	
        \includegraphics[width=0 429\textwidth]{figures/AES-256_cycles pdf}
      	\captionof{figure}{AES-256 block cipher  Required surface clock cycles per processor, as a function of the  number of processors ($\log_2$ scale) }
      	\label{fgr:aes_256_cycles}
	
        \includegraphics[width=0 429\textwidth]{figures/AES-256_time pdf}
      	\captionof{figure}{AES-256 block cipher  Required time per processor, as a function of the  number of processors ($\log_2$ scale) }
      	\label{fgr:aes_256_time}
	
        \includegraphics[width=0 429\textwidth]{figures/AES-256_phys pdf}
	\captionof{figure}{AES-256 block cipher  Physical footprint (physical qubits) per processor, as a function of the number of processors ($\log_2$ scale) }
      	\label{fgr:aes_256_phys}
	
        \includegraphics[width=0 429\textwidth]{figures/AES-256_phys_total pdf}
	\captionof{figure}{AES-256 block cipher  Total physical footprint (physical qubits), as a function of the number of processors ($\log_2$ scale)  Note that the qubits are not correlated across processors }
      	\label{fgr:aes_256_phys_total}

\section{Hash functions\label{sct::hash}}
In this section we study the effect of parallelized Grover attacks on the SHA-256~\cite{SHA2} snd SHA3-256~\cite{SHA3} family of hash functions  We used the highly optimized logical circuits produced in~\cite{10 1007/978-3-319-69453-5_18} 

\subsection{SHA-256}

        \includegraphics[width=0 429\textwidth]{figures/SHA-256_cycles pdf}
      	\captionof{figure}{SHA-256 cryptographic hash function  Required surface clock cycles per processor, as a function of the  number of processors ($\log_2$ scale) }
      	\label{fgr:sha_256_cycles}
        \includegraphics[width=0 429\textwidth]{figures/SHA-256_time pdf}
      	\captionof{figure}{SHA-256 cryptographic hash function  Required time per processor, as a function of the  number of processors ($\log_2$ scale) }
      	\label{fgr:sha_256_time}
        \includegraphics[width=0 429\textwidth]{figures/SHA-256_phys pdf}
	\captionof{figure}{SHA-256 cryptographic hash function  Physical footprint (physical qubits) per processor, as a function of the number of processors ($\log_2$ scale) }
      	\label{fgr:sha_256_phys}
        \includegraphics[width=0 429\textwidth]{figures/SHA-256_phys_total pdf}
	\captionof{figure}{SHA-256 cryptographic hash function  Total physical footprint (physical qubits), as a function of the number of processors ($\log_2$ scale)  Note that the qubits are not correlated across processors }
      	\label{fgr:sha_256_phys_total}


\subsection{SHA3-256}

        \includegraphics[width=0 429\textwidth]{figures/SHA3-256_cycles pdf}
      	\captionof{figure}{SHA3-256 cryptographic hash function  Required surface clock cycles per processor, as a function of the  number of processors ($\log_2$ scale) }
      	\label{fgr:sha3_256_cycles}
        \includegraphics[width=0 429\textwidth]{figures/SHA3-256_time pdf}
      	\captionof{figure}{SHA3-256 cryptographic hash function  Required time per processor, as a function of the  number of processors ($\log_2$ scale) }
      	\label{fgr:sha3_256_time}
        \includegraphics[width=0 429\textwidth]{figures/SHA3-256_phys pdf}
	\captionof{figure}{SHA3-256 cryptographic hash function  Physical footprint (physical qubits) per processor, as a function of the number of processors ($\log_2$ scale) }
      	\label{fgr:sha3_256_phys}
        \includegraphics[width=0 429\textwidth]{figures/SHA3-256_phys_total pdf}
	\captionof{figure}{SHA3-256 cryptographic hash function  Total physical footprint (physical qubits), as a function of the number of processors ($\log_2$ scale)  Note that the qubits are not correlated across processors }
      	\label{fgr:sha3_256_phys_total}
\section{Bitcoin~\label{sct::bitcoin}}
In this section we analyze the security of Bitcoin's~\cite{satoshi:bitcoin} proof-of-work protocol, which is based on finding a hash\footnote{The hash function being used by the protocol is H($x$) := SHA-256(SHA-256($x$) } pre-image which that starts
with a certain number of zeros  The latter is dynamically adjusted by the protocol so that the problem is on average solved by
the whole network in 10 minutes  Currently, it takes around $2^{75}$ classical hashing operations~\cite{btc_difficulty} for finding a desired hash pre-image successfully via brute-force search with specialized hardware 
        \includegraphics[width=0 429\textwidth]{figures/SHA-256-Bitcoin_cycles pdf}
      	\captionof{figure}{Bitcoin's cryptographic hash function H($x$) := SHA-256(SHA-256($x$))  Required surface clock cycles per processor, as a function of the  number of processors ($\log_2$ scale) }
      	\label{fgr:sha_256_bitcoin_cycles}
        \includegraphics[width=0 429\textwidth]{figures/SHA-256-Bitcoin_time pdf}
      	\captionof{figure}{Bitcoin's cryptographic hash function H($x$) := SHA-256(SHA-256($x$))  Required time per processor, as a function of the  number of processors ($\log_2$ scale) }
      	\label{fgr:sha_256_bitcoin_time}
        \includegraphics[width=0 429\textwidth]{figures/SHA-256-Bitcoin_phys pdf}
	\captionof{figure}{Bitcoin's cryptographic hash function H($x$) := SHA-256(SHA-256($x$))  Physical footprint (physical qubits) per processor, as a function of the number of processors ($\log_2$ scale) }
      	\label{fgr:sha_256_bitcoin_phys}
        \includegraphics[width=0 429\textwidth]{figures/SHA-256-Bitcoin_phys_total pdf}
	\captionof{figure}{Bitcoin's cryptographic hash function H($x$) := SHA-256(SHA-256($x$))  Total physical footprint (physical qubits), as a function of the number of processors ($\log_2$ scale)  Note that the qubits are not correlated across processors }
      	\label{fgr:sha_256_bitcoin_phys_total}


\section{Intrinsic cost of parallelized Grover's algorithm\label{sct::intrinsic_parallel_grover}}

More efficient quantum implementations of AES and SHA imply more efficient cryptanalysis  In this section, we aim to bound how much further optimized implementations of these cryptographic functions could help  We do so by assuming a trivial cost of $1$ for each function evaluation 

\subsection{Searching space of size $2^{56}$}

        \includegraphics[width=0 429\textwidth]{figures/MinimalGrover56bits_cycles pdf}
      	\captionof{figure}{Running Grover's algorithm with a trivial oracle, for a searching space of size $2^{56}$  Required surface clock cycles per processor, as a function of the  number of processors ($\log_2$ scale) }
      	\label{fgr:minimal_grover_56_cycles}
        \includegraphics[width=0 429\textwidth]{figures/MinimalGrover56bits_time pdf}
      	\captionof{figure}{Running Grover's algorithm with a trivial oracle, for a searching space of size $2^{56}$  Required time per processor, as a function of the  number of processors ($\log_2$ scale)  The dotted horizontal line indicates one year  }
      	\label{fgr:minimal_grover_56_time}
        \includegraphics[width=0 429\textwidth]{figures/MinimalGrover56bits_phys pdf}
	\captionof{figure}{Running Grover's algorithm with a trivial oracle, for a searching space of size $2^{56}$  Physical footprint (physical qubits) per processor, as a function of the number of processors ($\log_2$ scale) }
      	\label{fgr:minimal_grover_56_phys}
        \includegraphics[width=0 429\textwidth]{figures/MinimalGrover56bits_phys_total pdf}
	\captionof{figure}{Running Grover's algorithm with a trivial oracle, for a searching space of size $2^{56}$  Total physical footprint (physical qubits), as a function of the number of processors ($\log_2$ scale)  Note that the qubits are not correlated across processors }
      	\label{fgr:minimal_grover_56_phys_total}

\subsection{Searching space of size $2^{64}$}

        \includegraphics[width=0 429\textwidth]{figures/MinimalGrover64bits_cycles pdf}
      	\captionof{figure}{Running Grover's algorithm with a trivial oracle, for a searching space of size $2^{64}$  Required surface clock cycles per processor, as a function of the  number of processors ($\log_2$ scale) }
      	\label{fgr:minimal_grover_64_cycles}
        \includegraphics[width=0 429\textwidth]{figures/MinimalGrover64bits_time pdf}
      	\captionof{figure}{Running Grover's algorithm with a trivial oracle, for a searching space of size $2^{64}$  Required time per processor, as a function of the  number of processors ($\log_2$ scale) }
      	\label{fgr:minimal_grover_64_time}
        \includegraphics[width=0 429\textwidth]{figures/MinimalGrover64bits_phys pdf}
	\captionof{figure}{Running Grover's algorithm with a trivial oracle, for a searching space of size $2^{64}$  Physical footprint (physical qubits) per processor, as a function of the number of processors ($\log_2$ scale) }
      	\label{fgr:minimal_grover_64_phys}
        \includegraphics[width=0 429\textwidth]{figures/MinimalGrover64bits_phys_total pdf}
	\captionof{figure}{Running Grover's algorithm with a trivial oracle, for a searching space of size $2^{64}$  Total physical footprint (physical qubits), as a function of the number of processors ($\log_2$ scale)  Note that the qubits are not correlated across processors }
      	\label{fgr:minimal_grover_64_phys_total}

\subsection{Searching space of size $2^{128}$}

        \includegraphics[width=0 429\textwidth]{figures/MinimalGrover128bits_cycles pdf}
      	\captionof{figure}{Running Grover's algorithm with a trivial oracle, for a searching space of size $2^{128}$  Required surface clock cycles per processor, as a function of the  number of processors ($\log_2$ scale) }
      	\label{fgr:minimal_grover_128_cycles}
        \includegraphics[width=0 429\textwidth]{figures/MinimalGrover128bits_time pdf}
      	\captionof{figure}{Running Grover's algorithm with a trivial oracle, for a searching space of size $2^{128}$  Required time per processor, as a function of the  number of processors ($\log_2$ scale) }
      	\label{fgr:minimal_grover_128_time}
        \includegraphics[width=0 429\textwidth]{figures/MinimalGrover128bits_phys pdf}
	\captionof{figure}{Running Grover's algorithm with a trivial oracle, for a searching space of size $2^{128}$  Physical footprint (physical qubits) per processor, as a function of the number of processors ($\log_2$ scale) }
      	\label{fgr:minimal_grover_128_phys}
        \includegraphics[width=0 429\textwidth]{figures/MinimalGrover128bits_phys_total pdf}
	\captionof{figure}{Running Grover's algorithm with a trivial oracle, for a searching space of size $2^{128}$  Total physical footprint (physical qubits), as a function of the number of processors ($\log_2$ scale)  Note that the qubits are not correlated across processors }
      	\label{fgr:minimal_grover_128_phys_total}


\subsection{Searching space of size $2^{256}$}

        \includegraphics[width=0 429\textwidth]{figures/MinimalGrover256bits_cycles pdf}
      	\captionof{figure}{Running Grover's algorithm with a trivial oracle, for a searching space of size $2^{256}$  Required surface clock cycles per processor, as a function of the  number of processors ($\log_2$ scale) }
      	\label{fgr:minimal_grover_256_cycles}
        \includegraphics[width=0 429\textwidth]{figures/MinimalGrover256bits_time pdf}
      	\caption{Running Grover's algorithm with a trivial oracle, for a searching space of size $2^{256}$  Required time per processor, as a function of the  number of processors ($\log_2$ scale) }
      	\label{fgr:minimal_grover_256_time}
        \includegraphics[width=0 429\textwidth]{figures/MinimalGrover256bits_phys pdf}
	\caption{Running Grover's algorithm with a trivial oracle, for a searching space of size $2^{256}$



ground_truth: The maximum velocity scales with the square root of the amplitude.

prompt_front: Now, answer the following question based on the text below, only give me the answer and do not output any other words.

Question: What does the paper aim to solve?

Read the following text and answer briefly.

Context 3:  In the model, k 1 y represents the linear restoring force of the fluid, and k 2 y 2 and k 3 y 3 are respectively the quadratic and cubic nonlinear restoring forces of the fluid 

Volterra kernel functions

Generally, the first several order responses dominate the total response of a system  Hence, the order of the Volterra series in Eq  22 is chosen to be 3, namely, N = 3  For computing the first three order responses from Eq  22, the first three order Volterra kernel functions need to be known  Since Volterra kernel functions and corresponding frequency response functions are related by a specific Fourier transform pair, we can first write the first three orders of frequency response functions directly from Eq  28 
Then, Volterra kernel functions are obtained by the inverse Fourier transform  Based on the harmonic probing algorithm , the linear frequency response function (LFRF) H 1 (ω), the quadratic frequency response function (QFRF) H 2 (ω 1 , ω 2 ) and the cubic frequency response function (CFRF) H 3 (ω 1 , ω 2 , ω 3 ) are analytically given by:
and Figures show H 1 (ω), H 2 (ω 1 , ω 2 ) and H 3 (ω 1 , ω 2 , ω 3 ), respectively, which agree well with those reported in Ref    As expected, the modulus of H 1 (ω) in Fig  peaks near the linear natural frequency ω 0 , and the phase angle decreases monotonically from 0 to -π with increasing frequency 
Figure shows the sum frequency QFRF, where the energy converges along the line of ω 1 +ω 2 ≈ ω 0   Therefore, when the sum frequency of a two-tone excitation equals the linear resonant frequency, the second-order response may reach its maximum  Additionally, those pairs of excitations in line ω 1 + ω 2 ≈ ω 0 may produce non-negligible vibration magnitudes due to second-order nonlinear effects 
For the difference frequency QFRF in Fig  (b), the energy converges along two main lines, i e , ω 1 ≈ ω 0 and ω 2 ≈ ω 0   Figures show moduli of H 3 (ω, ω, ω) and H 3 (ω, ω, −ω), which are diagonal terms of the sum frequency CFRF and the difference frequency CFRF, respectively  While the modulus of H 3 (ω, ω, ω) peaks near ω ≈ ω 0 /3 and ω 0 , that of H 3 (ω, ω, −ω) peaks near ω ≈ ω 0 with a small hump around ω ≈ ω 0 /2 
Values at ω ≈ ω 0 /3 and ω 0 /2 may be magnified by higher-order stiffness terms in Eq  28  By performing the inverse fast Fourier transform to Eqs  29-31, the corresponding linear impulse response function h 1 (t), quadratic impulse response function h 2 (t 1 , t 2 ) and cubic impulse response function h 3 (t 1 , t 2 , t 3 ) are obtained 
Here, h 1 (t) and h 2 (t 1 , t 2 ) are plotted in Figs  , respectively, and h 3 (t, t, t) is shown in Fig    In the numerical implementation, Eqs  29-31 have been utilized with the frequency interval ∆ω = 0 1, number of frequency components N n = 1025, and cut-off frequencies 102 4 and −102 4  For decoupling Volterra kernel functions by using Laguerre polynomials, the damping rate and number of Laguerre polynomials for each order Volterra kernel function need to be determined (see Eqs  4 and 6) 
In this example, we set a 1 = a 2 = a 3 = 2 and R 1 = R 2 = R 3 = 24 because coefficients c p 1    pn become very small when R n > 24, n = 1, 2, 3  According to Eq  7, the coefficients of the first three order Volterra kernel functions are calculated, which are shown in Figs  9 and 10  For convenience, Fig  plots only c p 1 p 2 p 3 for p 3 = 0 
With the increase of the order of Laguerre polynomials, coefficients in Figs  9 and 10 gradually decrease, which illustrates how the first several orders of Laguerre polynomials dominate all orders of the Volterra kernel function  With the known Laguerre polynomials and corresponding coefficients, Volterra kernel functions are reconstructed by Eq  6 
For comparison, reconstructed Volterra kernel functions are also plotted in Figs    The reconstructed results agree well with the analytical values, which verifies the accuracy of the decomposition 

Sinusoidal excitation

From Eq  28, we consider a sinusoidal excitation where A and Ω are the amplitude and the frequency, respectively  Five cases of A and Ω are shown in Table   Excitation frequencies in Cases 1 and 2 are larger than the linear natural frequency (ω 0 ≈ 3 16), those in Case 3 are very close to ω 0 , and those in Cases 4 and 5 are smaller than ω 0  
All cases have same amplitudes  The poles of a sinusoidal excitation are λ 1,2 = ±iΩ, and the residues are α 1,2 = ∓iA/2  Numerical values of excitation poles and residues for different cases are listed in Table   Table : Parameter values, poles and residues of the sinusoidal excitation Substituting poles and residues of the excitation, as well as those of the system into Eqs 
20 and 19, response coefficients β p i ,k corresponding to system poles −a i and response coefficients γ p i ,ℓ corresponding to excitation poles λ ℓ are calculated, respectively  According to Eq  22, the first three orders of responses for each case in Table are calculated  Figures )-15(a) show the comparison of responses obtained by the proposed method and the fourth-order Runge-Kutta method with ∆t = 10 −4  
For Cases 1 and 2, the first-order responses agree well with the total responses obtained by the Runge-Kutta method, and the higher-order responses only slightly improve the transient parts  For Cases 3-5, the sum of the first three orders of responses is in good agreement with the Runge-Kutta solution 
When the response nonlinearity increases, higher-order responses need to be considered  In other words, the proposed method can accurately compute the nonlinear responses by choosing a small number N of Volterra series terms  Figures )-15(b) show the contributions of the three response components for the five cases 
In each case, the first-order response is the most dominant component, and the contributions of secondand third-order responses are much less than those of the first-order response  Especially for Cases 1 and 2, whose excitation frequencies are far from the linear natural frequency, second-and thirdorder responses are close to zero 
This may be because the QFRF and CFRF approach zero when the frequency is larger than 4 rad/s (see Figs  )  Furthermore, the mean values of the first-order responses are approximately zero, and those of the second-order responses are always smaller than zero, which are the difference frequency components in Eq  27 
Moreover, it is clearly observed that second-order responses for Cases 3-5 exhibit a periodic oscillation with a period near half of that for the first-order response, which is excited by the sum frequency component of the excitation (see second part of Eq  27)  Compared with steady-state solutions of first-and second-order responses, those of third-order responses in Cases 3-5 are no longer single regular motions 
By performing the FFT, frequency spectra of these three third-order responses are shown in Fig    We find that these three third-order responses are all dominated by their own fundamental harmonic component and the third harmonic (triple frequency) component  Figure shows the computational time to calculate the response of the oscillator for Case 1 by the proposed method, the fourth-order Runge-Kutta method and the convolution method 
The proposed method, which has an explicit solution, is much more efficient in computational time than the latter two methods, which need small time steps to obtain high-precision solutions  In particular, the efficiency of the proposed method increases with the length of the response time  Computation time (sec )
t=0 02s Convolution, t=0 02s Convolution, t=0 001s Runge-Kutta, t=0 001s Fig  : Comparison of computation efficiency of the proposed method, the fourth-fifth order Runge-Kutta method and the convolution method regular loading in Case 1

Irregular excitation

In Eq  28, considering an irregular excitation consisting of several cosine functions where N f is the number of cosine components; A n , Ω n and θ n are the amplitude, frequency and phase angle of the n th component, respectively  Table lists three cases of these parameters  In each case, the amplitudes of all components are the same, and phase angles θ n uniformly distributed between 0 and 2π are randomly generated 
To decompose the excitation into a pole-residue form, the Prony-SS method is used, whose concept is similar to that of a principal component method  The readers are referred to Ref  for details  The chosen rank of each case is also shown in Table   Figure shows the comparison of original excitations and reconstructed results of these three cases, which all have excellent agreement 
show the results computed by the fourth-order Runge-Kutta method  In all cases, the sums of the first three orders of responses agree well with those obtained by the Runge-Kutta method  The contributions of the first three orders of responses for each case are plotted in Figs  )-21(b)  Similarly, the system vibration is dominated by the first-order response 
However, the contributions of second-and third-order significantly grow with increasing excitation magnitude and frequency number  Furthermore, when the magnitude of the nonlinear response becomes large, sharp troughs are present  This phenomenon may be induced by the nonlinear stiffness  While the first-order response fails to capture these troughs, the higher-order responses successfully capture these troughs 
Figure plots the computational time to calculate the response of the oscillator for the irregular loading in Case 1 by the proposed method and the fourth-fifth order Runge-Kutta method, respectively  While the fourth-fifth order Runge-Kutta method is more efficient under a small response length, the proposed method becomes much more efficient when the response length is larger than about 130 s 
In addition, the proposed method obtains the explicit response solution, so one can directly obtain the response value at a specific time t p instead of integrating from 0 to t p for traditional numerical methods  Computation time (sec ) Proposed, t=0 02s Runge-Kutta, t=0 001s Fig  : Comparison of computation efficiency of the method and the fourth-fifth order Runge-Kutta method for irregular loading in Case 1

An unknown nonlinear

To check the applicability of the proposed method to an unknown nonlinear system, a known input excitation and its corresponding response are used to identify its Volterra kernel functions  When the Volterra kernel functions are known, we can follow the procedure in Section 4 1 to predict system responses 
In this study, the input excitation is white noise with a constant power spectrum S 0 = 0 001, and the corresponding response is obtained by solving Eq  28 by the fourth-order Runge-Kutta method, which is shown in Fig    From Section 4 1, we determine that the sum of the first two orders of responses agrees well with the total response 
In this study, the order of Volterra series N is chosen to be 2, damping rates of Laguerre polynomials are a 1 = a 2 = 2, and numbers of Laguerre polynomials are R 1 = R 2 = 24  To estimate the first two orders of Volterra kernel functions, a matrix equation is constructed using excitation data and response data 
By using the least square method to solve this matrix equation, coefficients c p 1 and c p 1 p 2 in Eq  8 are identified  Figure plots c p 1 and c p 1 p 2 , respectively, which have good agreement with the exact results in Fig    Then, the first two order Volterra kernel functions are constructed by Eq  6 
Compared with the exact results in Figs  , the identified Volterra kernel functions in Fig  completely agree well with the exact solutions  Note that the white noise excitation, which can excite more frequency components of the response, is chosen to obtain good Volterra kernel functions  A regular excitation f (t) = sin(πt) and an irregular excitation f (t) = N f n=1 A n cos(Ω n t + θ n ) with A n = 0 3 and Ω n varying from 0 to 40 with equal interval 1 are chosen as input excitations 
The predicted responses, along with results obtained by the fourth-order Runge-Kutta method, are shown in Fig    In both cases, the proposed method accurately predicts system responses  As presented in Eq  23, a nonlinear response is the sum of three terms: natural response y s (t), forced response y f (t) and cross response y c (t) 
These individual terms, as well as their sum to two excitations, are shown in Figs  27 and 28, respectively  As shown in Figs  and 28, both first-and second-order responses include the natural response y s (t) and the forced response y f (t), but the cross response y c (t) only exists in second-order responses 
When t becomes larger, both y s (t) and y c (t) diminish due to the presence of system damping, and the total response is entirely governed by y f (t)  Moreover, we notice some features at t = 0 for these components, including y s (0) = −y f (0) for the first-order response and y s (0) + y f (0) = −y c (0) for the second-order response, which are due to imposed zero initial conditions 

Conclusions

Considering arbitrary irregular excitations, an efficient generalized pole-residue method to compute the nonlinear dynamic response modelled by the Volterra series was developed  A core of the proposed method was obtaining poles and corresponding coefficients of Volterra kernel functions, then those of each order response modelled by each order Volterra series 
Once the poles and corresponding coefficients of Volterra kernel functions and excitations were both available, the remaining derivation could follow a similar pole-residue method that had been developed for ordinary linear oscillators  To obtain the poles and corresponding coefficients of Volterra kernel functions, two steps were included: (1) using Laguerre polynomials to decouple higher-order Volterra kernel functions with respect to time and (2) obtaining poles and corresponding coefficients of Laguerre polynomials in the Laplace domain 
Because the proposed method gave an explicit, continuous response function of time, it was much more efficient than traditional numerical methods  Moreover, many meaningful physical and mathematical insights were gained because not only each order response but also the natural response, the forced response and the cross response of each order were obtained in the solution procedure 
To demonstrate that the proposed method was not only suitable for a system with a known equation of motion but also applicable to a system with an unknown equation of motion, two numerical studies were conducted  For each study, regular excitations and complex irregular excitations with different parameters were investigated 
The efficiency of the proposed method was verified by the fourth-order Runge-Kutta method  This paper only computes the response under zero initial conditions  The response under non-zero initial conditions will be investigated in our future work 



ground_truth: The paper aims to solve nonlinear system vibration problems efficiently.