<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Matching for Large-Scale Reciprocal Recom mender Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kento Nakada</string-name>
          <email>Kento.Nakada@sony.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kazuki Kawamura</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ryosuke Furukawa</string-name>
          <email>Ryosuke.Furukawa@sony.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Reciprocal Recommender Systems (RRSs)</institution>
          ,
          <addr-line>Recruitment, Stable Matching, Parallel Computation, Sinkhorn's Algorithm</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Sony Network Communications, Inc</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Reciprocal recommender systems (RRSs) are crucial in online two-sided matching platforms, such as online job or dating markets, as they need to consider the preferences of both sides of the match. The concentration of recommendations to a subset of users on these platforms undermines their match opportunities and reduces the total number of matches. To maximize the total number of expected matches among market participants, stable matching theory with transferable utility has been applied to RRSs. However, computational complexity and memory eficiency quadratically increase with the number of users, making it dificult to implement stable matching algorithms for several users. In this study, we propose novel methods using parallel and mini-batch computations for reciprocal recommendation models to improve the computational time and space eficiency of the optimization process for stable matching. Experiments on both real and synthetic data confirmed that our stable matching theory-based RRS increased the computation speed and enabled tractable large-scale data processing of up to one million samples with a single graphics processing unit graphics board, without losing the match count.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Two-sided online dating platforms, such as those found in
