% \begin{wrapfigure}{r}{0.45\textwidth}
%     \begin{minipage}{0.45\textwidth}
%         \begin{algorithm}
%             \caption{Alignment probability derivation}
%             \label{alg:sinkhorn_alg}
%             \textbf{Input:} $\{\textbf{z}^{uy}_k\}_{k=1}^K, \{\textbf{z}^{uy}_j\}_{j=1}^J, \epsilon$ 
            
%             \textbf{Output:} $\pi^u$
%             \begin{algorithmic}[1]
%                 \STATE $\textbf{S}^u_{kj} = ||\textbf{z}^{uy}_k - \textbf{z}^{ut}_j||^2_2, \textbf{S}^u \in \mathbb{R}^{K \times J}$
%                 \STATE $\textbf{B}^u = exp(-\textbf{S}^u / \epsilon)$
%                 \STATE Initialize $\textbf{v} \leftarrow \textbf{1}_J$
%                 \WHILE{not converged}
%                     \STATE $\textbf{u} = \frac{1}{K} \frac{\textbf{1}_K}{\textbf{B}^u\textbf{v}}; \textbf{v} \leftarrow \frac{1}{J}\frac{\textbf{1}_J}{(\textbf{B}^u)^T\textbf{u}}$
%                 \ENDWHILE
%                 \RETURN $\pi^u = diag(\textbf{u})\textbf{B}^udiag(\textbf{v})$
%             \end{algorithmic}
%         \end{algorithm}
%     \end{minipage}
% \end{wrapfigure}

\begin{algorithm}
    \caption{Alignment matrix between interest factors}
    \label{alg:sinkhorn_alg}
    % \small
    \KwInput{$\{\textbf{z}^{uy}_k\}_{k=1}^K, \{\textbf{z}^{uy}_j\}_{j=1}^J, \epsilon$ }
    
    \KwOutput{$\pi^u$}
    \begin{algorithmic}[1]
        \STATE $\textbf{S}^u_{kj} = ||\textbf{z}^{uy}_k - \textbf{z}^{ut}_j||^2_2, \textbf{S}^u \in \mathbb{R}^{K \times J}$
        \STATE $\textbf{B}^u = exp(-\textbf{S}^u / \epsilon)$
        \STATE initialize $\textbf{v} \leftarrow \textbf{1}_J$
        \WHILE{not converged}
            \STATE $\textbf{u} \leftarrow \frac{1}{K} \frac{\textbf{1}_K}{\textbf{B}^u\textbf{v}}; \textbf{v} \leftarrow \frac{1}{J}\frac{\textbf{1}_J}{(\textbf{B}^u)^T\textbf{u}}$
        \ENDWHILE
        \RETURN $\pi^u = diag(\textbf{u})\textbf{B}^udiag(\textbf{v})$
    \end{algorithmic}
\end{algorithm}