## 4 Training Sequence Optimization Based on CGD Algorithm over the Riemannian Manifold
This approach is useful for finding a local minimum of the MSE differentiable function with respect to the pilot matrix. In particular, the proposed solution exploits the doubling or halving of the gradient direction to direct steps proportional to the negative of the gradient in order to find the local minimum of the MSE function using a gradient descent based approach. The subscript \(dg\) denotes doubling the step size in the proposed CGD method, whereas subscript \(hg\) refers to halving the step size in the proposed CGD, where the letter \(g\) stands for the gradient. The variable \(X\) is given as \(X=\left(5T_{\text{tr}}^{3}+2T_{\text{tr}}^{2}(2N-1)\right)\) for SMSE and the variable \(B\) is given as \(B=\left(5T_{\text{tr}}^{3}+16N^{2}T_{\text{tr}}+14 NT_{\text{tr}}^{2}-2T_{\text {tr}}^{2}-10 NT_{\text{tr}}\right)\) for CGD. The flops calculations show that all three gradient algorithms grow with the number of training sequences as \(\mathcal{O}\big{(}T_{\text{tr}}^{3}\big{)}\), with the number of antennas as \(\mathcal{O}\big{(}N^{2}\big{)}\), and with the number of users as \(\mathcal{O}\big{(}K\big{)}\). * The complexity of calculating the gradient in step 2 of Algorithm 1, so that the term \(\sum_{k=1}^{K}\mathbf{R}_{k}^{2}\mathbf{S}_{\text{tr}}\big{(}\mathbf{S}_{\text {tr}}^{\text{H}}\mathbf{R}_{k}\mathbf{S}_{\text{tr}}+\mathbf{I}_{\text{tr}} \big{)}^{-1}+\mathbf{R}_{k}\mathbf{S}_{\text{tr}}\times\big{(}\mathbf{S}_{ \text{tr}}^{\text{H}}\mathbf{R}_{k}\mathbf{S}_{\text{tr}}+\mathbf{I}_{\text{tr }}\big{)}^{-1}\mathbf{S}_{\text{tr}}^{\text{H}}\,\mathbf{R}_{k}^{2}\mathbf{S}_{ \text{tr}}\big{(}\mathbf{S}_{\text{tr}}^{\text{H}}\mathbf{R}_{k}\mathbf{S}_{ \text{tr}}+\mathbf{I}_{\text{tr}}\big{)}^{-1}\) requires \((K-1)(5T_{\text{tr}}^{3}+16N^{2}T_{\text{tr}}+14 NT_{\text{tr}}^{2}-2T_{\text {tr}}^{2}-10 NT_{\text{tr}})\) flops. * Calculating the matrix exponential requires \(2(2/3)N^{2}T_{\text{tr}}\) flops [52,53]. * Checking the gradient convergence in step 3 using the squared Frobenius norm of an \(N\times T_{\text{tr}}\) matrix requires \(2 NT_{\text{tr}}-1\) flops [56]. * Calculating the term step size adaptation in step 5 and step 6 of Algorithm 1 requires \(\left(2(2/3)N^{2}T_{\text{tr}}+(t_{d}+3)N^{2}T_{\text{tr}}+t_{h}(2(2/3)N^{2}T_ {\text{tr}})+3N^{2}T_{\text{tr}}\right)\) flops [52]. * Multiplying an \(N\times N\) matrix with an \(N\times T_{\text{tr}}\) matrix, entails \(2N^{2}T_{\text{tr}}-NT_{\text{tr}}\) flops. * Multiplying a \(T_{\text{tr}}\times N\) matrix with an \(N\times T_{\text{tr}}\) matrix, entails \(2N^{2}T_{\text{tr}}-T_{\text{tr}}^{2}\) flops. * Multiplying a \(T_{\text{tr}}\times T_{\text{tr}}\) matrix with a \(T_{\text{tr}}\times T_{\text{tr}}\) matrix requires \(2T_{\text{tr}}-T_{\text{tr}}^{2}\) flops. * Multiplying an \(N\times N\) matrix with an \(N\times N\) matrix, entails \(2N^{3}-N^{2}\) flops. * Multiplying an \(N\times T_{\text{tr}}\) matrix with a \(T_{\text{tr}}\times T_{\text{tr}}\) matrix, entails \(2 NT_{\text{tr}}^{2}-NT_{\text{tr}}\) flops. * Multiplying an \(N\times T_{\text{tr}}\) matrix with a \(T_{\text{tr}}\times N\) matrix, entails \(2N^{2}T_{\text{tr}}-N^{2}\) flops. * The scalar matrix multiplication with an \(N\times T_{\text{tr}}\) matrix needs \(NT_{\text{tr}}\) flops. \begin{table}
\begin{tabular}{l l} \hline \hline
**Algorithms** & **Complexity in Flops per Iteration** \\ \hline SCMI [30] & \(T_{\text{tr}}^{3}K+T_{\text{tr}}^{2}\big{(}N(4K-2)-1\big{)}+4N^{2}T_{\text{tr}} (K-1)+NT_{\text{tr}}(7-3K)-1\) \\ \hline SMSE [31] & \(NT_{\text{tr}}(2K(8N-5)+23N(t_{d}+t_{h})+80N+13)-1+(K-1)X\) \\ \hline Proposed CGD & \(NT_{\text{tr}}+1/3N^{2}\big{(}T_{\text{tr}}(3t_{dg}+4t_{hg}+44)-3\big{)}-1+(K-1)B\) \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Computational complexity analysis. * Adding an \(N\times T_{\text{tr}}\) matrix to an \(N\times T_{\text{tr}}\) matrix requires \(NT_{\text{tr}}\) flops. * Inverting of a \(T_{\text{tr}}\times T_{\text{tr}}\) matrix requires \(T_{\text{tr}}^{3}\) flops.