## 3 Proposed Fusion Algorithm
### Endmember Estimation via ADMM  
Similar to the above process of abundance estimation, we reformulate (12) in such a vector-based form that the primal variable can also be divided into several separable elements with equality constraints. To be exact, we rewrite (12) as  
\[\min_{\mathbf{a},\mathbf{b},\mathbf{w},\mathbf{d}} \frac{1}{2}\|\mathbf{B}_{2}\mathbf{a}-\mathbf{y}\|_{2}^{2}+\frac {\lambda_{a}}{2}\|\mathbf{P}\mathbf{a}\|_{2}^{2}+\lambda_{e}\|\mathbf{w}\|_{1 }+I_{+}(\mathbf{d})\] (20) s.t. \[\mathbf{a}=\mathbf{b}\] \[\mathbf{w}=\mathbf{D}_{e}\mathbf{b}\] \[\mathbf{a}=\mathbf{d}\]  
where \(\mathbf{B}_{2}\triangleq[((\mathbf{S}^{k+1}\mathbf{G})^{T}\otimes\mathbf{I}_ {M})^{T}\), \(((\mathbf{S}^{k+1})^{T}\otimes\mathbf{F})^{T}]^{T}\in\mathbb{R}^{(ML_{h}+LM_{m}) \times MN}\) and \(\mathbf{a}=\mathbf{vec}(\mathbf{A})\in\mathbb{R}_{+}^{MN}\). After splitting the variables based on the augmented Lagrangian function, we can derive the closed-form solutions as  
\[\mathbf{a}^{j+1}= (\mathbf{B}_{2}^{T}\mathbf{B}_{2}+\lambda_{a}\;\mathbf{P}^{T} \mathbf{P}+2\eta\;\mathbf{I}_{MN})^{-1}(\mathbf{B}_{2}^{T}\mathbf{y}+\eta\; \mathbf{b}^{j}-\dot{\mathbf{f}}_{1}^{j}+\eta\;\mathbf{d}^{j}-\dot{\mathbf{f}}_ {3}^{j}), \tag{21a}\] \[\mathbf{b}^{j+1}= (\mathbf{D}_{e}^{T}\mathbf{D}_{e}+\mathbf{I}_{MN})^{-1}[\mathbf{ D}_{e}^{T}(\mathbf{w}^{j}+\mathbf{f}_{2}^{j})+\mathbf{a}^{j+1}+\mathbf{f}_{1} ^{j}],\] (21b) \[\mathbf{w}^{j+1}= \mathrm{shrink}(\mathbf{D}_{e}\mathbf{b}^{j+1}-\mathbf{f}_{2}^{ j}/\eta,\lambda_{e}/\eta),\] (21c) \[\mathbf{d}^{j+1}= \left[\mathbf{a}^{j+1}+\dot{\mathbf{f}}_{1}^{j}/\eta\right]_{+},\] (21d) \[\dot{\mathbf{f}}_{1}^{j+1}= \mathbf{f}_{1}^{j}+\eta(\mathbf{a}^{j+1}-\mathbf{b}^{j+1}),\] (21e) \[\dot{\mathbf{f}}_{2}^{j+1}= \mathbf{f}_{2}^{j}+\eta(\mathbf{w}^{j+1}-\mathbf{D}_{e}\mathbf{b} ^{j+1}),\] (21f) \[\dot{\mathbf{f}}_{3}^{j+1}= \mathbf{f}_{3}^{j}+\eta(\mathbf{a}^{j+1}-\mathbf{d}^{j+1}). \tag{21g}\]It is not difficult to find that (21a) is time-consuming with the computational complexity of \(\mathcal{O}(N^{4}M^{3}+(NM)^{2}\xi^{\prime})\), where \(\xi^{\prime}\triangleq\max\left\{ML_{h},M_{m}L\right\}\). Thus, using the structure of \(\mathbf{B}_{2}\), (21a) can be simplified [32] as  
\[\mathbf{a}^{j+1}= \{((\mathbf{S}^{k+1}\mathbf{G})(\mathbf{S}^{k+1}\mathbf{G})^{T}) \otimes\mathbf{I}_{M}+\lambda_{a}\;\mathbf{P}^{T}\mathbf{P}+2\eta\mathbf{I}_{ MN}+(\mathbf{S}^{k+1}(\mathbf{S}^{k+1})^{T})\otimes\mathbf{F}^{T}\mathbf{F}\}^{-1}\] \[(\mathbf{B}_{2}^{T}\mathbf{y}+\eta\mathbf{b}^{j}-\mathbf{f}_{1}^ {i}+\eta\mathbf{d}^{i}-\mathbf{f}_{3}^{i}), \tag{22}\]  
where \(\mathbf{B}_{2}^{T}\mathbf{y}=\mathbf{vec}(\mathbf{Y}_{h}(\mathbf{S}^{k+1} \mathbf{G})^{T})+\mathbf{vec}(\mathbf{F}^{T}\mathbf{Y}_{m}(\mathbf{S}^{k+1})^ {T})\). The computational complexity of (22) is computed by \(\mathcal{O}\left(N^{4}M^{3}+N^{2}L\right)\), which is much lower than that of (21a). By the equation \(\mathbf{D}_{e}=\mathbf{I}_{N}\otimes\mathbf{\bar{D}}_{e}\), (21b) can conveniently simplified as  
\[\mathbf{b}^{j+1}=\mathbf{vec}((\mathbf{\bar{D}}_{e}^{T}\mathbf{\bar{D}}_{e}+ \eta\;\mathbf{I}_{M})^{-1}\mathbf{\bar{D}}_{e}^{T}\mathbf{Q}_{1})+\mathbf{vec} ((\mathbf{\bar{D}}_{e}^{T}\mathbf{\bar{D}}_{e}+\eta\;\mathbf{I}_{M})^{-1} \mathbf{Q}_{2}), \tag{23}\]  
Put simply, aiming at the endmember matrix \(\mathbf{A}\), the ADMM-based algorithm for solving (12) is given in Algorithm 3.  
```
1:Input:\(N\), \(\mathbf{Y}_{h}\), \(\mathbf{Y}_{m}\), \(\mathbf{F}\), \(\mathbf{G}\), and \(\mathbf{S}^{k+1}\).
2:Output\(\mathbf{A}^{k+1}\).
3:Initialize\(\mathbf{b}^{0}\),\(\mathbf{w}^{0}\),\(\mathbf{d}^{0}\) and \(\mathbf{f}_{i}^{0}\) (\(i=1,2,3\)) with \(\mathbf{0}_{MN}\) or warm start.
4:\(j=0\)
5:while the predefined stopping rule of the inner loop is not met do
6: update \(\mathbf{a}^{j+1}\) by (22);
7: update \(\mathbf{b}^{j+1}\) by (23);
8: update \(\mathbf{w}^{j+1}\) by (21c);
9: update \(\mathbf{d}^{j+1}\) by (21d);
10: update \(\mathbf{f}_{i}^{j+1}\) by (21e)-(21g), respectively;
11:\(j:=j+1\);
12:endwhile.
```  
**Algorithm 3** Solving (12) via ADMM