wass 0.1.1

Optimal transport: Wasserstein distance, Sinkhorn algorithm, and Sinkhorn divergence
Documentation
[[bench]]
harness = false
name = "sinkhorn"
path = "benches/sinkhorn.rs"

[dependencies.innr]
optional = true
version = "0.1.0"

[dependencies.ndarray]
version = "0.16"

[dependencies.rand]
version = "0.9"

[dependencies.rand_chacha]
version = "0.9"

[dependencies.rand_distr]
version = "0.5"

[dependencies.thiserror]
version = "2.0"

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.proptest]
version = "1.5"

[[example]]
name = "document_alignment_demo"
path = "examples/document_alignment_demo.rs"

[[example]]
name = "noisy_ocr_matching"
path = "examples/noisy_ocr_matching.rs"

[[example]]
name = "sinkhorn_divergence_same_support"
path = "examples/sinkhorn_divergence_same_support.rs"

[[example]]
name = "sinkhorn_log_anderson"
path = "examples/sinkhorn_log_anderson.rs"

[[example]]
name = "sinkhorn_log_progressive"
path = "examples/sinkhorn_log_progressive.rs"

[[example]]
name = "sinkhorn_sweep"
path = "examples/sinkhorn_sweep.rs"

[[example]]
name = "unbalanced_outlier_tradeoff"
path = "examples/unbalanced_outlier_tradeoff.rs"

[[example]]
name = "unbalanced_sinkhorn_mass_mismatch"
path = "examples/unbalanced_sinkhorn_mass_mismatch.rs"

[features]
default = []
simd = ["dep:innr"]

[lib]
name = "wass"
path = "src/lib.rs"

[package]
authors = ["Arc <attobop@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["algorithms", "science", "mathematics"]
description = "Optimal transport: Wasserstein distance, Sinkhorn algorithm, and Sinkhorn divergence"
documentation = "https://docs.rs/wass"
edition = "2021"
homepage = "https://github.com/arclabs561/wass"
keywords = ["optimal-transport", "wasserstein", "sinkhorn", "divergence"]
license = "MIT OR Apache-2.0"
name = "wass"
readme = "README.md"
repository = "https://github.com/arclabs561/wass"
version = "0.1.1"

[[test]]
name = "noisy_ocr_expected_matches_e2e"
path = "tests/noisy_ocr_expected_matches_e2e.rs"

[[test]]
name = "sinkhorn_divergence_convexity_e2e"
path = "tests/sinkhorn_divergence_convexity_e2e.rs"

[[test]]
name = "sinkhorn_divergence_cost_shift_invariant_e2e"
path = "tests/sinkhorn_divergence_cost_shift_invariant_e2e.rs"

[[test]]
name = "sinkhorn_divergence_e2e"
path = "tests/sinkhorn_divergence_e2e.rs"

[[test]]
name = "sinkhorn_divergence_gaussian_shift_e2e"
path = "tests/sinkhorn_divergence_gaussian_shift_e2e.rs"

[[test]]
name = "sinkhorn_divergence_general_e2e"
path = "tests/sinkhorn_divergence_general_e2e.rs"

[[test]]
name = "sinkhorn_log_zeros_e2e"
path = "tests/sinkhorn_log_zeros_e2e.rs"

[[test]]
name = "unbalanced_divergence_symmetry_e2e"
path = "tests/unbalanced_divergence_symmetry_e2e.rs"

[[test]]
name = "unbalanced_divergence_zero_diagonal_sparse_e2e"
path = "tests/unbalanced_divergence_zero_diagonal_sparse_e2e.rs"

[[test]]
name = "unbalanced_outlier_tradeoff_e2e"
path = "tests/unbalanced_outlier_tradeoff_e2e.rs"

[[test]]
name = "unbalanced_plan_mass_monotone_in_rho_e2e"
path = "tests/unbalanced_plan_mass_monotone_in_rho_e2e.rs"

[[test]]
name = "unbalanced_sinkhorn_e2e"
path = "tests/unbalanced_sinkhorn_e2e.rs"