## 2 DQL Method
### Direct Step  
#### 2.2.1 Framework of the Direct Step  
In the direct step, the method searches from the starting search point \(x_{0}^{k}\) in the positive and negative coordinate directions or a rotation thereof. We denote the set of search directions at iteration \(k\) as \(D^{k}\). The positive and negative coordinate directions can be written as the columns of an \(n\times 2n\) matrix \(\left[I_{n}\ \ -I_{n}\right]\). The method applies an \(n\times n\) rotation matrix \(D^{k}= \begin{bmatrix}d_{1}^{k}&d_{2}^{k}&\cdots&d_{n}^{k}\end{bmatrix} \in \mathbb{R}^{n\times n}\), so \(D^{k}\) can be written as \( \begin{bmatrix}D^{k}&-D^{k}\end{bmatrix} \). We first need to determine how we want to rotate the search directions. We have two possible situations. First, if the method predicts a direction for which improvement is likely to be found, then we call this direction a _desired_ direction. Notice that, since we search on both positive direction and negative direction, we also search the direction where an improvement is unlikely to be found. Conversely, if the method predicts a direction that is highly unlikely to provide improvement, then we call the corresponding direction an _undesired_ direction. Denoting the predicted direction by \(r^{k}\), we have the following 2 possibilities. * If \(r^{k}\) is a _desired_ direction, then we construct \(D^{k}\) such that it rotates one of the search directions to align with \(r^{k}\). * If \(r^{k}\) is an _undesired_ direction, then we construct \(D^{k}\) such that it rotates the vector \( \begin{bmatrix}1&\cdots&1\end{bmatrix} \) to align with \(r^{k}\). In this way, the coordinate directions are rotated to point away from \(r^{k}\) as much as possible. Figure 1 shows how the method rotates the search direction matrix \(\bar{D}^{k}\) towards a desired direction or away from an undesired direction for an \(\mathbb{R}^{2}\) problem. For an \(n\)-dimensional rotation \((n>3)\), the rotation is described as rotating by an angle of \(\alpha\) on an \(n-1\) dimension hyperplane that is spanned by a pair of orthogonal unit  
Figure 1: An example of rotating search direction \(D^{k}\) (black) for (**a**) a desired direction (red) and (**b**) an undesired direction (green). (**a**) Align \(\bar{D}^{k}\) towards the desired direction \(r^{k}\). (**b**) Align \(\bar{D}^{k}\) away from the undesired direction \(r^{k}\). vectors \(u\) and \(v\in\mathbb{R}^{n}\). According to [PERSON], such a rotation matrix \(D\) can be defined as follows [19],  
\[L(\alpha,u,v)=I_{n}+(vu^{\top}-uv^{\top})\sin\alpha+(uu^{\top}+vv^{\top})(\cos \alpha-1). \tag{12}\]  
For a desired direction \(r^{k}\), the rotation matrix \(D^{k}\) can be found by rotating the coordinate directions on the hyperplane spanned by one coordinate direction, e.g., \(e_{1}\), and \(r^{k}\) by the angle between \(e_{1}\) and \(r^{k}\). Notice that if \(e_{1}\) and \(r^{k}\) are linearly dependent, then \(r^{k}\) lies on the coordinate direction \(e_{1}\), so \(D^{k}\) is the identity matrix. In conclusion, if \(r^{k}\) is a desired direction, the search directions \(D^{k}\) is calculated as follows,  
\[D^{k}=L(\arccos{(r^{k}}^{\top}e_{1}),r^{k},e_{1}). \tag{13}\]  
For an undesired direction \(r^{k}\), the method needs to keep the search directions as far from \(r^{k}\) as possible. In order to do so, it first constructs a normalized one-vector \(\mathbf{\hat{1}}\), which is calculated as follows,  
\[\mathbf{\hat{1}}=\frac{\sum_{i=1}^{n}e_{i}}{\left\|\sum_{i=1}^{n}e_{i}\right\| }=\frac{\sum_{i=1}^{n}e_{i}}{\sqrt{n}}. \tag{14}\]  
Then, the method aligns \(\mathbf{\hat{1}}\) with the undesired direction \(r^{k}\).