Skip to main content
. 2021 Apr 23;12:665416. doi: 10.3389/fgene.2021.665416

Algorithm 1.

The CBP-JMF algorithm.

Input:
P data matrices X(1), X(2), ..., X(P), parameters β ω
Output:
P basis matrices U(1), U(2), ..., U(P), P relation matrices S(1), S(2), ..., S(P), factor matrices V, weight vector Π = (π(1), π(2), ..., π(P))
   1: Begin
   2: InitializeU(1), U(2), ..., U(P), S(1), S(2), ..., S(P), V
   3: Initialize (π(1),π(2),...,π(P))=(1P,1P,...,1P)
   4: loop
   5: for p=1 to P do
   6: Fix V, update U(p), S(p)
   7: end for
   8: Fix U(1), U(2), ..., U(P), update VL
   9: Fix U(1), U(2), ..., U(P), update VUL
   10: for p=1 to P do
   11: Fix U, S, V, compute c(p)=X(p)-U(p)S(p)VF2
   12: end for
   13: Update Π
   14: break loop if convergence
   15: End