## 3 Wave Propagation in Non-Linear Dispersive Media
In order to do that, we use the BFGS algorithm, so that the Hessian matrix of each iteration is recursively updated. The BFGS algorithm is one of the quasi-Newton methods that are used to compute the Hessian matrix. Recursive computation reduces the computational cost of the optimization by eliminating the need to compute the second derivative at each iteration. We will use the BFGS algorithm because of its accuracy and simplicity. The most general form of the quasi-Newton method is given as [11]:  
Figure 1:0  
Figure 1:1  
Quasi-Newton methods, like steepest descent, require only the gradient of the objective function to be supplied at each iteration. The Hessian is updated by analyzing successive gradient vectors. The whole BFGS algorithm is as described below [11]. Given a starting point \(x_{0}\), convergence tolerance \(\varepsilon>0\), inverse Hessian approximation \(H_{0}\);  
Figure 1:2  
_while \(\
abla f_{k}>\varepsilon\);_  
_Compute search direction_  
\(p_{k}=-\ H_{k}\ \
abla f_{k}\);  
_Set \(x_{k+1}=x_{k}+\alpha_{k}\ p_{k}\), where \(\alpha_{k}\) is computed from a line search procedure to satisfy the Wolfe conditions._  
_Define \(s_{k}=x_{k+1}-x_{k}\) and \(y_{k}=\
abla f_{k+1}-\
abla f_{k}\);_  
_Compute \(H_{k+1}\) using:_  
_Where \(\rho_{k}=\frac{1}{y_{k}\tau_{k}}\)_  
Figure 1:3  
_end (while)_  
The step size \(\alpha_{k}\) can be computed from a line search procedure to satisfy the Wolfe conditions:  
Figure 1:4  
Figure 1:5  
Alternatively, the step size \(\alpha_{k}\) can be computed from the so-called backtracking approach [11]:  
Choose \(a>0,\ \ \rho\in(0,1),\ \ \ c\in(0,1)\)  
repeat until \(f(x_{k}+\alpha\ p_{k})\leq f(x_{k})+c\alpha\
abla f_{k}{}^{T}p_{k}\)  
\(\alpha\leftarrow\rho\alpha\)  
end  
Since our problem is the amplification of a stimulus (input) wave via non-linear wave mixing with a high-power pump wave, for this problem, the optimization parameters are the frequencies of the N ultrashort pulses \(v_{1},\ v_{2},\ \ldots,v_{N}\) that constitute the total pump wave. Assume that \(E_{1}\) is the low power stimulus wave to be amplified, and \(E_{2}\) is the high-power pump wave, which is the combination of N ultrashort pulses. The general formulation for the maximization of the stimulus wave magnitude (gain factor) is summarized as follows:  
**Optimization parameters**: \(\mathbf{\
u}=[\
u_{1},\;\
u_{2},\;\ldots,\
u_{N}]\), **Cost function to be maximized**: \(f=\left|E_{1}(\mathbf{\
u})\right|\)  
**Constraints**: \(g_{1}(\mathbf{\
u})\leq c_{1},g_{2}(\mathbf{\
u})\leq c_{2},\;\ldots,\;\;g_{N}(\mathbf{\
u })\leq c_{N}\)  
**Equations:**  
Figure 1:6  
Figure 1:7  
Figure 1:8  
Figure 1:9  
This problem is a constrained optimization problem, we can convert this problem into an unconstrained optimization problem by modifying the cost function via the addition of penalty functions. In the case of a maximization problem, these penalty functions yield a decrease in the cost function when the constraints are violated. In our case, the penalty for violating the constraints is adjusted to yield a quadratic decrease:  
**Augmented cost function**: (penalty function method)  
\[f=\left|E_{1}(\mathbf{\
u})\right|-L\left\{\sum\
olimits_{i=1}^{N}\delta_{i}(g_{i }(\mathbf{\
u})-c_{i})\right\}^{q},\delta_{i}=\left\{ \begin{array}{ll}0&\quad \text{if}\;\;g_{i}(\mathbf{\
u})\leq c_{i}\\ >0&\quad\text{if}\;\;g_{i}(\mathbf{\
u})>c_{i}\end{array}