code: def rcsls(Xi, Xj, Zi, Zj, R, knn=10):
      X_trans = np.dot(Xi, R.T)
      f = 2 * np.sum(X_trans * Xj)
      df = 2 * np.dot(Xj.T, Xi)
      fk0, dfk0 = getknn(np.dot(X_trans, Zj.T), Xi, Zj, knn)
      fk1, dfk1 = getknn(np.dot(np.dot(Zi, R.T), Xj.T).T, Xj, Zi, knn)
      f = f - fk0 - fk1
      df = df - dfk0 - dfk1.T
      return -f / Xi.shape[0], -df.T / Xi.shape[0]
  
file_path: fastText/alignment/unsup_multialign.py
imports: import io, os, ot, argparse, random
  import numpy
  from utils import *
label_desc: Use image node_id 2 for calling a global function with example usage: rcsls(Xi, Xj, Zi, Zj, R, knn) and returns: unknown,  unknown