## 4 Maximization of Weighted Sum Rate Based on ZF Scheme
### Algorithm Summary and Analysis
In Algorithm 1, we specify the iteration precision of SCA to \(\epsilon_{\text{SCA}}\), which requires \(\mathcal{O}(\log(1/\epsilon_{\text{SCA}}))\) iterations to be performed. In each iteration process, the MATLAB toolbox is used to resolve Problem **P4**, whose time complexity is \(\mathcal{O}\big{(}\sqrt{\Omega_{\text{v}}}\max\{\Omega_{\text{c}},\Omega_{ \text{v}}\}^{4}\big{)}\)[35]. Here, \(\Omega_{\text{v}}\) represents the number of variables, and \(\Omega_{\text{c}}\) represents the number of constraints. For Problem **P4**, \(\Omega_{\text{v}}=NK+4K\) and \(\Omega_{\text{c}}=6K+2N\). Then, the overall computational complexity of Algorithm 1 is \(\mathcal{O}\big{(}(NK+4K)^{4.5}\log(1/\epsilon_{\text{SCA}})\big{)}\). Algorithm 2 requires analysis of \(3^{K}\) possibilities, meaning Algorithm 1 needs to be run \(3^{K}\) times. Therefore, the overall computational complexity of Algorithm 2 is \(\mathcal{O}\big{(}3^{K}(NK)^{4.5}\log(1/\epsilon_{\text{SCA}})\big{)}\). As the number of users increases, the computational complexity of Algorithm 2 rapidly escalates. Considering the properties of the function \(\mathcal{F}(\cdot)\), we can propose the following proposition. Proposition 3: _The \(\gamma_{k,1}\gamma_{k,2}\) corresponding to the user with a better product of the channel state and the weight coefficient will preferentially fall within the convex interval of the function \(\mathcal{F}(\cdot)\)._  
Proposition 3 is easily understandable: when resources are constrained, allocating the majority of resources to users with better states can yield higher overall benefits. Accordingto Proposition 2, under the optimal solution, \(\gamma_{k,1}\),\(\gamma_{k,2}\) must be non-negative. Moreover, as \(\mathcal{F}(\cdot)\) monotonically decreases in the positive half-axis, resources will prioritize, placing more \(\gamma_{k,1}\),\(\gamma_{k,2}\) values within the convex intervals. Therefore, we can use the CSI and weight distribution to pre-sort \(K\) users. Then, we can discuss the possibilities of the number of users in concave intervals, ranging from 0 to \(K\) users, corresponding to \(K+1\) potential distributions of \(\gamma_{k,1}\),\(\gamma_{k,2}\). We summarize the simplified algorithmic process in Algorithm 3, reducing the overall algorithm complexity to \(\mathcal{O}\big{(}2K(NK)^{4.5}\log(1/\varepsilon_{\text{SCA}})\big{)}\). ```
Input:\(\tau,P_{\text{S}},\varepsilon_{\text{SCA}},T_{\max},d,g_{k},\mu_{k},\forall k\), Output:\(\boldsymbol{W}\) and \(\widetilde{R}_{all}\) Initialize: Sort the K users by \(\Gamma(\mu_{k}|g_{k}^{T}|)\),\(\Gamma(1)\leq\Gamma(2)\leq\cdots\leq\Gamma(K)\), where \(\Gamma(k)\) represents the \(k\)-th smallest user under this rule; for\(\iota=0,\cdots,K\)do if\(\iota=0\)then \(\hat{\mathcal{U}}_{\iota}=\varnothing\), all \(\gamma_{k,1}\),\(\gamma_{k,2}\) in \(\hat{\mathcal{V}}_{\iota}\); if\(0<\iota<K\)then \(\gamma_{\Gamma(1),1},\gamma_{\Gamma(1),2},\cdots,\gamma_{\Gamma(\iota),1}, \gamma_{\Gamma(\iota),2}\) in \(\hat{\mathcal{U}}_{\iota}\); \(\gamma_{\Gamma(\iota+1),1},\gamma_{\Gamma(\iota+1),2},\cdots,\gamma_{\Gamma(K ),1},\gamma_{\Gamma(K),2}\) in \(\hat{\mathcal{V}}_{\iota}\); if\(\iota=K\)then  all \(\gamma_{k,1}\),\(\gamma_{k,2}\) in \(\hat{\mathcal{U}}_{\iota}\),\(\hat{\mathcal{V}}_{\iota}=\varnothing\);  running Algorithm 1 with \(\{\hat{\mathcal{U}}_{\iota},\hat{\mathcal{V}}_{\iota}\}\) to obtain \(\widetilde{R}_{all}(\iota)\) and \(\boldsymbol{W}(\iota)\);  Discussion: Compare all possibilities and obtain the optimal solution \(\boldsymbol{W}^{*}=\underset{\boldsymbol{W}(\iota),\forall\iota=1,\cdots,K}{ \operatorname*{arg\,max}}\;\widetilde{R}_{all}(\iota)\). ```  
**Algorithm 3**The proposed low-complexity algorithm for Problem **P1**.