Skip to main content

A new clustering algorithm for genes with multiple cancer diseases by self-consistent field iteration method


An increasing body of literature shows that predicting gene clusters related to human cancer disease using biological networks is significant in bioinformation, it would help to understand disease mechanisms, and benefit the development of diagnostics and therapeutics. However, due to noise and preprocessing of data, a single network or graph generated from one cancer disease is insufficient to cluster genes. As some cancer diseases are correlated with each other in practice, by integrating several gene expression networks generated from those associated cancer diseases, more accurate and robust partition of genes can be obtained. In this paper, we propose a multiple graph spectral clustering method with graph association, it helps us to discover functional modules in each cancer disease more accurately and comprehensively, meanwhile the degree of association among cancer diseases can also be determined. Our idea is to construct a block adjacency matrix to integrate the adjacency matrix of each graph and the degree of association among multiple graphs together, then spectral clustering would be employed to calculate clusters for each graph. The proposed algorithm is based on a self-consistent field iteration such that both the degree of association and gene clusters can be identified during iterations. Moreover, we establish the condition under which convergence of the proposed algorithm is guaranteed with some assumptions. Experimental results on two datasets of human cancer diseases are presented, which demonstrate that the proposed method can not only identify gene functional modules, but also calculate the degree of association among different cancer diseases accurately.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3


Download references


M. Ng’s work was supported by HKRGC GRF 12300218, 12300519, 17201020 and 17300021.

Author information

Authors and Affiliations


Corresponding author

Correspondence to Ye Liu.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix: Convergence analysis

Appendix: Convergence analysis

As we all know, self-consistent iteration (SCF) may not converge (Kouteckỳ and Bonačić 1971). According to Algorithm 1, in order to analyze convergence more easily, we are concerned about the following problem in which \(\varvec{B}\) is replaced by \(\varvec{\bar{B}}\).

$$\begin{aligned} {\varvec{A}(\varvec{X}_1,\varvec{X}_2, \ldots , \varvec{X}_M)} \varvec{X} = \varvec{\Lambda }_K \varvec{X} ~~~{\mathrm{s.t.}}\varvec{X}^{\mathrm{T}}\varvec{X} = \varvec{I}_k \end{aligned}$$

where \(\varvec{X} \in \mathbb {R}^{MN \times K}, \varvec{A} (\varvec{X}_1,\varvec{X}_2,\ldots ,\varvec{X}_M) \in \mathbb {R}^{MN \times MN}\) is a M-by-M block matrix, and the size of each block is N-by-N. \(\varvec{X}\) is K eigenvectors corresponding to the first K largest eigenvalues \(\varvec{\Lambda }_k\) of \({\varvec{A}(\varvec{X}_1,\varvec{X}_2, \ldots , \varvec{X}_M)}\), and \(\varvec{X}=[\varvec{X}_1^{\mathrm{T}},\varvec{X}_2^{\mathrm{T}},\ldots ,\) \(\varvec{X}_M^{\mathrm{T}}]^{\mathrm{T}}\). The matrix \({\varvec{A}(\varvec{X}_1,\varvec{X}_2, \ldots ,}\) \({\varvec{X}_M)}\) depends on eigenvectors \(\varvec{X}\). It is defined as:

$$\begin{aligned} {\varvec{A}(\varvec{X}_1,\varvec{X}_2,\ldots ,\varvec{X}_M)} = \mathbf{A} + \alpha \mathbf{\bar{B}} \otimes \varvec{I}_N \end{aligned}$$

where \(\alpha \) is a known constant. And

$$\begin{aligned} \varvec{A}= & {} \left[ \begin{array}{cccc} \varvec{A}_{1} &{} \varvec{0} &{} \ldots &{} \varvec{0} \\ \varvec{0} &{} \varvec{A}_{2} &{} \ldots &{} \varvec{0} \\ \vdots &{} \vdots &{} \ddots &{} \vdots \\ \varvec{0} &{} \varvec{0} &{} \ldots &{} \varvec{A}_{M} \end{array} \right] \end{aligned}$$

