Weighted bipartite matching method for ktensor/score.m function. The score function used to compare two ktensors offers a 'greedy' option, which uses an algorithm that is efficient but may be inaccurate. For computing score exactly, the code uses an exhaustive search, which is an exponential-time algorithm and too slow. This change replaces the expotential algorith with a polynomial-time algorithm (a weighted bipartite matching problem).
Closes #28
Checklist
-
Issue Before the merge request, submit an issue for the change, providing as much detailed information as possible. For bug reports, please provide enough information to reproduce the problem. -
Fork Create a branch or fork of the code and make your changes. -
Help Comments Create or update comments for the m-files, following the style of the existing files. Be sure to explain all code options. -
Tests Create or update tests in the tests
directory, especially for bug fixes or strongly encouraged for new code. -
Release Notes Update RELEASE_NOTES.txt
with any significant bug fixes or additions. -
Contributors List Update CONTRIBUTORS.md
with your name and a brief description of the contributions. -
Pass All Tests Confirm that all tests (including existing tests) pass in tests
directory. -
Merge Request At any point, create a work-in-progress merge request, referencing the issue number and with this checklist and WIP in the header.