Skip to main content
. 2017 Jul 31;11:68. doi: 10.3389/fncom.2017.00068

Algorithm 1.

Low-rank MNE block coordinate descent algorithm (globally optimal domain)

1: inputs: maximum rank r, paired data samples (st, yt) for all t, initial guess for weights a, h, U, and V, set πk for all k = 1, … , r, maximum number of iterations Mmax, regularization parameter precision δϵ, convergence precision δx
2: initialization: JUVT
3:
4: for m ← 1, … , Mmax do
5:       for k ← 1, … , r do
6:            a′ ← a, h′ ← h, U′ ← U, V′ ← V
7:            JJU,kV,kT                                                                         ⊳ remove block k from J
8:            λL ← max(|λmax(JL)|, |λmin(JL)|) evaluated with primed variables and J
9:            do
10:                 ϵk ← λL
11:                 a′, h′, U,k, V,k Solve the block k subproblem (Equation 13) using an
12:                    interior-point method algorithm with inputs a′, h′, U,k, V,k, J,
13:                    ϵk, πk, (st, yt):∀t
14:                  λL ← max(|λmax(JL)|, |λmin(JL)|)                                ⊳ update eigenvalue threshold
15:            while ϵk ∉ [λL, λL + δϵ]
16:            JJ+U,kV,kT                                                                   ⊳ include kth block solution in J
17:       a ← a′, hh′, UU′, VV
18:       if x-x2δx andkk ∉ [λL, λL + δϵ], ∀k} = ∅ then
19:            (where x=[a,hT,Q,1T,,Q,rT] and xis the analogous vector for primed weights)
20:            break                                                                                              ⊳ optimization has finished
21:  
22: outputs: a, h, J