is an block diagonal matrix, and \(\varvec{A}_i\) is symmetric matrix. The dependency is expressed through a matrix \(\varvec{\bar{B}}\), defined as:

$$\begin{aligned} \varvec{\bar{B}} & = \bar{\varvec{W}} \odot \nonumber \\&{ \left[ \begin{array}{cccc} {0} &{} |{\mathrm{Tr}}(\varvec{X}_1\varvec{X}_2^{\mathrm{T}})|&{} \ldots &{} |{\mathrm{Tr}}(\varvec{X}_1\varvec{X}_M^{\mathrm{T}})|\\ |{\mathrm{Tr}}(\varvec{X}_2\varvec{X}_1^{\mathrm{T}})|&{} {0} &{} \ldots &{} |{\mathrm{Tr}}(\varvec{X}_2\varvec{X}_M^{\mathrm{T}})|\\ \vdots &{} \vdots &{} \ddots &{} \vdots \\ |{\mathrm{Tr}}(\varvec{X}_M\varvec{X}_1^{\mathrm{T}})|&{}|{\mathrm{Tr}}(\varvec{X}_M\varvec{X}_2^{\mathrm{T}})|&{} \ldots &{} {0} \end{array} \right] } \end{aligned}$$

\(\mathbf{\bar{B}}\) is a M-by-M matrix, and \(\mathbf{\bar{B}}_{ij}={\bar{w}_{ij}|{\mathrm{Tr}}(\varvec{X}_i\varvec{X}_j^{\mathrm{T}})|}\) for \(i \ne j\), \(\bar{\varvec{W}}\) is:

$$\begin{aligned} \bar{\varvec{W}} &= \bar{\varvec{W}}^{\mathrm{T}}= \left[ \begin{array}{cccc} {0} &{}\bar{w}_{12} &{} \ldots &{} \bar{w}_{1M} \\ \bar{w}_{21}&{} {0} &{} \ldots &{} \bar{w}_{2M}\\ \vdots &{} \vdots &{} \ddots &{} \vdots \\ \bar{w}_{M1} &{}\bar{w}_{M2}&{} \ldots &{} {0} \end{array} \right] \end{aligned}$$

Assume the M-by-M block matrix \(\varvec{A}(\varvec{X}_1,\varvec{X}_2,\ldots ,\varvec{X}_M)\) is:

$$\begin{aligned}&\varvec{A}(\varvec{X}_1,\varvec{X}_2,\ldots ,\varvec{X}_M) \\&= \left[ \begin{array}{ccc} \varvec{A}_1 &{} \ldots &{}\alpha |{\mathrm{Tr}}(\varvec{X}_1\varvec{X}_M^{\mathrm{T}})|\bar{w}_{1M} \varvec{I}_N \\ \alpha |{\mathrm{Tr}}(\varvec{X}_2\varvec{X}_1^{\mathrm{T}})|\bar{w}_{21} \varvec{I}_N &{} \ldots &{} \alpha |{\mathrm{Tr}}(\varvec{X}_1\varvec{X}_M^{\mathrm{T}})|\bar{w}_{2M} \varvec{I}_N \\ \vdots &{} \ddots &{} \vdots \\ \alpha |{\mathrm{Tr}}(\varvec{X}_M\varvec{X}_1^{\mathrm{T}})|\bar{w}_{M1} \varvec{I}_N &{} \ldots &{} \varvec{A}_M \end{array} \right] \end{aligned}$$

Here notation \({\mathrm{Tr}}(.)\) means trace of a matrix, and |.| means taking the absolute value.