job search and online dating markets, have become
increasingly popular. Reciprocal recommender systems (RRSs) are
used on these platforms. [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. In a two-sided matching
platform, a recommender system that only considers
prediction accuracy may inadvertently cause recommendation
inequalities for two main reasons. First, on a two-sided
platform, preferences from both sides of the market
determine the success of a match. Recommendations based solely
on the interests of one side are inefective, and the
recommender system should only recommend when both users
have mutual interests. Second, users tend to have dificulties
ifnding compatible partners. For example, on job platforms,
employers frequently have a limited number of available
interview slots because of time constraints. If the system
recommends the same company to many candidates, it may
exceed the employer’s capacity, leading to missed
opportunities for those candidates who applied but were not granted
an interview.
      </p>
      <p>
        The transferable utility (TU) matching model [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ] is a
framework that considers these matching problems under
the assumption that utilities, such as money, can be
transferred between matching parties. This allows for resource
redistribution among market participants, thereby
achieving stable matching states. Choo and Siow [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] applied the
TU matching market model to RRSs, which demonstrated
higher matching chances in empirical matching
applications with TUs. Although stable matching methods have
a solid theoretical background, most of them face
computational feasibility bottlenecks when executed on real data
sizes exceeding 10k. Thus, they are not practically feasible
for large-scale user platforms and are only useful for the
experimental extraction of a subset of actual service users [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
or matching at the level of the user group clustered by
atRecSys in HR’24: The 4th Workshop on Recommender Systems for Human
Resources, in conjunction with the 18th ACM Conference on Recommender
 Matching Probability
the TU matching problem, by viewing it as an optimal transport
problem with transport costs associated with the inner product
of the preference factor vectors.
tributes [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ].
      </p>
      <p>
        In this study, we improve the computational eficiency of
the iterative proportional fitting procedure (IPFP), a
coordinate descent algorithm used to achieve a stable matching
state [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], through parallelization and online mini-batch
computation. For computational eficiency, we propose a
matrixvector multiplication-based parallel computation method
following Sinkhorn’s algorithm [
        <xref ref-type="bibr" rid="ref10 ref29">10</xref>
        ], which considers
stable matching as an entropy-regularized optimal transport
problem. To improve memory eficiency, we propose a
minibatch update method assuming a model that uses user factor
vectors in the unilateral recommendation model, such as
matrix factorization [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. The user set is divided into
several partitions (i.e., mini-batches), and a portion of the IPFP
coordinate vectors is sequentially updated. This approach
enables eficient estimation of update values when the
overall preference scores for user combinations do not fit in
      </p>
      <p>In summary, the following are the main contributions of
memory.
this study.</p>
      <p>• We propose an optimization method for RRSs based
on the TU matching model to increase
computational eficiency using parallel processing.
• Furthermore, we propose a memory-eficient
minibatch update method that does not require
approximation and works even for large sizes that do not
CEUR</p>
      <p>ceur-ws.org</p>
      <p>ift in a single memory.
• Experiments on a synthetic dataset with up to a
million users verify the computational eficiency of
the proposed method.</p>
      <p>To the best of our knowledge, this study is the first to
demonstrate how RRSs based on stable matching theory work with
large-scale data.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        Reciprocal recommender systems (RRSs) aim to achieve
matching by considering the preferences of both parties,
which are primarily used in areas where mutual matching
is crucial, such as dating sites, talent recruitment platforms,
and social networking services [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        Existing RRSs first predict unilateral preferences that
represent the preference of one user toward another. In
unidirectional preference calculation, various
recommendation methods are employed in recruitment matching
problems, including content-based and collaborative filtering
approaches [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Among these, collaborative filtering is
particularly well suited for scenarios with abundant interaction
logs. Herein, we focus on collaborative filtering-based
methods for reciprocal recommender systems to apply matching
platforms with number of users.
      </p>
      <p>
        These unilateral preferences are then aggregated to
calculate reciprocal preference scores, which serve as
recommendation probabilities. Aggregation functions that
independently calculate for each users pair—such as
arithmetic mean [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], harmonic mean [
        <xref ref-type="bibr" rid="ref13 ref2">2, 13</xref>
        ], and weighted
average [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]—can scale to large data size [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Although these
methods can compute for a considerable number of user
data, they lack theoretical background and cannot consider
constraints on users’ limited capacity of matches.
      </p>
      <p>
        RRSs based on fairness-aware aggregation models
redistribute recommendation scores to address the concentration
of recommendation issues [
        <xref ref-type="bibr" rid="ref16 ref17 ref18">16, 17, 18</xref>
        ]. Several approaches
have attempted to prevent concentration in job
recommendation by solving the entropy-regularized optimal transport
(OT) problem using reciprocal preference scores as a
transport cost matrix [
        <xref ref-type="bibr" rid="ref19 ref20">19, 20</xref>
        ]. These methods can be applied to
large-scale data following Sinkhorn’s algorithm [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
However, there is a lack of theoretical background on the
alignment between the OT and equilibrium-matching states in
terms of modeling user behavior.
      </p>
      <p>
        The stable matching theory [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is a behavioral model
based on game theory that balances supply and demand in
matching markets. Galichon and Salanié [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] demonstrated
that the TU matching theory corresponds to the dual
problem of a special entropy-regularized OT problem, which
provides a theoretical foundation for the application of
stable matching in recommender systems.
      </p>
      <p>
        Although stable matching methods have a solid
theoretical background, most of them face computational feasibility
bottlenecks when applied to real data sizes exceeding tens of
thousands. Galichon and Salanié [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] proposed that their
optimization method could be computed in parallel, although
their experiment used a dataset of up to a size of 5000. Chen
et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] applied stable matching to male–female matching
app data of approximately 1000. Tomita et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] proposed
a TU matching theory-based memory-eficient inference
method for reciprocal scores. To optimize the parameters,
all user combinations must be loaded into memory, and
a sample size of up to 1000 was used in the experiments.
Thousands to hundreds of thousands of users use job or date
matching services. Therefore, we extend the applicability
of TU matching to the user bases of that scale.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Proposed Method</title>
      <p>
        According to [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], this section provides a brief overview of
how the TU matching model can be formulated as a convex
optimization problem, as described in Section 3.1.
Thereafter, we propose a parallel update method using a
minibatch approach for the iterative optimization algorithm in
Sections 3.2 and 3.3. This method enables tractable
calculations in near-linear memory consumption, even for many
market users.
      </p>
      <sec id="sec-3-1">
        <title>3.1. Matching Model with Transferable</title>
      </sec>
      <sec id="sec-3-2">
        <title>Utility</title>
        <p>We assume matching between candidate  ∈  and
employer  ∈  . The concept of utility explains why an
individual chooses where to apply or whom to recruit. Utilities
 , ,  , that candidate  or employer  gains by matching
are expressed as follows:
 ,
 ,
where  , denotes an observable utility from candidate
 to employer  ,  , denotes an observable utility from 
to  , and  , and  , are unobserved random utilities with
probability distributions of  and  , respectively. We denote
the individual who is not matched to any counterpart as 0.
Let  0 =  ∪ {0} and  0 =  ∪ {0} be a set of groups that
can be selected as potential partners.</p>
        <p>
          In the TU matching model, we assume that the
transferable utility  , is paid from an employer to a job candidate
upon matching (for example, to adjust supply and demand).
The matching results are adjusted by optimizing the utility.
Specifically, to mitigate the over-concentration of
recruitment eforts on highly sought-after candidates, a high cost
may be incorporated into the scouting process. Consider
observable joint utility  , =  , +  , and probability
distribution  , that specifies a match between candidate 
and employer  . Assuming that the distribution of random
utilities  and  are independent and identically distributed
(i.i.d.) with a type-I extreme value distribution with scale
parameter  &gt; 0 , Galichon and Salanié [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] revealed that
optimizing TU  , to maximize the expected number of
matching in the market is defined as the following convex
optimization problem, which maximizes social welfare  :
 ( Φ) = max (
 ∈ℝ×
        </p>
        <p>∑
∈ ,∈
 ,  , + (  )) ,
s.t.</p>
        <p>∑  , =  
∈ 0
∀ ∈  ,
∑  , =  
∈ 0
where
(  ) = − ∑  , log
∈
∈ 0
 ,
 
− ∑  , log
∈
∈ 0
∀ ∈  ,
 ,
 
(2)
(3)
Mini-batch IPFP Iteration
:  -th mini-batch
: ( + 1)-th mini-batch
Reciprocal Preference
( ) Calculation</p>
        <p>=  
 =

=
1
2 exp

2

+  2 −  2
×

 T
 T
Scaling Vectors
( ,  ) Update
exp ( , )</p>
        <p>()
exp ( , )  
2
2
(+1) ,
(6)
mini-batch and
  = exp (
  
 +</p>
        <p>2
(4)
(5)
matrices in memory during the update step, achieving parallel
computation and memory eficiency.</p>
        <p>The inner product of the 
dimensional factor vectors
  ,   ,   ,   ∈ ℝ
compute unilateral preferences  ,
and  , .
 through matrix factorization is assumed to
 , = ⟨  ,   ⟩ ,  , = ⟨  ,   ⟩
(8)
In such a case, user sets can be substituted for the IPFP
algorithm to be executed online. Let   ( = 1, ...,   , 1 &lt;


≤ | |)
and   ( = 1, ...  , 1 &lt;   ≤ | |)
be a  -th
minibatch of the candidate and employer sets, respectively. Now,
Equation (7) can be calculated for each  -th mini-batch.
{


(+1) = √  +  

(+1) = √  +  

2 −   where   = 12  
2 −   where   = 12</p>
        <p>()
(  ) (+1)

, (9)
where subscript ∗ denotes the indices of users in the  -th
 ,
2
 ,
2
 ,
2
is the standard entropy;   and   are the normalized
capacity constraints of candidate group  and employer group  ,
respectively. 1 In recruitment matching problems,   and  
can correspond to the number of applications a candidate
can submit or the number of positions an employer wants to
ifll. The parameter  controls the weight of the entropy term
in (2). As  increases, it promotes a more uniform match
result that is less dependent on individual preferences.</p>
        <p>
          Equation (2) is an OT problem with entropy
regularization. We adopt the IPFP proposed in [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], a coordinate
decent method to solve (2). The detailed derivation of the
TU matching optimization is described in Appendix A.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>3.2. Parallel Computation of TU Matching</title>
      </sec>
      <sec id="sec-3-4">
        <title>Optimization</title>
        <p>We propose a parallel update method to alleviate the
computational limitation of an IPFP update on a large user base.
At the optimum, an equation on a derivative of (2) derives
the following relation between  , and  , :
 , = exp (</p>
        <p>) √ ,0  0, .</p>
        <p>By substituting this expression into the constraints in (2),
we obtain the following equation:
 ,0 + ( ∑ exp (
 0, + ( ∑ exp (
∈
∈
) √ 0, ) √ ,0 =   ,
) √ ,0 ) √ 0, =   .</p>
        <p>The IPFP algorithm solves (5) given scaling vector
definitions of   = √ ,0 and   = √
of iteration steps to repeatedly run through the following
 0, , using  as the number
updates:
{
 
 
(+1) = √  +  2 −   where   = 12 ∑∈
(+1) = √  +  2 −   where   = 12 ∑∈
tion (4).
arithmetic as follows:
Once the algorithm has converged after several iterations,
the stable match patterns  are calculated according to
EquaEquation (6) can be further expressed in matrix-vector
{
 (+1) = √ +  2 −  where  = 12  ()
 (+1) = √ +  2 −  where  = 12  
 (+1)
where 
= exp (</p>
        <p>2Φ ). We denote the update method by
Equation (7) as batch IPFP. Because Equation (7) only
involves the matrix-vector product, it can be eficiently
computed through parallel computation. However, because the
size of the matrices scales in (| || |)
, the equation is
computationally intractable within the available memory.</p>
      </sec>
      <sec id="sec-3-5">
        <title>3.3. Mini-batch Computation of TU</title>
      </sec>
      <sec id="sec-3-6">
        <title>Matching Optimization</title>
        <p>
          To alleviate the memory space limitation, we further
propose a memory-eficient update method,
mini-batch IPFP.
1Decker et al. [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] investigated the existence and uniqueness of the
equilibrium-matching solution.
) , (  ) = exp (
  +  
2
) . (10)
        </p>
        <p>
          According to Tomita et al. [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], once optimal  and  are
obtained, stable match patterns log  can be calculated as the
dot product of the following two vectors with dimensions
(2 + 2) .
        </p>
        <p>log ( , ) =</p>
        <p>⟨  ,   ⟩ ,
1
2

 = Concat (  ,   ,  log ( ), 1),
  = Concat ( 
,   , 1,  log ( )),
(11)
where Concat(*) denotes the concatenation of vectors. In the
case of large data sizes (i.e.,  ≪ | |
), the space complexity
is reduced to (| |)</p>
        <p>or (| |) . In practice, this reduction
allows the execution of the IPFP by adjusting the batch size
to fit within the memory limit.</p>
        <p>The pseudocodes of the batch and mini-batch IPFP
algorithm is shown in Appendix B.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Experiments</title>
      <p>Here, we first validate the IPFP algorithm by comparing it
with existing methods in terms of the expected number of
matches, using both real and synthetic data.</p>
      <p>Thereafter, as our contribution, we validate the
computational eficiency of the proposed batch and mini-batch
updates in the CPU/GPU settings. Furthermore, we
investigate the memory eficiency and calculation performance of
the mini-batch IPFP algorithm using various batch sizes. We
aim to improve the eficiency of the IPFP algorithm because
the expected number of matches is the same as that of IPFP.</p>
      <sec id="sec-4-1">
        <title>4.1. Experiments on Expected Number of</title>
      </sec>
      <sec id="sec-4-2">
        <title>Matches</title>
        <p>4.1.1. Datasets.</p>
        <p>
          We compared the IPFP algorithm with existing methods
using data from the online dating platform Libimseti [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
This dataset includes user reciprocal ratings. We chose
500 male and 500 female users who submitted the highest
number of ratings. Any missing ratings were filled in using
probabilistic matrix factorization with the alternating least
squares (ALS) method [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ].
        </p>
        <p>In experiments with real data, it is impossible to know the
true preferences of each user in the market. Consequently,
the expected number of matches can only be calculated
using estimated preferences. To address this limitation, we
also conducted experiments using synthetic data, which
allowed us to control the true preferences in a structured
manner.</p>
        <p>
          We evaluated the methods using synthetic data generated
based on the process described in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. The preference
matrices  , and  , are generated by interpolating random
values sampled from an independent uniform distribution
and values proportional to the index of samples,
indicating crowding of preferences in the market. The degree of
preference crowding can be adjusted using the parameter
 ∈ [
          <xref ref-type="bibr" rid="ref1">0, 1</xref>
          ] . The experiment involved setting the number
of employers at 500, candidates at 1000, and the crowding
parameter was varied over 0.0, 0.25, 0.5, 0.75. The
observational data are simulated by sampling binary values {0, 1}
from Bernoulli distributions based on the probabilities of
the generated preference matrices. The factor vectors are
obtained by the implicit alternating least squares (iALS)
method [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] from observational data.
        </p>
        <p>For both real and synthetic dataset, we repeated this
evaluation 10 times to obtain the average and standard error.</p>
        <sec id="sec-4-2-1">
          <title>4.1.2. Algorithms and Metrics.</title>
          <p>
            We compared the TU method with three baselines: naive,
reciprocal and cross-ratio (CR) methods. The naive method
uses the unidirectional preference from the candidate to
employer  , to create the presentation list. The
reciprocal method uses the product of preferences from both sides
 , ∗  , to create the presentation list. The CR method
proposed in [
            <xref ref-type="bibr" rid="ref25">25</xref>
            ] uses a cross ratio uninorm of preferences from
both sides. We attempted to apply the method proposed by
Su et al.[
            <xref ref-type="bibr" rid="ref18">18</xref>
            ] to both real and synthetic data, however the
optimization process did not complete in tractable time.
          </p>
          <p>We further compared the optimization methods of the
TU method: batch and mini-batch IPFP. For the TU method,
we used  = 1.0 . In both the Libimseti and synthetic data
experiment, the baseline and batch IPFP methods utilized
the imputed preference matrix, which is the product of these
factor vectors. The mini-batch IPFP directly employed the
factor vectors.</p>
          <p>Naive</p>
          <p>Reciprocal</p>
          <p>CR</p>
          <p>Batch IPFP</p>
          <p>Mini-batch IPFP</p>
          <p>
            We evaluate our method and the baselines in terms of
the expected total number of matches, which is calculated
by social welfare in a two-sided market, as defined in [
            <xref ref-type="bibr" rid="ref18">18</xref>
            ].
To simulate user groups with highly congested populations,
we used the exponentially decaying examination function
in the position-based model.
          </p>
          <p>() = 1/ exp( − 1),
(12)
, where  denotes the index in the ranking list presented to
the candidate or employer. For synthetic datasets we
calculate social welfare using the generated preference matrix.
For the Libimseti dataset, we calculate social welfare using
the imputed preference matrix.
4.1.3. Results.</p>
          <p>Figure 3 presents the results of the Libimseti dataset. The
batch and mini-batch IPFP methods demonstrated the
highest number of matches, indicating its efectiveness in
optimizing match outcomes. Figure 4 presents the results
of the synthetic data experiments conducted with various
crowding parameters. The results demonstrate that the
IPFP-based recommendation policy maintains superior
performance as crowding parameters increase. Specifically, the
expected number of matches not only remains consistently
higher than the baseline methods but also exhibits
remarkable resilience to performance degradation under increased
crowding conditions. This suggests that IPFP is particularly
efective in highly crowded markets. Considering that factor
vector-based preference matrix calculations, such as matrix
factorization, are commonly used for large-scale real-world
recommender systems, we believe that mini-batch IPFP
remains a viable approach for eficiently handling large-scale
matching problems.</p>
        </sec>
      </sec>
      <sec id="sec-4-3">
        <title>4.2. Experiments on Computational</title>
      </sec>
      <sec id="sec-4-4">
        <title>Eficiency</title>
        <p>4.2.1. Datasets.</p>
        <p>We generated synthetic market data with the same number
of candidates and employers. For batch IPFP experiments,
we set the sample size parameters | | = | | in {102, 103, 104}.
For mini-batch IPFP experiments, we further expanded the
size parameters in {102, ..., 106}.</p>
        <p>
          To calculate the unidirectional preference score, we
sampled the factor vectors of candidates and employers
  ,   ,   ,   from a uniform distribution  [
          <xref ref-type="bibr" rid="ref1">0, 1</xref>
          ], where the
√
s
eh250
c
t
a
m
la200
t
o
ft
ro150
e
b
m
nu100
d
e
t
cep 50
x
E
dimension of the factor vector is  = 50 during the
experiments. We assumed that all users have the same capacity
value – ∀ ∈  ,   = /| | and ∀ ∈  ,   = /| |,
where  is a constant value.
        </p>
        <sec id="sec-4-4-1">
          <title>4.2.2. Algorithms and Metrics.</title>
          <p>We compared the following four IPFP variants in terms of
computational cost and memory eficiency: (a) Batch IPFP
on CPU (vanilla IPFP, as baseline), (b) Batch IPFP on GPU, (c)
Mini-batch IPFP on CPU, and (d) mini-batch IPFP on GPU.
We set  = 1.0 for all methods. For mini-batch IPFP methods,
we experimented with various batch sizes in  ∈ {1, 10, 100}
to fit within our computer memory. We executed iteration
 = 100 loops and evaluated the average calculation time
per loop and the overall CPU or GPU memory consumption.</p>
          <p>We also measured the computation time and memory
consumption for a population of | | = | | = 10 4 while
varying the dimension of factor vectors in the mini-batch
IPFP. 2</p>
          <p>
            The source codes were written by inheriting from
OTTJAX [
            <xref ref-type="bibr" rid="ref26">26</xref>
            ], a solver kit for solving optimal transport problems
using the vector computation library JAX [
            <xref ref-type="bibr" rid="ref27">27</xref>
            ]. 3
4.2.3. Results.
          </p>
          <p>Figure 5 presents the average computation time per iteration
for each method. The GPU implementation of IPFP is faster
than the CPU implementation for both batch and mini-batch.
Batch IPFP requires more memory than mini-batch IPFP
because it requires loading the preference matrices into
memory in advance. In our experimental environment, an
out-of-memory error prevented execution when the data
size exceeded 105. The mini-batch IPFP handled memory
consumption via its online factor vector product calculation
and yielded a calculation time comparable to batch IPFP.</p>
          <p>Figure 6 presents the computation time and memory
usage of mini-batch IPFP for large datasets with diferent batch
sizes. The execution time increases by a constant factor with
the batch size. However, because of the efective memory
processing of JAX, memory usage remains linear scaling
regardless of batch size. In our calculation environment,
setting  = 100 allows IPFP to be performed in tractable
time even with a data size of 106. In practical applications to
2We conducted experiments on an Intel Core i9-12900K CPU and single
NVIDIA GeForce RTX 3080 (10GB memory) GPU computer.
3https://github.com/74hcnklULDuids89/minibatch-ipfp.git
)10−1
(
p
e
t
S
r
e
p10−2
e
m
i
T
)
BM102
(
e
ag 101
s
U
y
ro 100
m
e
M10−1
102
102</p>
          <p>Execution Time
(a) Batch (CPU)
(b) Batch (GPU)
(c) Mini-Batch (CPU)
(d) Mini-Batch (GPU)</p>
          <p>103
Sample Size (n)</p>
          <p>Memory Usage
(a) Ba ch (CPU)
(b) Ba ch (GPU)
(c) Mini-Batch (CPU)
(d) Mini-Batch (GPU)</p>
          <p>103
Sample Size (n)
104
104
real-world scenarios, it is conceivable that the overall
computation time could be reduced by implementing an early
stopping criterion. This could be achieved by terminating
the process when the ranking for candidates and employers
remains stable for a predetermined number of epochs.</p>
          <p>Figure 7 presents the results on the computation time and
memory eficiency of the algorithm on synthetic dataset
with various dimensions of factor vectors. The increase in
computation time and memory consumption of
minibatchIPFP has an almost linear relationship with the increase in
the dimension of factor vectors.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion and Future Work</title>
      <p>In this study, we propose a novel method that significantly
improves the computational eficiency and memory usage
of the IPFP algorithm to use the TU matching theory in RSSs
with large data. Our method achieved the same matching
probabilities as the conventional IPFP algorithm, while
operating eficiently even for large-scale data using parallel
and mini-batch computation techniques. Our experiments
on synthetic and real datasets have demonstrated that our
method can process computations for up to a million users,
even in typical CPUs/GPUs.</p>
      <p>
        In future work, we plan to apply the acceleration
techniques developed in the field of OT problems. Initially, we
approximated the transportation cost matrix using the
lowrank Sinkhorn factorization algorithm[
        <xref ref-type="bibr" rid="ref28">28</xref>
        ], reducing the
spatial complexity. Second, we calculated the derivative
values for the preference matrix and backpropagated them
to a unilateral recommendation model [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
    </sec>
    <sec id="sec-6">
      <title>Matching A. Derivation of Transferable Utility</title>
      <p>Let  , be a probability distribution that specifies a match
between candidate  and employer  . The set of feasible
matching ℳ is defined under the following constraint:
ℳ(, ) =
{ , ≥ 0 ∣ ∑  , =   ∀ ∈  ,
},
where   and   are the normalized masses of the candidate
group  and employer group  , respectively. We set the total
mass of each group to a constant  .</p>
      <p>∑   = ∑   = .
∈</p>
      <p>∈</p>
      <p>We assume that the two random utility distributions 
and</p>
      <p>are independent and identically distributed (i.i.d.)
with a type-I extreme value distribution with a scale
parameter  &gt; 0 . Equation (13) is transformed into the following
equation:
(13)
(14)
(15)
 , =  
=  
exp ( ,</p>
      <p>+  , )
∑ ′∈ 0</p>
      <p>exp ( , ′ +  , ′)
exp ( ,</p>
      <p>−  , )
∑ ′∈ 0
exp ( , ′ −   ′, )
.</p>
      <p>Let  ,</p>
      <p>
        + , be an observable joint utility.
According to [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], the optimization problem in  , in (15) is a dual
expression of the convex (primary) optimization problem
for social welfare  .
      </p>
    </sec>
    <sec id="sec-7">
      <title>B. Algorithm of Batch and</title>
    </sec>
    <sec id="sec-8">
      <title>Mini-Batch IPFP</title>
      <p>Algorithm 1 displays the algorithm used in the batch IPFP
computation. Algorithm 2 displays the algorithm used in
the computation of the mini-batch IPFP.
(  ) ← exp (  +  ) {size (, | |
2
)}
Algorithm 1 Solving Equilibrium Matching by Batch IPFP
Require: preference score matrices  ,  in size (| |, | |)
,
normalized mass vectors  of size | | ,  of size | | ,
Require: a maximum number of iterations 
Ensure: a matrix  of size (| |, | |)
denotes an equilibrium
scale parameter 
5:
6:
7:
8:
9:</p>
      <p>matching pattern.
1:  ← 1 {size (| | )}
2:  ← 1 {size (| | )}
3:  ← exp( + )
4: for  = 1, ...,  do</p>
      <p>2
/2
 ← 
 ← √ 2 +  − 
11:  ←</p>
      <p>⊙ ( ⊗  )
  ,  
Algorithm 2 Solving Equilibrium Matching by Mini-batch
IPFP
Require: preference factor matrix  ,  , in size (| |, )
,  , 
in size (| |, )</p>
      <p>, normalized mass vectors  of size | | ,
 of size | | , scale parameter  , number of mini-batches
Require: a maximum number of iterations 
Ensure: stable factor matrices Ψ of size (| |, 2 + 2)
and
Ξ in size (| |, 2 + 2)</p>
      <p>.
1:  ← 1 {size (| | )}
2:  ← 1 {size (| | )}
3: for  = 1, ...,  do
) {size (, | |
)}
4:
6:
7:
9:
10:
11:
12:
13:
14:
15:
16:
for  = 1, ...,   do
  ← exp (  
  ←    /2
17: end for</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>I.</given-names>
            <surname>Palomares</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Porcel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Pizzato</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Guy</surname>
          </string-name>
          , E. HerreraViedma,
          <article-title>Reciprocal recommender systems: Analysis of state-of-art literature, challenges and opportunities towards social recommendation</article-title>
          ,
          <year>2021</year>
          . doi:
          <volume>10</volume>
          .1016/ j.inffus.
          <year>2020</year>
          .
          <volume>12</volume>
          .001.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>L.</given-names>
            <surname>Pizzato</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Rej</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Chung</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Koprinska</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kay</surname>
          </string-name>
          ,
          <article-title>Recon: A reciprocal recommender for online dating</article-title>
          , in: RecSys, New York, NY, USA,
          <year>2010</year>
          , p.
          <fpage>207</fpage>
          -
          <lpage>214</lpage>
          . doi:
          <volume>10</volume>
          .1145/1864708.1864747.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>L. S.</given-names>
            <surname>Shapley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Shubik</surname>
          </string-name>
          ,
          <article-title>The Assignment Game I: The Core</article-title>
          , volume
          <volume>1</volume>
          ,
          <string-name>
            <surname>Physica-Verlag</surname>
            <given-names>GmbH</given-names>
          </string-name>
          , DEU,
          <year>1971</year>
          . doi:
          <volume>10</volume>
          .1007/BF01753437.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>G. S.</given-names>
            <surname>Becker</surname>
          </string-name>
          ,
          <article-title>A theory of marriage: Part i</article-title>
          ,
          <source>Journal of Political Economy</source>
          <volume>81</volume>
          (
          <year>1973</year>
          )
          <fpage>813</fpage>
          -
          <lpage>846</lpage>
          . URL: http: //www.jstor.org/stable/1831130.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>E.</given-names>
            <surname>Choo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Siow</surname>
          </string-name>
          ,
          <article-title>Who marries whom and why</article-title>
          ,
          <source>Journal of Political Economy</source>
          <volume>114</volume>
          (
          <year>2006</year>
          )
          <fpage>175</fpage>
          -
          <lpage>201</lpage>
          . URL: http://www.jstor.org/stable/10.1086/498585.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Tomita</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Togashi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Hashizume</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Ohsaka</surname>
          </string-name>
          ,
          <article-title>Fast and examination-agnostic reciprocal recommendation in matching markets</article-title>
          , in: RecSys, New York, NY, USA,
          <year>2023</year>
          , p.
          <fpage>12</fpage>
          -
          <lpage>23</lpage>
          . doi:
          <volume>10</volume>
          .1145/3604915.3608774.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>K.-M. Chen</surname>
            ,
            <given-names>Y.-W.</given-names>
          </string-name>
          <string-name>
            <surname>Hsieh</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.-J. Lin</surname>
          </string-name>
          ,
          <article-title>Reducing recommendation inequality via two-sided matching: a ifeld experiment of online dating</article-title>
          ,
          <source>International Economic Review</source>
          <volume>64</volume>
          (
          <year>2023</year>
          )
          <fpage>1201</fpage>
          -
          <lpage>1221</lpage>
          . doi:
          <volume>10</volume>
          .1111/ iere.12631.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Saini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Rusu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Johnston</surname>
          </string-name>
          ,
          <article-title>Privatejobmatch: A privacy-oriented deferred multi-match recommender system for stable employment</article-title>
          , In: RecSys, New York, NY, USA,
          <year>2019</year>
          , p.
          <fpage>87</fpage>
          -
          <lpage>95</lpage>
          . doi:
          <volume>10</volume>
          .1145/3298689. 3346983.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Galichon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Salanié</surname>
          </string-name>
          ,
          <article-title>Cupid's invisible hand: Social surplus and identification in matching models</article-title>
          ,
          <source>The Review of Economic Studies</source>
          <volume>89</volume>
          (
          <year>2021</year>
          )
          <fpage>2600</fpage>
          -
          <lpage>2629</lpage>
          . doi:
          <volume>10</volume>
          .1093/restud/rdab090.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>P.</given-names>
            <surname>Knopp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Sinkhorn</surname>
          </string-name>
          ,
          <article-title>Concerning nonnegative matrices and doubly stochastic matrices</article-title>
          .,
          <source>Pacific Journal of Mathematics</source>
          <volume>21</volume>
          (
          <year>1967</year>
          )
          <fpage>343</fpage>
          -
          <lpage>348</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Koren</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Volinsky</surname>
          </string-name>
          ,
          <article-title>Matrix factorization techniques for recommender systems</article-title>
          ,
          <source>Computer</source>
          <volume>42</volume>
          (
          <year>2009</year>
          )
          <fpage>30</fpage>
          -
          <lpage>37</lpage>
          . doi:
          <volume>10</volume>
          .1109/
          <string-name>
            <surname>MC</surname>
          </string-name>
          .
          <year>2009</year>
          .
          <volume>263</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>G.</given-names>
            <surname>Özcan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. G.</given-names>
            <surname>Ögüdücü</surname>
          </string-name>
          ,
          <article-title>Applying diferent classification techniques in reciprocal job recommender system for considering job candidate preferences</article-title>
          ,
          <source>in: 2016 11th International Conference for Internet Technology and Secured Transactions (ICITST)</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>235</fpage>
          -
          <lpage>240</lpage>
          . doi:
          <volume>10</volume>
          .1109/ICITST.
          <year>2016</year>
          .
          <volume>7856703</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>P.</given-names>
            <surname>Xia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <article-title>Reciprocal recommendation system for online dating</article-title>
          , in: ASONAM, New York, NY, USA,
          <year>2015</year>
          , p.
          <fpage>234</fpage>
          -
          <lpage>241</lpage>
          . doi:
          <volume>10</volume>
          .1145/ 2808797.2809282.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>A.</given-names>
            <surname>Kleinerman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rosenfeld</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ricci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kraus</surname>
          </string-name>
          ,
          <article-title>Optimally balancing receiver and recommended users' importance in reciprocal recommender systems</article-title>
          , in: RecSys, ACM, New York, NY, USA,
          <year>2018</year>
          , p.
          <fpage>131</fpage>
          -
          <lpage>139</lpage>
          . doi:
          <volume>10</volume>
          .1145/3240323.3240349.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>R.</given-names>
            <surname>Ramanathan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. K.</given-names>
            <surname>Shinada</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Shimatani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yamaguchi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Tanaka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Iizuka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. K.</given-names>
            <surname>Palaniappan</surname>
          </string-name>
          ,
          <article-title>A reciprocal embedding framework for modelling mutual preferences</article-title>
          ,
          <source>in: AAAI</source>
          , volume
          <volume>35</volume>
          ,
          <year>2021</year>
          , pp.
          <fpage>15385</fpage>
          -
          <lpage>15392</lpage>
          . doi:
          <volume>10</volume>
          .1609/aaai.v35i17.
          <fpage>17807</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>F.</given-names>
            <surname>Borisyuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , K. Kenthapadi,
          <article-title>Lijar: A system for job application redistribution towards eficient career marketplace</article-title>
          , in: KDD, New York, NY, USA,
          <year>2017</year>
          , p.
          <fpage>1397</fpage>
          -
          <lpage>1406</lpage>
          . doi:
          <volume>10</volume>
          .1145/3097983.3098028.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>V.</given-names>
            <surname>Do</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Usunier</surname>
          </string-name>
          ,
          <article-title>Optimizing generalized gini indices for fairness in rankings, 2022</article-title>
          . doi:
          <volume>10</volume>
          .48550/arXiv. 2204.06521.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Su</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bayoumi</surname>
          </string-name>
          , T. Joachims,
          <article-title>Optimizing rankings for recommendation in matching markets</article-title>
          ,
          <source>in: WWW</source>
          ,
          <year>2022</year>
          . doi:
          <volume>10</volume>
          .1145/3485447.3511961.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>G.</given-names>
            <surname>Bied</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Perennes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. A.</given-names>
            <surname>Naya</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Caillou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Crépon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gaillac</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sebag</surname>
          </string-name>
          ,
          <article-title>Congestion-avoiding job recommendation with optimal transport</article-title>
          ,
          <source>in: FEAST workshop ECML-PKDD</source>
          <year>2021</year>
          , Bilbao, Spain,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Mashayekhi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Kang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lijfijt</surname>
          </string-name>
          , T. De Bie,
          <article-title>Recon: Reducing congestion in job recommendation using optimal transport</article-title>
          , in: RecSys, ACM, New York, NY, USA,
          <year>2023</year>
          , p.
          <fpage>696</fpage>
          -
          <lpage>701</lpage>
          . doi:
          <volume>10</volume>
          .1145/3604915.3608817.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>M.</given-names>
            <surname>Cuturi</surname>
          </string-name>
          ,
          <article-title>Sinkhorn distances: Lightspeed computation of optimal transport</article-title>
          , in: NIPS, Curran Associates Inc.,
          <string-name>
            <surname>Red</surname>
            <given-names>Hook</given-names>
          </string-name>
          ,
          <string-name>
            <surname>NY</surname>
          </string-name>
          , USA,
          <year>2013</year>
          , p.
          <fpage>2292</fpage>
          -
          <lpage>2300</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>C.</given-names>
            <surname>Decker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. H.</given-names>
            <surname>Lieb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. J.</given-names>
            <surname>McCann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. K.</given-names>
            <surname>Stephens</surname>
          </string-name>
          ,
          <article-title>Unique equilibria and substitution efects in a stochastic model of the marriage market</article-title>
          ,
          <source>Journal of Economic Theory</source>
          <volume>148</volume>
          (
          <year>2013</year>
          )
          <fpage>778</fpage>
          -
          <lpage>792</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.jet.
          <year>2012</year>
          .
          <volume>12</volume>
          .005.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>A.</given-names>
            <surname>Mnih</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. R.</given-names>
            <surname>Salakhutdinov</surname>
          </string-name>
          ,
          <article-title>Probabilistic matrix factorization</article-title>
          , in: J.
          <string-name>
            <surname>Platt</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Koller</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Singer</surname>
          </string-name>
          , S. Roweis (Eds.),
          <source>Advances in Neural Information Processing Systems</source>
          , volume
          <volume>20</volume>
          ,
          <string-name>
            <surname>Curran</surname>
            <given-names>Associates</given-names>
          </string-name>
          , Inc.,
          <year>2007</year>
          . URL: https: //proceedings.neurips.cc/paper_files/paper/2007/file/ d7322ed717dedf1eb4e6e52a37ea7bcd-Paper.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>A.</given-names>
            <surname>Paterek</surname>
          </string-name>
          ,
          <article-title>Improving regularized singular value decomposition for collaborative filtering</article-title>
          ,
          <source>Proceedings of KDD Cup and Workshop</source>
          (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>J.</given-names>
            <surname>Neve</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Palomares</surname>
          </string-name>
          ,
          <article-title>Latent factor models and aggregation operators for collaborative filtering in reciprocal recommender systems</article-title>
          ,
          <source>in: Proceedings of the 13th ACM Conference on Recommender Systems</source>
          , RecSys '19,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2019</year>
          , p.
          <fpage>219</fpage>
          -
          <lpage>227</lpage>
          . URL: https://doi. org/10.1145/3298689.3347026. doi:
          <volume>10</volume>
          .1145/3298689. 3347026.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>M.</given-names>
            <surname>Cuturi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Meng-Papaxanthos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Tian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bunne</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Davis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Teboul</surname>
          </string-name>
          ,
          <article-title>Optimal transport tools (ott): A jax toolbox for all things wasserstein (</article-title>
          <year>2022</year>
          ). doi:
          <volume>10</volume>
          . 48550/arXiv.2201.12324.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bradbury</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Frostig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Hawkins</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Johnson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Leary</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Maclaurin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Necula</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Paszke</surname>
          </string-name>
          , J. VanderPlas,
          <string-name>
            <given-names>S.</given-names>
            <surname>Wanderman-Milne</surname>
          </string-name>
          ,
          <string-name>
            <surname>Q. Zhang,</surname>
          </string-name>
          <article-title>JAX: composable transformations of Python+NumPy programs</article-title>
          ,
          <year>2018</year>
          . URL: http://github.com/google/jax.
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>M.</given-names>
            <surname>Scetbon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cuturi</surname>
          </string-name>
          , G. Peyré,
          <article-title>Low-rank sinkhorn factorization</article-title>
          , in: M.
          <string-name>
            <surname>Meila</surname>
          </string-name>
          , T. Zhang (Eds.),
          <source>Proceedings of the 38th International Conference on Machine Learning</source>
          , volume
          <volume>139</volume>
          <source>of PMLR</source>
          , PMLR,
          <year>2021</year>
          , pp.
          <fpage>9344</fpage>
          -
          <lpage>9354</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>10: end for 12: return</mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>