summaryrefslogtreecommitdiff
path: root/ot/stochastic.py
diff options
context:
space:
mode:
authorKilian Fatras <kilianfatras@dhcp-206-12-53-99.eduroam.wireless.ubc.ca>2018-06-15 19:04:38 -0700
committerKilian Fatras <kilianfatras@dhcp-206-12-53-99.eduroam.wireless.ubc.ca>2018-06-15 19:04:38 -0700
commite2d06ef4e901e0c1e9119cdbd79b9c453c1af452 (patch)
tree9a0a7d963b67d530773ddbff66a766a39bb0956f /ot/stochastic.py
parentc8eda449b2c6b39e9d57d1b5b2c39e43f2925892 (diff)
add problems solved in doc
Diffstat (limited to 'ot/stochastic.py')
-rw-r--r--ot/stochastic.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/ot/stochastic.py b/ot/stochastic.py
index 541f456..9123150 100644
--- a/ot/stochastic.py
+++ b/ot/stochastic.py
@@ -75,8 +75,8 @@ def coordinate_gradient(b, M, reg, v, i):
'''
r = M[i, :] - v
- exp_v = np.exp(-r / reg) * b
- khi = exp_v / (np.sum(exp_v))
+ exp_v = np.exp(-r/reg) * b
+ khi = exp_v/(np.sum(exp_v))
return b - khi
@@ -161,7 +161,7 @@ def sag_entropic_transport(a, b, M, reg, numItermax=10000, lr=0.1):
cur_coord_grad = a[i] * coordinate_gradient(b, M, reg, v, i)
sum_stored_gradient += (cur_coord_grad - stored_gradient[i])
stored_gradient[i] = cur_coord_grad
- v += lr * (1. / n_source) * sum_stored_gradient
+ v += lr * (1./n_source) * sum_stored_gradient
return v
@@ -243,8 +243,8 @@ def averaged_sgd_entropic_transport(b, M, reg, numItermax=300000, lr=1):
k = cur_iter + 1
i = np.random.randint(n_source)
cur_coord_grad = coordinate_gradient(b, M, reg, cur_v, i)
- cur_v += (lr / np.sqrt(k)) * cur_coord_grad
- ave_v = (1. / k) * cur_v + (1 - 1. / k) * ave_v
+ cur_v += (lr/np.sqrt(k)) * cur_coord_grad
+ ave_v = (1./k) * cur_v + (1 - 1./k) * ave_v
return ave_v
@@ -317,7 +317,7 @@ def c_transform_entropic(b, M, reg, v):
u = np.zeros(n_source)
for i in range(n_source):
r = M[i, :] - v
- exp_v = np.exp(-r / reg) * b
+ exp_v = np.exp(-r/reg) * b
u[i] = - reg * np.log(np.sum(exp_v))
return u
@@ -410,6 +410,6 @@ def transportation_matrix_entropic(a, b, M, reg, method, numItermax=10000,
return None
opt_u = c_transform_entropic(b, M, reg, opt_v)
- pi = (np.exp((opt_u[:, None] + opt_v[None, :] - M[:, :]) / reg)
+ pi = (np.exp((opt_u[:, None] + opt_v[None, :] - M[:, :])/reg)
* a[:, None] * b[None, :])
return pi