When given \(\varvec{X}\) with constrain \(\varvec{X}^{\mathrm{T}}\varvec{X}=\varvec{I}_K\), then the eigenvectors of \(\varvec{A}(\varvec{X}_1, \varvec{X}_2,\ldots ,\varvec{X}_M)\) corresponding to the first K largest eigenvalues is \(\varvec{Y}=[\varvec{Y}_1^{\mathrm{T}},\varvec{Y}_2^{\mathrm{T}},\ldots ,\varvec{Y}_M^{\mathrm{T}}]^{\mathrm{T}},\varvec{Y} \in \mathbb {R}^{MN \times k},\) \(\varvec{Y}_1, \varvec{Y}_2,\) \(\ldots , \varvec{Y}_M \in \mathbb {R}^{N \times k}\). Then these new eigenvectors would be used to construct a new block adjacency matrix. In the following analysis, \(\varvec{A}(\varvec{X})\) is used to represent \(\varvec{A}(\varvec{X}_1,\varvec{X}_2,\ldots ,\varvec{X}_M)\). The changing term of \(\varvec{A}(\varvec{X}_1,\varvec{X}_2,\ldots ,\varvec{X}_M)\) during iterations is

$$\begin{aligned} \bar{\Gamma } = \left[ \begin{array}{cccc} {0} &{} |{\mathrm{Tr}}(\varvec{X}_1\varvec{X}_2^{\mathrm{T}})|&{} \ldots &{} |{\mathrm{Tr}}(\varvec{X}_1\varvec{X}_M^{\mathrm{T}})|\\ |{\mathrm{Tr}}(\varvec{X}_2\varvec{X}_1^{\mathrm{T}})|&{} {0} &{} \ldots &{} |{\mathrm{Tr}}(\varvec{X}_2\varvec{X}_M^{\mathrm{T}})|\\ \vdots &{} \vdots &{} \ddots &{} \vdots \\ |{\mathrm{Tr}}(\varvec{X}_M\varvec{X}_1^{\mathrm{T}})|&{}|{\mathrm{Tr}}(\varvec{X}_M\varvec{X}_2^{\mathrm{T}})|&{} \ldots &{} {0} \end{array} \right] \end{aligned}$$

Suppose the eigenvalues of \(\varvec{A}(\varvec{X})\) are

$$\begin{aligned} \lambda _1 \ge \lambda _2 \ge \cdots \ge \lambda _k > \lambda _{k+1} \ge \cdots \ge \lambda _{MN} \end{aligned}$$

Since \(\lambda _k > \lambda _{k+1}\), a filter function \(\bar{{\phi }}(\lambda )\) that satisfies

