summaryrefslogtreecommitdiff
path: root/test/test_bregman.py
diff options
context:
space:
mode:
authorRémi Flamary <remi.flamary@gmail.com>2017-07-24 12:11:34 +0200
committerRémi Flamary <remi.flamary@gmail.com>2017-07-24 12:11:34 +0200
commita8a0995edefd437f56b91b95c2628fb031428a08 (patch)
tree85c4f4ac39e8257b63062cce91cf53e622233ca2 /test/test_bregman.py
parent75492827c89a47cbc6807d4859be178d255c49bc (diff)
pep8 tests
Diffstat (limited to 'test/test_bregman.py')
-rw-r--r--test/test_bregman.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/test_bregman.py b/test/test_bregman.py
new file mode 100644
index 0000000..fd2c972
--- /dev/null
+++ b/test/test_bregman.py
@@ -0,0 +1,43 @@
+
+
+import ot
+import numpy as np
+
+# import pytest
+
+
+def test_sinkhorn():
+ # test sinkhorn
+ n = 100
+ np.random.seed(0)
+
+ x = np.random.randn(n, 2)
+ u = ot.utils.unif(n)
+
+ M = ot.dist(x, x)
+
+ G = ot.sinkhorn(u, u, M, 1, stopThr=1e-10)
+
+ # check constratints
+ assert np.allclose(u, G.sum(1), atol=1e-05) # cf convergence sinkhorn
+ assert np.allclose(u, G.sum(0), atol=1e-05) # cf convergence sinkhorn
+
+
+def test_sinkhorn_variants():
+ # test sinkhorn
+ n = 100
+ np.random.seed(0)
+
+ x = np.random.randn(n, 2)
+ u = ot.utils.unif(n)
+
+ M = ot.dist(x, x)
+
+ G0 = ot.sinkhorn(u, u, M, 1, method='sinkhorn', stopThr=1e-10)
+ Gs = ot.sinkhorn(u, u, M, 1, method='sinkhorn_stabilized', stopThr=1e-10)
+ Ges = ot.sinkhorn(
+ u, u, M, 1, method='sinkhorn_epsilon_scaling', stopThr=1e-10)
+
+ # check constratints
+ assert np.allclose(G0, Gs, atol=1e-05)
+ assert np.allclose(G0, Ges, atol=1e-05)