Skip to main content
. Author manuscript; available in PMC: 2021 Mar 14.
Published in final edited form as: Proc SIAM Int Conf Data Min. 2020;2020:316–324. doi: 10.1137/1.9781611976236.36

Algorithm A.5.

function MultiAlignment (X,K,t,)=Φt(1,,n)

Align the diffusion maps of multiple datasets.

Input: Data sets X={X(1),,X(n)}
Kernel parameters K={K(X),,K(n)}
Alignment diffusion time t
Alignment band count
Output: Unified diffusion map Φt(1,...,n)
  1: for i=1,n do
  2: G(i){W(i),(i),D(i)}GaussKernelGraph(X(i),K(i)) Alg. A.2
  3: Ψ(i),Λ(i)SVD(I(i)) Graph Fourier basis
  4: Ψ(i)Ψ(i)\ψ1(i);Λ(i)Λ(i)\λ1(i)
  5: X^(i)Ψ(i)TX(i) Graph Fourier transform
  6: Φ0(i)D(i)1/2Ψ(i)
  7: end for
  8: for i = 1, n do
  9: Φt(i,i)(1,,n)Φ0(i)Λt(i)
10: for j = i + 1, n do
11:   w(i, j) ← BandlimitingWeights(Λ(i), Λ(j), ) Alg. A.4
12:   for = 2, Ni do
13:    for k = 2, Nj do.
14:     C(i,j)(1,k1)w(i,j)(λ(i),λk(j))X^(i)(1,:),X^(j)(k1,:) Bandlimited correlation
15:    end for
16:   end for
17:   U(i,j),S(i,j),V(i,j)C(i,j)
18:   T(ij)U(i,j)V(i,j)T:T(ji)V(i,j)U(i,j)T
19:   Φt(i,j)(1,,n)Φ0(i)T(ij)Λ(j)t
20:   Φt(j,i)(1,,n)Φ0(j)T(ji)Λ(i)t
21: end for
22: end for
23: return Φt(1,...,n)