$$\begin{aligned} \bar{{\phi }}(\lambda ) = \left\{ \begin{array}{ll} 0 &{}~for ~ \lambda =\lambda _{k+1},\ldots ,\lambda _{MN}\\ 1 &{}~for ~ \lambda = \lambda _1, \lambda _2,\ldots , \lambda _{k-1},\lambda _k \end{array} \right. \end{aligned}$$

can be constructed, then

$$\begin{aligned} \bar{\phi }(\varvec{A}(\varvec{X}))= & {} \varvec{Y}\bar{{\phi }}(\varvec{\Lambda })\varvec{Y}^{\mathrm{T}} =\varvec{Y}\varvec{Y}^{\mathrm{T}} \\= & {} \left[ \begin{array}{cccc} \varvec{Y}_1\varvec{Y}_1^{\mathrm{T}} &{} \varvec{Y}_1\varvec{Y}_2^{\mathrm{T}}&{} \ldots &{} {\varvec{Y}_1\varvec{Y}_M^{\mathrm{T}}}\\ {\varvec{Y}_2\varvec{Y}_1^{\mathrm{T}}} &{} {\varvec{Y}_2\varvec{Y}_2^{\mathrm{T}}} &{} \ldots &{} {\varvec{Y}_2\varvec{Y}_M^{\mathrm{T}}}\\ \vdots &{} \vdots &{} \ddots &{} \vdots \\ {\varvec{Y}_M\varvec{Y}_1^{\mathrm{T}}} &{} {\varvec{Y}_M\varvec{Y}_2^{\mathrm{T}}} &{} \ldots &{} {\varvec{Y}_M\varvec{Y}_M^{\mathrm{T}}} \end{array} \right] \end{aligned}$$

Here \(\varvec{\Lambda }\) denotes the eigenvalue matrix of \(\varvec{A(X)}\), then the changing term can be represented as

$$\begin{aligned} \varvec{\bar{\Gamma }} = {\mathrm{abs}}({\mathrm{Tr}}_2({\varvec{Y}\varvec{Y}^{\mathrm{T}}})) \odot \varvec{M} \end{aligned}$$

Here \({\mathrm{abs}}(.)\) means taking the absolute value on each element of the matrix. \({\mathrm{Tr}}_2(.)\) means to take a trace for each block in a block matrix. For example, if \(\varvec{T}\) is a M-by-M block matrix, each block is a N-by-N matrix.

$$\begin{aligned} \varvec{T}=\left[ \begin{array}{cccc} \varvec{T}_{11} &{} \varvec{T}_{12} &{} \ldots &{} \varvec{T}_{1M}\\ \varvec{T}_{21} &{} \varvec{T}_{22} &{} \ldots &{} \varvec{T}_{2M}\\ \vdots &{} \vdots &{} \ddots &{} \vdots \\ \varvec{T}_{M1} &{} \varvec{T}_{M2}&{} \ldots &{} \varvec{T}_{MM} \end{array} \right] \end{aligned}$$


$$\begin{aligned} {\mathrm{Tr}}_2(\varvec{T})= \left[ \begin{array}{cccc} {\mathrm{Tr}}(\varvec{T}_{11}) &{} {\mathrm{Tr}}(\varvec{T}_{12}) &{} \ldots &{} {\mathrm{Tr}}(\varvec{T}_{1M})\\ {\mathrm{Tr}}(\varvec{T}_{21}) &{} {\mathrm{Tr}}(\varvec{T}_{22}) &{} \ldots &{} {\mathrm{Tr}}(\varvec{T}_{2M})\\ \vdots &{} \vdots &{} \ddots &{} \vdots \\ {\mathrm{Tr}}(\varvec{T}_{M1}) &{} {\mathrm{Tr}}(\varvec{T}_{M2})&{} \ldots &{} {\mathrm{Tr}}(\varvec{T}_{MM}) \end{array} \right] \end{aligned}$$

So \(\varvec{A}(\varvec{X})\) can be constructed from \(\varvec{\bar{\Gamma }}\). It is

$$\begin{aligned} \varvec{A}(\varvec{\bar{\Gamma }}) = \varvec{A} + \alpha \varvec{\bar{\Gamma }} \odot \varvec{W} \otimes \varvec{I}_N \end{aligned}$$

If \(\varvec{A}(\varvec{X})\) is constructed from the \(\varvec{\bar{\Gamma }}_{in}\), then \(\varvec{\bar{\Gamma }}_{out}\) can be represented as a function of \(\varvec{\bar{\Gamma }}_{in}\).

$$\begin{aligned} \varvec{\bar{\Gamma }}_{out}={\mathrm{abs}}({\mathrm{Tr}}_2(\bar{\phi }(\varvec{A}(\bar{\varvec{\Gamma }}_{in})))) \odot \varvec{M} \end{aligned}$$

So there is a mapping F from \(\varvec{\bar{\Gamma }}_{in}\) to \(\varvec{\bar{\Gamma }}_{out}\). In order to show the convergence of (7), we need to seek a condition such that F becomes a contraction, it is

$$\begin{aligned} \Vert F (\varvec{\bar{\Gamma }}_{1})-F(\varvec{\bar{\Gamma }}_{2})\Vert _1 < \rho \Vert \varvec{\bar{\Gamma }}_{1}-\varvec{\bar{\Gamma }}_{2}\Vert _1 \end{aligned}$$

For function \(\bar{\phi }(t)\), we define \(\bar{\phi }(t)\) as Fermi-Dirac distribution, it is

$$\begin{aligned} \bar{\phi }(t)=\bar{f}_{\mu }(t)=\frac{1}{1+e^{\beta (t-\mu )}} \end{aligned}$$

Here \(\mu \) is decided by the input matrix of \(\bar{\phi }(t)\). \(\beta >0\) is a positive constant. \(\mu \) is the solution of the following problem

$$\begin{aligned} {\mathrm{trace}}(\bar{\phi }(\varvec{A})) = {\mathrm{trace}}(\bar{f}_{\mu }(\varvec{A})) = K \end{aligned}$$

According to Yang et al. (2009), because \(\sum _{i=1}^{n}f_{\mu }(\lambda _{i})\) is monotonic with respect to \(\mu \) for a fixed \(\beta \), the solution to Eq. (15) is unique for any choice of \(\beta \) and \(\varvec{A}\). Moreover, Yang et al. (2009) already shows that a larger \(\beta \) results in a sharper drop-off of \(\bar{\phi }(t)\) from 1 to 0 and a large enough constant \(\beta \) can make Eq. (13) satisfied in finite precision arithmetic if the UWP condition holds.

Lemma 1

Let \(\varvec{B},\varvec{C} \in \mathbb {R}^{M \times M}\), then

$$\begin{aligned} \Vert {\mathrm{abs}}(\varvec{B})-{\mathrm{abs}}(\varvec{C})\Vert _1 \le \Vert \varvec{B}-\varvec{C}\Vert _1 \end{aligned}$$



If \(~\varvec{B},\varvec{C} \in \mathbb {R}^{M \times M}\), then

$$\begin{aligned}&{\mathrm{abs}}(\varvec{B})=\left[ \begin{array}{cccc} |{b}_{11}|&{} |{b}_{12}|&{} \ldots &{} |{b}_{1M}|\\ |{b}_{21}|&{} |{b}_{22}|&{} \ldots &{} |{b}_{2M}|\\ \vdots &{} \vdots &{} \ddots &{} \vdots \\ |{b}_{M1}|&{} |{b}_{M2}|&{} \ldots &{} |{b}_{MM}|\end{array} \right] \\&{\mathrm{abs}}(\varvec{C})=\left[ \begin{array}{cccc} |{c}_{11}|&{} |{c}_{12}|&{} \ldots &{} |{c}_{1M}|\\ |{c}_{21}|&{} |{c}_{22}|&{} \ldots &{} |{c}_{2M}|\\ \vdots &{} \vdots &{} \ddots &{} \vdots \\ |{c}_{M1}|&{} |{c}_{M2}|&{} \ldots &{} |{c}_{MM}|\end{array} \right] \end{aligned}$$


$$\begin{aligned}&\Vert {\mathrm{abs}}(\varvec{B})-{\mathrm{abs}}(\varvec{C})\Vert _1 \\= & {} \max _j (\mid |{b}_{1j}|- |{c}_{1j}|\mid +\mid |{b}_{2j}|- |{c}_{2j}|\mid + \ldots \\+ & {} \mid |{b}_{Mj}|- |{c}_{Mj}|\mid ) \\\le & {} \max _j (\mid {b}_{1j}-{c}_{1j} \mid + \mid {b}_{2j}-{c}_{2j} \mid + \ldots \\+ & {} \mid {b}_{Mj}-{c}_{Mj} \mid ) \\= & {} \Vert \varvec{B}-\varvec{C}\Vert _1 \end{aligned}$$

so the Lemma 1 holds. \(\square \)

Assume that \(\varvec{A_1}\) and \(\varvec{A_2}\) are symmetric matrix created from the changing term \(\varvec{\bar{\Gamma }}_{1}\) and \(\varvec{\bar{\Gamma }}_{2}\) respectively. If \(\mu _1>\mu _2\), then \(\bar{f}_{\mu _1}(t) \ge \bar{f}_{\mu _2}(t)\) for any t. According to Lemma 1. We can show that

$$\begin{aligned}&\Vert F (\varvec{\bar{\Gamma }}_{1})-F(\varvec{\bar{\Gamma }}_{2})\Vert _1 \nonumber \\= & {} \Vert {\mathrm{abs}}({\mathrm{Tr}}_2(\bar{f}_{\mu _1}(\varvec{A_1})))\odot \varvec{M} \nonumber \\- & {} {\mathrm{abs}}({\mathrm{Tr}}_2(\bar{f}_{\mu _2}(\varvec{A_2}))) \odot \varvec{M}\Vert _1 \nonumber \\\le & {} (M-1)\Vert {\mathrm{abs}}({\mathrm{Tr}}_2(\bar{f}_{\mu _1}(\varvec{A_1}))) \nonumber \\- & {} {\mathrm{abs}}({\mathrm{Tr}}_2(\bar{f}_{\mu _2}(\varvec{A_2}))) \Vert _1 \nonumber \\\le & {} (M-1) \Vert {\mathrm{Tr}}_2(\bar{f}_{\mu _1}(\varvec{A_1})) -{\mathrm{Tr}}_2( \bar{f}_{\mu _2}(\varvec{A_2})) \Vert _1 \nonumber \\\le & {} (M-1) [\Vert {\mathrm{Tr}}_2(\bar{f}_{\mu _1}(\varvec{A_1})) -{\mathrm{Tr}}_2(\bar{f}_{\mu _2}(\varvec{A_1}))\Vert _1 \nonumber \\+ & {} \Vert {\mathrm{Tr}}_2(\bar{f}_{\mu _2}(\varvec{A_1})) -{\mathrm{Tr}}_2(\bar{f}_{\mu _2}(\varvec{A_2}))\Vert _1] \end{aligned}$$

Lemma 2

Let \(\mathbf{\bar{X}} \in \mathbb {R}^{M \times M}\) be a symmetric positive semidefinite matrix, then the inequality

$$\begin{aligned} \Vert {\mathbf{\bar{X}}}\Vert _1 \le \sqrt{M} {\mathrm{Tr}}(\mathbf{\bar{X}}) \end{aligned}$$



If \(~\mathbf{\bar{X}} \in \mathbb {R}^{M \times M}\) is a symmetric positive semidefinite matrix, define the Schatten p-norm of matrix \(\mathbf{\bar{X}}\) as \(\Vert \mathbf{\bar{X}}\Vert _{S_p}\). It is easy to know that

$$\begin{aligned} \Vert \mathbf{\bar{X}}\Vert _1\le & {} \sqrt{M} \Vert \mathbf{\bar{X}}\Vert _2 \le \sqrt{M} \Vert \mathbf{\bar{X}}\Vert _F \\= & {} \sqrt{M} \Vert \mathbf{\bar{X}}\Vert _{S_2} \le \sqrt{M} \Vert \mathbf{\bar{X}}\Vert _{S_1} = \sqrt{M} {\mathrm{Tr}}(\mathbf{\bar{X}}) \end{aligned}$$

So the Lemma 2 can be proved. \(\square \)

Lemma 3

If \(\varvec{\bar{A}}\) is a symmetric positive semidefinite matrix, then \({\mathrm{Tr}}_2(\varvec{\bar{A}})\) is also a symmetric positive semidefinite matrix.


\(\varvec{\bar{A}}\) is a symmetric positive semidefinite matrix. So it can be decomposed as \(\varvec{\bar{A}}=\varvec{U_A}\varvec{\Lambda _A}\varvec{U_A^{\mathrm{T}}}\) with nonnegative eigenvalue \(\varvec{\Lambda _A}\) and its corresponding eigenvectors \(\varvec{U_A}\). \(\varvec{U_A}=[\varvec{u_1},\ldots ,\) \(\varvec{u_{MN}}] \in \mathbb {R}^{MN \times MN}\), \(\varvec{u}_j~(1 \le j \le MN) \in \mathbb {R}^{MN \times 1}\), \(\varvec{\Lambda _A} = {\mathrm{Diag}}([\lambda _1,\lambda _2,\ldots ,\lambda _{MN}])\), \(\lambda _1,\lambda _2,\ldots ,\lambda _{MN} \ge 0\), Diag(x) means a diagonal matrix with x on its diagonal, so \(\varvec{\bar{A}}=\lambda _1\varvec{u}_1\varvec{u}_1^{\mathrm{T}}+\cdots +\lambda _{MN}\varvec{u}_{MN}\varvec{u}_{MN}^{\mathrm{T}}\).

$$\begin{aligned} \begin{aligned} {\mathrm{Tr}}_2(\varvec{\bar{A}})&={\mathrm{Tr}}_2(\lambda _1\varvec{u}_1\varvec{u}_1^{\mathrm{T}}+\cdots +\lambda _{MN}\varvec{u}_{MN}\varvec{u}_{MN}^{\mathrm{T}}) \\&= \lambda _1{\mathrm{Tr}}_2(\varvec{u}_1\varvec{u}_1^{\mathrm{T}}) + \lambda _2{\mathrm{Tr}}_2(\varvec{u}_2\varvec{u}_2^{\mathrm{T}}) \\&\quad + \cdots +\lambda _{MN}{\mathrm{Tr}}_2(\varvec{u}_{MN}\varvec{u}_{MN}^{\mathrm{T}}) \end{aligned} \end{aligned}$$

For any vector \(\varvec{v}=[{v}_1, {v}_2, \ldots ,{v}_M]^{\mathrm{T}} \in \mathbb {R}^{M}\), then

$$\begin{aligned} \varvec{v}^{\mathrm{T}}{\mathrm{Tr}}_2(\varvec{\bar{A}})\varvec{v}= & {} \lambda _1{\varvec{v}}^{\mathrm{T}}{\mathrm{Tr}}_2(\varvec{u}_1\varvec{u}_1^{\mathrm{T}})\varvec{v} + \lambda _2\varvec{v}^{\mathrm{T}}{\mathrm{Tr}}_2(\varvec{u}_2\varvec{u}_2^{\mathrm{T}})\varvec{v} \\&+ \cdots +\lambda _{MN}\varvec{v}^{\mathrm{T}}{\mathrm{Tr}}_2(\varvec{u}_{MN}\varvec{u}_{MN}^{\mathrm{T}})\varvec{v} \end{aligned}$$

for \(1 \le j \le MN\), let \(\varvec{u}_j=[(\varvec{u}_j^1)^{\mathrm{T}},(\varvec{u}_j^2)^{\mathrm{T}},\ldots ,(\varvec{u}_j^M)^{\mathrm{T}}]^{\mathrm{T}}\), \(\varvec{u}_j^i \in \mathbb {R}^{N\times 1}\), then

$$\begin{aligned} \begin{aligned} \varvec{v}^{\mathrm{T}}{\mathrm{Tr}}_2(\varvec{u}_j\varvec{u}_j^{\mathrm{T}})\varvec{v}&=\sum _{i=1}^{M}\sum _{t=1}^{M} \varvec{v}_i{\mathrm{Tr}}(\varvec{u}_j^i(\varvec{u}_j^{\mathrm{T}})^{\mathrm{T}})\varvec{v}_t \\&= \sum _{i=1}^{M}\sum _{t=1}^{M} \varvec{v}_i{(\varvec{u}_j^i)^{\mathrm{T}}\varvec{u}_j^{\mathrm{T}}}\varvec{v}_j \\&= (\varvec{v}_1{\varvec{u}_j^1}+\varvec{v}_2{\varvec{u}_j^2}+\cdots +\varvec{v}_M{\varvec{u}_j^M})^{\mathrm{T}}\\&(\varvec{v}_1{\varvec{u}_j^1}+\varvec{v}_2{\varvec{u}_j^2}+\cdots +\varvec{v}_M{\varvec{u}_j^M}) \\&\ge 0 \end{aligned} \end{aligned}$$

thus \(\lambda _1,\lambda _2,\ldots ,\lambda _{MN} \ge 0\), so \(\varvec{v}^{\mathrm{T}}{\mathrm{Tr}}_2(\varvec{\bar{A}})\varvec{v} \ge 0\) for any \(\varvec{v}\in \mathbb {R}^M\). Therefore, \({\mathrm{Tr}}_2(\varvec{\bar{A}})\) is a symmetric positive semidefinite matrix. The Lemma holds. \(\square \)

According to Lemmas 2 and 3:

$$\begin{aligned}&\Vert F(\varvec{\bar{\Gamma }}_{1})-F(\varvec{\bar{\Gamma }}_{2})\Vert _1 \nonumber \\\le & {} (M-1)MN\sqrt{M}\Vert \bar{f}_{\mu _2}(\varvec{A_1})) -\bar{f}_{\mu _2}(\varvec{A_2})\Vert _1 \nonumber \\+ & {} N \Vert \bar{f}_{\mu _2}(\varvec{A_1})) -\bar{f}_{\mu _2}(\varvec{A_2})\Vert _1 \end{aligned}$$

