Dimension of argument `match` for matching-based scaling methods is unclear for non-square matrices
mjacobse opened this issue · 4 comments
mjacobse commented
Documentation says match(n)
(auction_scale_unsym, hungarian_scale_unsym), code says match(m)
(auction_scale_unsym_int32, auction_scale_unsym_int64, hungarian_scale_unsym_int32, hungarian_scale_unsym_int64).
The tests pass an oversized match(maxn)
with m, n <= maxn
and the examples are using a square matrix, so they do not really provide clarification either.
Indeed, neither match(m)
nor match(n)
seem to work correctly in all cases. For both there are settings with either m < n
or m > n
that lead to memory access violations or uninitialized returned values.
jfowkes commented
Thanks @mjacobse, what a mess. It's not clear to me what the correct setting should be here.