{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/efficient-solvers-for-partial-gromov","title":"Partial Gromov-Wasserstein Metric","arxiv_id":"2402.03664","date":"2024-02-06","proceeding":null,"authors":["Yikun Bai","Rocio Diaz Martin","Abihith Kothapalli","Hengrong Du","Xinran Liu","Soheil Kolouri"],"abstract":"The Gromov-Wasserstein (GW) distance has gained increasing interest in the machine learning community in recent years, as it allows for the comparison of measures in different metric spaces. To overcome the limitations imposed by the equal mass requirements of the classical GW problem, researchers have begun exploring its application in unbalanced settings. However, Unbalanced GW (UGW) can only be regarded as a discrepancy rather than a rigorous metric/distance between two metric measure spaces (mm-spaces). In this paper, we propose a particular case of the UGW problem, termed Partial Gromov-Wasserstein (PGW). We establish that PGW is a well-defined metric between mm-spaces and discuss its theoretical properties, including the existence of a minimizer for the PGW problem and the relationship between PGW and GW, among others. We then propose two variants of the Frank-Wolfe algorithm for solving the PGW problem and show that they are mathematically and computationally equivalent. Moreover, based on our PGW metric, we introduce the analogous concept of barycenters for mm-spaces. Finally, we validate the effectiveness of our PGW metric and related solvers in applications such as shape matching, shape retrieval, and shape interpolation, comparing them against existing baselines. Our code is available at https://github.com/mint-vu/PGW_Metric.","url_abs":"https://arxiv.org/abs/2402.03664v5","url_pdf":"https://arxiv.org/pdf/2402.03664v5.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"efficient-solvers-for-partial-gromov","repo_url":"https://github.com/mint-vu/pgw_metric","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2402.03664","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.03664"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/mint-vu/PGW_Metric","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mint-vu/pgw_metric","reach":{"status":"ok"}}],"summary":{"ran":25,"ran_fixture":2,"ran_draft_wrong":1,"unverified":11},"by_repo_kind":{"official":{"samples":38,"ran":28,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":39,"samples":[{"code_sha256_prefix":"6f5e13570a85cb9e","entry":"HKExpMonge","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/HK/LinHK.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/HK/LinHK.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6f5e13570a85cb9e"}},{"code_sha256_prefix":"ddfb05aa653b2aeb","entry":"HKLog","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/HK/LinHK.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/HK/LinHK.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ddfb05aa653b2aeb"}},{"code_sha256_prefix":"5f4ad09f57a60dd3","entry":"KL","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/HK/SinkhornNP.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/HK/SinkhornNP.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5f4ad09f57a60dd3"}},{"code_sha256_prefix":"92b599f21803d223","entry":"MDS_test","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/gromov_barycenter.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/gromov_barycenter.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"92b599f21803d223"}},{"code_sha256_prefix":"8d9de98e89cbef33","entry":"PCA_numpy","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/_utils.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8d9de98e89cbef33"}},{"code_sha256_prefix":"dbcd9cca06939b5e","entry":"buildDataMatrix","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/HK/LinW2.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/HK/LinW2.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dbcd9cca06939b5e"}},{"code_sha256_prefix":"b0bb632a9a1e6e72","entry":"check_number_threads","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/opt.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/opt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b0bb632a9a1e6e72"}},{"code_sha256_prefix":"1ec964d986f17239","entry":"cost_function","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/lopt.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/lopt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1ec964d986f17239"}},{"code_sha256_prefix":"a58377b969a103e3","entry":"cost_matrix","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/lopt.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/lopt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a58377b969a103e3"}},{"code_sha256_prefix":"9b4ba556ee545dc6","entry":"decomposeEigenvectors","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/HK/LinW2.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/HK/LinW2.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9b4ba556ee545dc6"}},{"code_sha256_prefix":"d17fd94b1af0d3f1","entry":"emd_lp","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/opt.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/opt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d17fd94b1af0d3f1"}},{"code_sha256_prefix":"0ecd3739ff2fee74","entry":"extractMongeData","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/HK/LinHK.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/HK/LinHK.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0ecd3739ff2fee74"}},{"code_sha256_prefix":"5b69e57118377810","entry":"extractMongeData","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/HK/LinW2.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/HK/LinW2.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5b69e57118377810"}},{"code_sha256_prefix":"e04b1361dd2fa985","entry":"gamma_to_T","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/_utils.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e04b1361dd2fa985"}},{"code_sha256_prefix":"57b010a6f658afcf","entry":"generate_d_sphere","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/shape_matching.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/shape_matching.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"57b010a6f658afcf"}},{"code_sha256_prefix":"10538f2e3b860e1c","entry":"generate_d_square","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/shape_matching.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/shape_matching.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"10538f2e3b860e1c"}},{"code_sha256_prefix":"d6ff84d8980cc90d","entry":"getCostEuclidean","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/HK/SinkhornNP.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/HK/SinkhornNP.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d6ff84d8980cc90d"}},{"code_sha256_prefix":"e39a27451d50dff2","entry":"getPoslistNCube","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/HK/OTCommon.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/HK/OTCommon.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e39a27451d50dff2"}},{"code_sha256_prefix":"f75fddd85ad85071","entry":"im2mat","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/gromov_barycenter.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/gromov_barycenter.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f75fddd85ad85071"}},{"code_sha256_prefix":"8f98f1be91d759a4","entry":"lot_geodesic","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/geodesic.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/geodesic.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8f98f1be91d759a4"}},{"code_sha256_prefix":"ddac89a10bbaf59f","entry":"normalize_X","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/pu_learning.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/pu_learning.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ddac89a10bbaf59f"}},{"code_sha256_prefix":"b799916ef80c00ac","entry":"opt_interpolation","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/geodesic.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/geodesic.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b799916ef80c00ac"}},{"code_sha256_prefix":"f9b40f8f3c9ea5f3","entry":"ot_geodesic","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/geodesic.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/geodesic.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f9b40f8f3c9ea5f3"}},{"code_sha256_prefix":"bde78b222d343cc7","entry":"pu_gw_emd","repo":"mint-vu/pgw_metric","repo_kind":"official","path":"lib/mpgw/partial_gw.py","file_url":"https://github.com/mint-vu/pgw_metric/blob/HEAD/lib/mpgw/partial_gw.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bde78b222d343cc7"}},{"code_sha256_prefix":"dcd88e715c0b7a9c","entry":"pu_w_emd","repo":"mint-vu/pgw_metric","repo_kind":"official","path":"lib/mpgw/partial_gw.py","file_url":"https://github.com/mint-vu/pgw_metric/blob/HEAD/lib/mpgw/partial_gw.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dcd88e715c0b7a9c"}},{"code_sha256_prefix":"994e8f3b082dd270","entry":"random_projections","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/lopt.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/lopt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"994e8f3b082dd270"}},{"code_sha256_prefix":"49a9dad58dc9c817","entry":"rotation_2d","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/shape_matching.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/shape_matching.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"49a9dad58dc9c817"}},{"code_sha256_prefix":"ac03fc0948a770f5","entry":"smacof_mds","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/gromov_barycenter.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/gromov_barycenter.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ac03fc0948a770f5"}},{"code_sha256_prefix":"3932dc6120481ab3","entry":"SolveW2","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/HK/SinkhornNP.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/HK/SinkhornNP.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3932dc6120481ab3"}},{"code_sha256_prefix":"657b63a2f201207a","entry":"data_process","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/pu_learning.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/pu_learning.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"657b63a2f201207a"}},{"code_sha256_prefix":"ee5ed42010b9accc","entry":"draw_pu_dataset_scar","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/pu_learning.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/pu_learning.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ee5ed42010b9accc"}},{"code_sha256_prefix":"147fd80456b80804","entry":"gwgrad","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"147fd80456b80804"}},{"code_sha256_prefix":"56455786f838bd02","entry":"gwgrad_partial1","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/gromov.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/gromov.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"56455786f838bd02"}},{"code_sha256_prefix":"af7ad3707397d5b0","entry":"gwloss","repo":"mint-vu/pgw_metric","repo_kind":"official","path":"lib/mpgw/partial_gw.py","file_url":"https://github.com/mint-vu/pgw_metric/blob/HEAD/lib/mpgw/partial_gw.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"af7ad3707397d5b0"}},{"code_sha256_prefix":"ca28591bfb28a4f0","entry":"importMeasure","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/HK/OTCommon.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/HK/OTCommon.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ca28591bfb28a4f0"}},{"code_sha256_prefix":"46a6ff2f033b3222","entry":"opt_lp","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/opt.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/opt.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"46a6ff2f033b3222"}},{"code_sha256_prefix":"e332456cb147b40e","entry":"processDensity_Grid","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/HK/OTCommon.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/HK/OTCommon.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e332456cb147b40e"}},{"code_sha256_prefix":"a7e27a1315a1af98","entry":"sampling","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/_utils.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a7e27a1315a1af98"}},{"code_sha256_prefix":"02b0df05801406da","entry":"tensor_dot_func","repo":"mint-vu/PGW_Metric","repo_kind":"official","path":"lib/gromov.py","file_url":"https://github.com/mint-vu/PGW_Metric/blob/HEAD/lib/gromov.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"02b0df05801406da"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}