According to LEMMA 4 in Yang et al. (2009), suppose that \(\varvec{A_1}=\varvec{X_1}\varvec{\Lambda _1}\varvec{X_1}^{\mathrm{T}}\) and \(\varvec{A_2} = \varvec{X_2}\varvec{\Lambda _2}\varvec{X_2}^{\mathrm{T}}\) are the spectral decompositions of \(\varvec{A_1}\) and \(\varvec{A_2}\) respectively, then

$$\begin{aligned}&\Vert \bar{f}_{\mu _2}(\varvec{A_2})-\bar{f}_{\mu _2}(\varvec{A_1})\Vert _1 \nonumber \\\le & {} \alpha M^2N^2 \Vert \hat{\varvec{C}}\Vert _1 \Vert \varvec{W}\Vert _1\Vert \varvec{\bar{\Gamma }_{2}} - \varvec{\bar{\Gamma }_{1}}\Vert _1 \end{aligned}$$

Using the mean value theorem and the fact that

$$\begin{aligned} |f'_{\mu }(t)|\le \frac{\beta }{4} \end{aligned}$$

we can show that

$$\begin{aligned} \max _{j,k} |\hat{\varvec{C}_{j,k}}|\le \frac{\beta }{4} \end{aligned}$$


$$\begin{aligned} \Vert \hat{\varvec{C}}\Vert _1 \le \frac{MN\beta }{4} \end{aligned}$$

Combining Eq. (17), Eq. (18) and Eq. (19). we obtain

$$\begin{aligned}&\Vert F (\varvec{\Gamma }_{1})-F(\varvec{\Gamma }_{2})\Vert _1 \\\le & {} \frac{\alpha M^3N^4(M-1)(M\sqrt{M}+1)\beta \Vert \varvec{W}\Vert _1\Vert \varvec{\Gamma }_{2} - \varvec{\Gamma }_{1}\Vert _1}{4} \end{aligned}$$

If \(\alpha \) satisfies

$$\begin{aligned} \alpha \le \frac{4}{M^3N^4(M-1)(M\sqrt{M}+1)\beta \Vert \varvec{W}\Vert _1} \end{aligned}$$

We can conclude that F is a contraction, then the convergence of problem Eq. (7) is guaranteed.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Liu, Y., Ng, M.K. A new clustering algorithm for genes with multiple cancer diseases by self-consistent field iteration method. Netw Model Anal Health Inform Bioinforma 11, 20 (2022).

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI:


  • Gene clusters
  • Spectral clustering
  • Gene coexpression data
  • Nonlinear eigenvalue problem
  • Self-consistent field iteration