-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.html
More file actions
646 lines (608 loc) · 79.5 KB
/
Copy pathindex.html
File metadata and controls
646 lines (608 loc) · 79.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="../">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Examples gallery — POT Python Optimal Transport 0.9.8.dev documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=9edc463e" />
<link rel="stylesheet" type="text/css" href="../_static/sg_gallery.css?v=fd6457a4" />
<link rel="stylesheet" type="text/css" href="../_static/sg_gallery-binder.css?v=f4aeca0c" />
<link rel="stylesheet" type="text/css" href="../_static/sg_gallery-dataframe.css?v=2082cf3c" />
<link rel="stylesheet" type="text/css" href="../_static/sg_gallery-rendered-html.css?v=1277b6f3" />
<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=dd0b68c4"></script>
<script src="../_static/doctools.js?v=fd6eb6e6"></script>
<script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
<script src="../_static/sg-tags.js?v=d80f6fa4"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Introduction to Optimal Transport with Python" href="plot_Intro_OT.html" />
<link rel="prev" title="Quickstart Guide" href="plot_quickstart_guide.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
POT Python Optimal Transport
<img src="../_static/logo_dark.svg" class="logo" alt="Logo"/>
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../index.html">POT: Python Optimal Transport</a></li>
<li class="toctree-l1"><a class="reference internal" href="plot_quickstart_guide.html">Quickstart Guide</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Examples gallery</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#ot-and-regularized-ot">OT and regularized OT</a><ul>
<li class="toctree-l3"><a class="reference internal" href="plot_Intro_OT.html">Introduction to Optimal Transport with Python</a></li>
<li class="toctree-l3"><a class="reference internal" href="plot_OT_1D.html">Optimal Transport for fixed support</a></li>
<li class="toctree-l3"><a class="reference internal" href="plot_OT_2D_samples.html">Optimal Transport between empirical distributions</a></li>
<li class="toctree-l3"><a class="reference internal" href="plot_OT_L1_vs_L2.html">Optimal Transport with different ground metrics</a></li>
<li class="toctree-l3"><a class="reference internal" href="plot_bsp_ot.html">Fast and accurate transport bijections using BSP-OT</a></li>
<li class="toctree-l3"><a class="reference internal" href="plot_compute_emd.html">Geometry of OT distances</a></li>
<li class="toctree-l3"><a class="reference internal" href="plot_debias_sink_div.html">Sinkhorn Divergence and Debiased OT solvers</a></li>
<li class="toctree-l3"><a class="reference internal" href="plot_optim_OTreg.html">Regularized OT with generic solver</a></li>
<li class="toctree-l3"><a class="reference internal" href="plot_quickstart_guide.html">Quickstart Guide</a></li>
<li class="toctree-l3"><a class="reference internal" href="plot_solve_variants.html">Optimal Transport solvers comparison</a></li>
<li class="toctree-l3"><a class="reference internal" href="plot_sparse_emd.html">Sparse Optimal Transport</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#differentiable-ot-with-pytorch">Differentiable OT with PyTorch</a><ul>
<li class="toctree-l3"><a class="reference internal" href="backends/plot_Sinkhorn_gradients.html">Different gradient computations for regularized optimal transport</a></li>
<li class="toctree-l3"><a class="reference internal" href="backends/plot_dual_ot_pytorch.html">Dual OT solvers for entropic and quadratic regularized OT with Pytorch</a></li>
<li class="toctree-l3"><a class="reference internal" href="backends/plot_gradient_descent.html">Solve Fused Unbalanced Gromov Wasserstein with Adam</a></li>
<li class="toctree-l3"><a class="reference internal" href="backends/plot_optim_gromov_pytorch.html">Optimizing the Gromov-Wasserstein distance with PyTorch</a></li>
<li class="toctree-l3"><a class="reference internal" href="backends/plot_ot_batch.html">Solving Many Optimal Transport Problems in Parallel</a></li>
<li class="toctree-l3"><a class="reference internal" href="backends/plot_sliced_wass_grad_flow_pytorch.html">Sliced Wasserstein barycenter and gradient flow with PyTorch</a></li>
<li class="toctree-l3"><a class="reference internal" href="backends/plot_ssw_unif_torch.html">Spherical Sliced-Wasserstein Embedding on Sphere</a></li>
<li class="toctree-l3"><a class="reference internal" href="backends/plot_stoch_continuous_ot_pytorch.html">Continuous OT plan estimation with Pytorch</a></li>
<li class="toctree-l3"><a class="reference internal" href="backends/plot_unmix_optim_torch.html">Wasserstein unmixing with PyTorch</a></li>
<li class="toctree-l3"><a class="reference internal" href="backends/plot_wass1d_torch.html">Wasserstein 1D (flow and barycenter) with PyTorch</a></li>
<li class="toctree-l3"><a class="reference internal" href="backends/plot_wass2_gan_torch.html">Wasserstein 2 Minibatch GAN with PyTorch</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#gromov-wasserstein-gw-and-fused-gw">Gromov-Wasserstein (GW) and Fused GW</a><ul>
<li class="toctree-l3"><a class="reference internal" href="gromov/plot_barycenter_fgw.html">Barycenter of labeled graphs with FGW</a></li>
<li class="toctree-l3"><a class="reference internal" href="gromov/plot_entropic_semirelaxed_fgw.html">Entropic-regularized semi-relaxed (Fused) Gromov-Wasserstein example</a></li>
<li class="toctree-l3"><a class="reference internal" href="gromov/plot_fgw.html">Plot Fused-Gromov-Wasserstein</a></li>
<li class="toctree-l3"><a class="reference internal" href="gromov/plot_fgw_solvers.html">Comparison of Fused Gromov-Wasserstein solvers</a></li>
<li class="toctree-l3"><a class="reference internal" href="gromov/plot_gnn_TFGW.html">Graph classification with Template Based Fused Gromov Wasserstein</a></li>
<li class="toctree-l3"><a class="reference internal" href="gromov/plot_gromov.html">Gromov-Wasserstein example</a></li>
<li class="toctree-l3"><a class="reference internal" href="gromov/plot_gromov_barycenter.html">Gromov-Wasserstein Barycenter example</a></li>
<li class="toctree-l3"><a class="reference internal" href="gromov/plot_gromov_wasserstein_dictionary_learning.html">(Fused) Gromov-Wasserstein Linear Dictionary Learning</a></li>
<li class="toctree-l3"><a class="reference internal" href="gromov/plot_partial_fgw.html">Plot partial FGW for subgraph matching</a></li>
<li class="toctree-l3"><a class="reference internal" href="gromov/plot_quantized_gromov_wasserstein.html">Quantized Fused Gromov-Wasserstein examples</a></li>
<li class="toctree-l3"><a class="reference internal" href="gromov/plot_semirelaxed_fgw.html">Semi-relaxed (Fused) Gromov-Wasserstein example</a></li>
<li class="toctree-l3"><a class="reference internal" href="gromov/plot_semirelaxed_gromov_wasserstein_barycenter.html">Semi-relaxed (Fused) Gromov-Wasserstein Barycenter as Dictionary Learning</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#unbalanced-and-partial-ot">Unbalanced and Partial OT</a><ul>
<li class="toctree-l3"><a class="reference internal" href="unbalanced-partial/plot_UOT_1D.html">1D Unbalanced optimal transport</a></li>
<li class="toctree-l3"><a class="reference internal" href="unbalanced-partial/plot_UOT_barycenter_1D.html">1D Wasserstein barycenter demo for Unbalanced distributions</a></li>
<li class="toctree-l3"><a class="reference internal" href="unbalanced-partial/plot_UOT_sliced.html">Sliced Unbalanced optimal transport</a></li>
<li class="toctree-l3"><a class="reference internal" href="unbalanced-partial/plot_conv_sinkhorn_ti.html">Translation Invariant Sinkhorn for Unbalanced Optimal Transport</a></li>
<li class="toctree-l3"><a class="reference internal" href="unbalanced-partial/plot_entropic_partial_wasserstein_logscale.html">Numerically-stable entropic partial Wasserstein (log-domain solver)</a></li>
<li class="toctree-l3"><a class="reference internal" href="unbalanced-partial/plot_partial_1d.html">Partial Wasserstein in 1D</a></li>
<li class="toctree-l3"><a class="reference internal" href="unbalanced-partial/plot_partial_wass_and_gromov.html">Partial Wasserstein and Gromov-Wasserstein example</a></li>
<li class="toctree-l3"><a class="reference internal" href="unbalanced-partial/plot_regpath.html">Regularization path of l2-penalized unbalanced optimal transport</a></li>
<li class="toctree-l3"><a class="reference internal" href="unbalanced-partial/plot_unbalanced_OT.html">2D examples of exact and entropic unbalanced optimal transport</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#ot-in-1d-and-sliced-wasserstein">OT in 1D and Sliced Wasserstein</a><ul>
<li class="toctree-l3"><a class="reference internal" href="sliced-wasserstein/plot_compute_wasserstein_circle.html">OT distance on the Circle</a></li>
<li class="toctree-l3"><a class="reference internal" href="sliced-wasserstein/plot_qsw_3d.html">Quasi-Monte Carlo Sliced Wasserstein in 3D</a></li>
<li class="toctree-l3"><a class="reference internal" href="sliced-wasserstein/plot_sliced_plans.html">Sliced OT Plans</a></li>
<li class="toctree-l3"><a class="reference internal" href="sliced-wasserstein/plot_sliced_wasserstein_scaler.html">Sliced Wasserstein Distance with input scaling (DataScaler)</a></li>
<li class="toctree-l3"><a class="reference internal" href="sliced-wasserstein/plot_variance.html">Sliced Wasserstein Distance on 2D distributions</a></li>
<li class="toctree-l3"><a class="reference internal" href="sliced-wasserstein/plot_variance_ssw.html">Spherical Sliced Wasserstein on distributions in S^2</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#ot-on-gaussian-and-gaussian-mixture-models">OT on Gaussian and Gaussian Mixture Models</a><ul>
<li class="toctree-l3"><a class="reference internal" href="gaussian_gmm/plot_GMMOT_plan.html">OT between GMM : plan and maps in 1D</a></li>
<li class="toctree-l3"><a class="reference internal" href="gaussian_gmm/plot_GMM_flow.html">Gradient Flow for GMM-OT distance</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#factored-an-low-rank-ot">Factored an Low-Rank OT</a><ul>
<li class="toctree-l3"><a class="reference internal" href="lowrank/plot_factored_coupling.html">Optimal transport with factored couplings</a></li>
<li class="toctree-l3"><a class="reference internal" href="lowrank/plot_lowrank_GW.html">Low rank Gromov-Wasterstein between samples</a></li>
<li class="toctree-l3"><a class="reference internal" href="lowrank/plot_lowrank_sinkhorn.html">Low rank Sinkhorn</a></li>
<li class="toctree-l3"><a class="reference internal" href="lowrank/plot_nystroem_approximation.html">Nyström approximation for OT</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#wasserstein-and-f-gw-barycenters">Wasserstein and (F)GW barycenters</a><ul>
<li class="toctree-l3"><a class="reference internal" href="barycenters/plot_barycenter_1D.html">1D Wasserstein barycenter demo</a></li>
<li class="toctree-l3"><a class="reference internal" href="barycenters/plot_barycenter_lp_vs_entropic.html">1D Wasserstein barycenter: exact LP vs entropic regularization</a></li>
<li class="toctree-l3"><a class="reference internal" href="barycenters/plot_convolutional_barycenter.html">Convolutional Wasserstein Barycenter example</a></li>
<li class="toctree-l3"><a class="reference internal" href="barycenters/plot_debiased_barycenter.html">Debiased Sinkhorn barycenter demo</a></li>
<li class="toctree-l3"><a class="reference internal" href="barycenters/plot_free_support_barycenter.html">2D free support Wasserstein barycenters of distributions</a></li>
<li class="toctree-l3"><a class="reference internal" href="barycenters/plot_free_support_barycenter_generic_cost.html">OT Barycenter with Generic Costs Demo</a></li>
<li class="toctree-l3"><a class="reference internal" href="barycenters/plot_free_support_sinkhorn_barycenter.html">2D free support Sinkhorn barycenters of distributions</a></li>
<li class="toctree-l3"><a class="reference internal" href="barycenters/plot_gaussian_barycenter.html">Gaussian Bures-Wasserstein barycenters</a></li>
<li class="toctree-l3"><a class="reference internal" href="barycenters/plot_generalized_free_support_barycenter.html">Generalized Wasserstein Barycenter Demo</a></li>
<li class="toctree-l3"><a class="reference internal" href="barycenters/plot_gmm_barycenter.html">Gaussian Mixture Model OT Barycenters</a></li>
<li class="toctree-l3"><a class="reference internal" href="barycenters/plot_solve_barycenter_variants.html">Optimal Transport Barycenter solvers comparison</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#domain-adaptation-with-ot">Domain adaptation with OT</a><ul>
<li class="toctree-l3"><a class="reference internal" href="domain-adaptation/plot_otda_classes.html">OT for domain adaptation</a></li>
<li class="toctree-l3"><a class="reference internal" href="domain-adaptation/plot_otda_color_images.html">OT for image color adaptation</a></li>
<li class="toctree-l3"><a class="reference internal" href="domain-adaptation/plot_otda_d2.html">OT for domain adaptation on empirical distributions</a></li>
<li class="toctree-l3"><a class="reference internal" href="domain-adaptation/plot_otda_jcpot.html">OT for multi-source target shift</a></li>
<li class="toctree-l3"><a class="reference internal" href="domain-adaptation/plot_otda_laplacian.html">OT with Laplacian regularization for domain adaptation</a></li>
<li class="toctree-l3"><a class="reference internal" href="domain-adaptation/plot_otda_linear_mapping.html">Linear OT mapping estimation</a></li>
<li class="toctree-l3"><a class="reference internal" href="domain-adaptation/plot_otda_mapping.html">OT mapping estimation for domain adaptation</a></li>
<li class="toctree-l3"><a class="reference internal" href="domain-adaptation/plot_otda_mapping_colors_images.html">OT for image color adaptation with mapping estimation</a></li>
<li class="toctree-l3"><a class="reference internal" href="domain-adaptation/plot_otda_semi_supervised.html">OTDA unsupervised vs semi-supervised setting</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#other-ot-problems">Other OT problems</a><ul>
<li class="toctree-l3"><a class="reference internal" href="others/plot_COOT.html">Row and column alignments with CO-Optimal Transport</a></li>
<li class="toctree-l3"><a class="reference internal" href="others/plot_EWCA.html">Entropic Wasserstein Component Analysis</a></li>
<li class="toctree-l3"><a class="reference internal" href="others/plot_SSNB.html">Smooth and Strongly Convex Nearest Brenier Potentials</a></li>
<li class="toctree-l3"><a class="reference internal" href="others/plot_WDA.html">Wasserstein Discriminant Analysis</a></li>
<li class="toctree-l3"><a class="reference internal" href="others/plot_WeakOT_VS_OT.html">Weak Optimal Transport VS exact Optimal Transport</a></li>
<li class="toctree-l3"><a class="reference internal" href="others/plot_dmmot.html">Computing 1-dimensional Barycenters via d-MMOT</a></li>
<li class="toctree-l3"><a class="reference internal" href="others/plot_logo.html">Logo of the POT toolbox</a></li>
<li class="toctree-l3"><a class="reference internal" href="others/plot_outlier_detection_with_COOT_and_unbalanced_COOT.html">Detecting outliers by learning sample marginal distribution with CO-Optimal Transport and by using unbalanced Co-Optimal Transport</a></li>
<li class="toctree-l3"><a class="reference internal" href="others/plot_semidiscrete.html">Semi-discrete OT: a toy 2D problem</a></li>
<li class="toctree-l3"><a class="reference internal" href="others/plot_sgot.html">Spectral-Grassmann OT on dynamical systems operators</a></li>
<li class="toctree-l3"><a class="reference internal" href="others/plot_stochastic.html">Stochastic examples</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../user_guide.html">User guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../all.html">API and modules</a></li>
<li class="toctree-l1"><a class="reference internal" href="../releases.html">Releases</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributors.html">Contributors</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">Contributing to POT</a></li>
<li class="toctree-l1"><a class="reference internal" href="../code_of_conduct.html">Code of conduct</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">POT Python Optimal Transport</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">Examples gallery</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/auto_examples/index.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="examples-gallery">
<h1>Examples gallery<a class="headerlink" href="#examples-gallery" title="Link to this heading"></a></h1>
<p>This is a gallery of all the POT example files.</p>
<section id="ot-and-regularized-ot">
<h2>OT and regularized OT<a class="headerlink" href="#ot-and-regularized-ot" title="Link to this heading"></a></h2>
<div class="toctree-wrapper compound">
</div>
<div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="This example gives an introduction on how to use Optimal Transport in Python."><img alt="" src="../_images/sphx_glr_plot_Intro_OT_thumb.png" />
<p><a class="reference internal" href="plot_Intro_OT.html"><span class="doc">Introduction to Optimal Transport with Python</span></a></p>
<div class="sphx-glr-thumbnail-title">Introduction to Optimal Transport with Python</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation of EMD and Sinkhorn transport plans and their visualization."><img alt="" src="../_images/sphx_glr_plot_OT_1D_thumb.png" />
<p><a class="reference internal" href="plot_OT_1D.html"><span class="doc">Optimal Transport for fixed support</span></a></p>
<div class="sphx-glr-thumbnail-title">Optimal Transport for fixed support</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Illustration of optimal transport between distributions in 2D that are weighted sum of Diracs. The OT matrix is plotted with the samples."><img alt="" src="../_images/sphx_glr_plot_OT_2D_samples_thumb.png" />
<p><a class="reference internal" href="plot_OT_2D_samples.html"><span class="doc">Optimal Transport between empirical distributions</span></a></p>
<div class="sphx-glr-thumbnail-title">Optimal Transport between empirical distributions</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="2D OT on empirical distribution with different ground metric."><img alt="" src="../_images/sphx_glr_plot_OT_L1_vs_L2_thumb.png" />
<p><a class="reference internal" href="plot_OT_L1_vs_L2.html"><span class="doc">Optimal Transport with different ground metrics</span></a></p>
<div class="sphx-glr-thumbnail-title">Optimal Transport with different ground metrics</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example shows two use cases for the bijections provided by BSP-OT, between two large point clouds: shape morphing (and animated morphing) and full color transfer (pixel permutation)."><img alt="" src="../_images/sphx_glr_plot_bsp_ot_thumb.gif" />
<p><a class="reference internal" href="plot_bsp_ot.html"><span class="doc">Fast and accurate transport bijections using BSP-OT</span></a></p>
<div class="sphx-glr-thumbnail-title">Fast and accurate transport bijections using BSP-OT</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Shows how to compute multiple Wasserstein and Sinkhorn with two different ground metrics and plot their values for different distributions."><img alt="" src="../_images/sphx_glr_plot_compute_emd_thumb.png" />
<p><a class="reference internal" href="plot_compute_emd.html"><span class="doc">Geometry of OT distances</span></a></p>
<div class="sphx-glr-thumbnail-title">Geometry of OT distances</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example shows how to use the debiased OT solvers in ot.solve_sample to compute Sinkhorn divergences and debiased Minibatch solutions. The debiased OT solvers can be used with balanced and unbalanced OT problems, and with different regularization types (entropic, L2, group lasso)."><img alt="" src="../_images/sphx_glr_plot_debias_sink_div_thumb.png" />
<p><a class="reference internal" href="plot_debias_sink_div.html"><span class="doc">Sinkhorn Divergence and Debiased OT solvers</span></a></p>
<div class="sphx-glr-thumbnail-title">Sinkhorn Divergence and Debiased OT solvers</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Illustrates the use of the generic solver for regularized OT with user-designed regularization term. It uses Conditional gradient as in [6] and generalized Conditional Gradient as proposed in [5,7]."><img alt="" src="../_images/sphx_glr_plot_optim_OTreg_thumb.png" />
<p><a class="reference internal" href="plot_optim_OTreg.html"><span class="doc">Regularized OT with generic solver</span></a></p>
<div class="sphx-glr-thumbnail-title">Regularized OT with generic solver</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Quickstart guide to the POT toolbox."><img alt="" src="../_images/sphx_glr_plot_quickstart_guide_thumb.png" />
<p><a class="reference internal" href="plot_quickstart_guide.html"><span class="doc">Quickstart Guide</span></a></p>
<div class="sphx-glr-thumbnail-title">Quickstart Guide</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the solutions returns for different variants of exact, regularized and unbalanced OT solvers."><img alt="" src="../_images/sphx_glr_plot_solve_variants_thumb.png" />
<p><a class="reference internal" href="plot_solve_variants.html"><span class="doc">Optimal Transport solvers comparison</span></a></p>
<div class="sphx-glr-thumbnail-title">Optimal Transport solvers comparison</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="In many real-world optimal transport (OT) problems, the transport plan is naturally sparse: only a small fraction of all possible source-target pairs actually exchange mass. Using sparse OT solvers can provide significant computational speedups and memory savings compared to dense solvers."><img alt="" src="../_images/sphx_glr_plot_sparse_emd_thumb.png" />
<p><a class="reference internal" href="plot_sparse_emd.html"><span class="doc">Sparse Optimal Transport</span></a></p>
<div class="sphx-glr-thumbnail-title">Sparse Optimal Transport</div>
</div></div></section>
<section id="differentiable-ot-with-pytorch">
<h2>Differentiable OT with PyTorch<a class="headerlink" href="#differentiable-ot-with-pytorch" title="Link to this heading"></a></h2>
<div class="toctree-wrapper compound">
</div>
<div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the differences in terms of computation time between the gradient options for the Sinkhorn solver."><img alt="" src="../_images/sphx_glr_plot_Sinkhorn_gradients_thumb.png" />
<p><a class="reference internal" href="backends/plot_Sinkhorn_gradients.html"><span class="doc">Different gradient computations for regularized optimal transport</span></a></p>
<div class="sphx-glr-thumbnail-title">Different gradient computations for regularized optimal transport</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Dual OT solvers for entropic and quadratic regularized OT with Pytorch"><img alt="" src="../_images/sphx_glr_plot_dual_ot_pytorch_thumb.png" />
<p><a class="reference internal" href="backends/plot_dual_ot_pytorch.html"><span class="doc">Dual OT solvers for entropic and quadratic regularized OT with Pytorch</span></a></p>
<div class="sphx-glr-thumbnail-title">Dual OT solvers for entropic and quadratic regularized OT with Pytorch</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Since the FUGW loss is differentiable, it can be minimized with first-order optimization. We show how to do this with the loss_fugw_batch function and compare the results with the dedicated FUGW solver fused_unbalanced_gromov_wasserstein."><img alt="" src="../_images/sphx_glr_plot_gradient_descent_thumb.png" />
<p><a class="reference internal" href="backends/plot_gradient_descent.html"><span class="doc">Solve Fused Unbalanced Gromov Wasserstein with Adam</span></a></p>
<div class="sphx-glr-thumbnail-title">Solve Fused Unbalanced Gromov Wasserstein with Adam</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="In this example, we use the pytorch backend to optimize the Gromov-Wasserstein (GW) loss between two graphs expressed as empirical distribution."><img alt="" src="../_images/sphx_glr_plot_optim_gromov_pytorch_thumb.png" />
<p><a class="reference internal" href="backends/plot_optim_gromov_pytorch.html"><span class="doc">Optimizing the Gromov-Wasserstein distance with PyTorch</span></a></p>
<div class="sphx-glr-thumbnail-title">Optimizing the Gromov-Wasserstein distance with PyTorch</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="In some situations, one may want to solve many OT problems with the same structure (same number of samples, same cost function, etc.) at the same time."><img alt="" src="../_images/sphx_glr_plot_ot_batch_thumb.png" />
<p><a class="reference internal" href="backends/plot_ot_batch.html"><span class="doc">Solving Many Optimal Transport Problems in Parallel</span></a></p>
<div class="sphx-glr-thumbnail-title">Solving Many Optimal Transport Problems in Parallel</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="In this example we use the pytorch backend to optimize the sliced Wasserstein loss between two empirical distributions [31]."><img alt="" src="../_images/sphx_glr_plot_sliced_wass_grad_flow_pytorch_thumb.png" />
<p><a class="reference internal" href="backends/plot_sliced_wass_grad_flow_pytorch.html"><span class="doc">Sliced Wasserstein barycenter and gradient flow with PyTorch</span></a></p>
<div class="sphx-glr-thumbnail-title">Sliced Wasserstein barycenter and gradient flow with PyTorch</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Here, we aim at transforming samples into a uniform distribution on the sphere by minimizing SSW:"><img alt="" src="../_images/sphx_glr_plot_ssw_unif_torch_thumb.png" />
<p><a class="reference internal" href="backends/plot_ssw_unif_torch.html"><span class="doc">Spherical Sliced-Wasserstein Embedding on Sphere</span></a></p>
<div class="sphx-glr-thumbnail-title">Spherical Sliced-Wasserstein Embedding on Sphere</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Continuous OT plan estimation with Pytorch"><img alt="" src="../_images/sphx_glr_plot_stoch_continuous_ot_pytorch_thumb.png" />
<p><a class="reference internal" href="backends/plot_stoch_continuous_ot_pytorch.html"><span class="doc">Continuous OT plan estimation with Pytorch</span></a></p>
<div class="sphx-glr-thumbnail-title">Continuous OT plan estimation with Pytorch</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="In this example we estimate mixing parameters from distributions that minimize the Wasserstein distance. In other words we suppose that a target distribution \mu^t can be expressed as a weighted sum of source distributions \mu^s_k with the following model:"><img alt="" src="../_images/sphx_glr_plot_unmix_optim_torch_thumb.png" />
<p><a class="reference internal" href="backends/plot_unmix_optim_torch.html"><span class="doc">Wasserstein unmixing with PyTorch</span></a></p>
<div class="sphx-glr-thumbnail-title">Wasserstein unmixing with PyTorch</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="In this small example, we consider the following minimization problem:"><img alt="" src="../_images/sphx_glr_plot_wass1d_torch_thumb.png" />
<p><a class="reference internal" href="backends/plot_wass1d_torch.html"><span class="doc">Wasserstein 1D (flow and barycenter) with PyTorch</span></a></p>
<div class="sphx-glr-thumbnail-title">Wasserstein 1D (flow and barycenter) with PyTorch</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="In this example we train a Wasserstein GAN using Wasserstein 2 on minibatches as a distribution fitting term."><img alt="" src="../_images/sphx_glr_plot_wass2_gan_torch_thumb.png" />
<p><a class="reference internal" href="backends/plot_wass2_gan_torch.html"><span class="doc">Wasserstein 2 Minibatch GAN with PyTorch</span></a></p>
<div class="sphx-glr-thumbnail-title">Wasserstein 2 Minibatch GAN with PyTorch</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Illustration of the flow of a Gaussian Mixture with respect to its GMM-OT distance with respect to a fixed GMM."><img alt="" src="../_images/sphx_glr_plot_GMM_flow_thumb.png" />
<p><a class="reference internal" href="gaussian_gmm/plot_GMM_flow.html"><span class="doc">Gradient Flow for GMM-OT distance</span></a></p>
<div class="sphx-glr-thumbnail-title">Gradient Flow for GMM-OT distance</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example first illustrates how to train a graph classification gnn based on the Template Fused Gromov Wasserstein layer as proposed in [52] ."><img alt="" src="../_images/sphx_glr_plot_gnn_TFGW_thumb.png" />
<p><a class="reference internal" href="gromov/plot_gnn_TFGW.html"><span class="doc">Graph classification with Template Based Fused Gromov Wasserstein</span></a></p>
<div class="sphx-glr-thumbnail-title">Graph classification with Template Based Fused Gromov Wasserstein</div>
</div></div></section>
<section id="gromov-wasserstein-gw-and-fused-gw">
<h2>Gromov-Wasserstein (GW) and Fused GW<a class="headerlink" href="#gromov-wasserstein-gw-and-fused-gw" title="Link to this heading"></a></h2>
<div class="toctree-wrapper compound">
</div>
<div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation barycenter of labeled graphs using FGW [18]."><img alt="" src="../_images/sphx_glr_plot_barycenter_fgw_thumb.png" />
<p><a class="reference internal" href="gromov/plot_barycenter_fgw.html"><span class="doc">Barycenter of labeled graphs with FGW</span></a></p>
<div class="sphx-glr-thumbnail-title">Barycenter of labeled graphs with FGW</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example is designed to show how to use the entropic semi-relaxed Gromov-Wasserstein and the entropic semi-relaxed Fused Gromov-Wasserstein divergences."><img alt="" src="../_images/sphx_glr_plot_entropic_semirelaxed_fgw_thumb.png" />
<p><a class="reference internal" href="gromov/plot_entropic_semirelaxed_fgw.html"><span class="doc">Entropic-regularized semi-relaxed (Fused) Gromov-Wasserstein example</span></a></p>
<div class="sphx-glr-thumbnail-title">Entropic-regularized semi-relaxed (Fused) Gromov-Wasserstein example</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example first illustrates the computation of FGW for 1D measures estimated using a Conditional Gradient solver [24]."><img alt="" src="../_images/sphx_glr_plot_fgw_thumb.png" />
<p><a class="reference internal" href="gromov/plot_fgw.html"><span class="doc">Plot Fused-Gromov-Wasserstein</span></a></p>
<div class="sphx-glr-thumbnail-title">Plot Fused-Gromov-Wasserstein</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation of FGW for attributed graphs using 4 different solvers to estimate the distance based on Conditional Gradient [24], Sinkhorn projections [12, 51] and alternated Bregman projections [63, 64]."><img alt="" src="../_images/sphx_glr_plot_fgw_solvers_thumb.png" />
<p><a class="reference internal" href="gromov/plot_fgw_solvers.html"><span class="doc">Comparison of Fused Gromov-Wasserstein solvers</span></a></p>
<div class="sphx-glr-thumbnail-title">Comparison of Fused Gromov-Wasserstein solvers</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example first illustrates how to train a graph classification gnn based on the Template Fused Gromov Wasserstein layer as proposed in [52] ."><img alt="" src="../_images/sphx_glr_plot_gnn_TFGW_thumb.png" />
<p><a class="reference internal" href="gromov/plot_gnn_TFGW.html"><span class="doc">Graph classification with Template Based Fused Gromov Wasserstein</span></a></p>
<div class="sphx-glr-thumbnail-title">Graph classification with Template Based Fused Gromov Wasserstein</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example is designed to show how to use the Gromov-Wasserstein distance computation in POT. We first compare 3 solvers to estimate the distance based on Conditional Gradient [24] or Sinkhorn projections [12, 51]. Then we compare 2 stochastic solvers to estimate the distance with a lower numerical cost [33]."><img alt="" src="../_images/sphx_glr_plot_gromov_thumb.png" />
<p><a class="reference internal" href="gromov/plot_gromov.html"><span class="doc">Gromov-Wasserstein example</span></a></p>
<div class="sphx-glr-thumbnail-title">Gromov-Wasserstein example</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example is designed to show how to use the Gromov-Wasserstein distance computation in POT."><img alt="" src="../_images/sphx_glr_plot_gromov_barycenter_thumb.png" />
<p><a class="reference internal" href="gromov/plot_gromov_barycenter.html"><span class="doc">Gromov-Wasserstein Barycenter example</span></a></p>
<div class="sphx-glr-thumbnail-title">Gromov-Wasserstein Barycenter example</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="In this example, we illustrate how to learn a Gromov-Wasserstein dictionary on a dataset of structured data such as graphs, denoted \{ \mathbf{C_s} \}_{s \in [S]} where every nodes have uniform weights. Given a dictionary \mathbf{C_{dict}} composed of D structures of a fixed size nt, each graph (\mathbf{C_s}, \mathbf{p_s}) is modeled as a convex combination \mathbf{w_s} \in \Sigma_D of these dictionary atoms as \sum_d w_{s,d} \mathbf{C_{dict}[d]}."><img alt="" src="../_images/sphx_glr_plot_gromov_wasserstein_dictionary_learning_thumb.png" />
<p><a class="reference internal" href="gromov/plot_gromov_wasserstein_dictionary_learning.html"><span class="doc">(Fused) Gromov-Wasserstein Linear Dictionary Learning</span></a></p>
<div class="sphx-glr-thumbnail-title">(Fused) Gromov-Wasserstein Linear Dictionary Learning</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation of partial (Fused) Gromov-Wasserstein divergences for subgraph matching tasks, using the exact formulation $p(F)GW$ and the entropically regularized one $p(F)GW_e$ [18, 29]."><img alt="" src="../_images/sphx_glr_plot_partial_fgw_thumb.png" />
<p><a class="reference internal" href="gromov/plot_partial_fgw.html"><span class="doc">Plot partial FGW for subgraph matching</span></a></p>
<div class="sphx-glr-thumbnail-title">Plot partial FGW for subgraph matching</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="These examples show how to use the quantized (Fused) Gromov-Wasserstein solvers (qFGW) [68]. POT provides a generic solver quantized_fused_gromov_wasserstein_partitioned that takes as inputs partitioned graphs potentially endowed with node features, which have to be built by the user. On top of that, POT provides two wrappers: i) quantized_fused_gromov_wasserstein operating over generic graphs, whose partitioning is performed via get_graph_partition using e.g the Louvain algorithm, and representant for each partition can be selected via get_graph_representants using e.g the PageRank algorithm."><img alt="" src="../_images/sphx_glr_plot_quantized_gromov_wasserstein_thumb.png" />
<p><a class="reference internal" href="gromov/plot_quantized_gromov_wasserstein.html"><span class="doc">Quantized Fused Gromov-Wasserstein examples</span></a></p>
<div class="sphx-glr-thumbnail-title">Quantized Fused Gromov-Wasserstein examples</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example is designed to show how to use the semi-relaxed Gromov-Wasserstein and the semi-relaxed Fused Gromov-Wasserstein divergences."><img alt="" src="../_images/sphx_glr_plot_semirelaxed_fgw_thumb.png" />
<p><a class="reference internal" href="gromov/plot_semirelaxed_fgw.html"><span class="doc">Semi-relaxed (Fused) Gromov-Wasserstein example</span></a></p>
<div class="sphx-glr-thumbnail-title">Semi-relaxed (Fused) Gromov-Wasserstein example</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="In this example, we illustrate how to learn a semi-relaxed Gromov-Wasserstein (srGW) barycenter using a Block-Coordinate Descent algorithm, on a dataset of structured data such as graphs, denoted \{ \mathbf{C_s} \}_{s \in [S]} where every nodes have uniform weights \{ \mathbf{p_s} \}_{s \in [S]}. Given a barycenter structure matrix \mathbf{C} with N nodes, each graph (\mathbf{C_s}, \mathbf{p_s}) is modeled as a reweighed subgraph with structure \mathbf{C} and weights \mathbf{w_s} \in \Sigma_N where each \mathbf{w_s} corresponds to the second marginal of the OT \mathbf{T_s} (s.t \mathbf{w_s} = \mathbf{T_s}^\top \mathbf{1}) minimizing the srGW loss between the s^{th} input and the barycenter."><img alt="" src="../_images/sphx_glr_plot_semirelaxed_gromov_wasserstein_barycenter_thumb.png" />
<p><a class="reference internal" href="gromov/plot_semirelaxed_gromov_wasserstein_barycenter.html"><span class="doc">Semi-relaxed (Fused) Gromov-Wasserstein Barycenter as Dictionary Learning</span></a></p>
<div class="sphx-glr-thumbnail-title">Semi-relaxed (Fused) Gromov-Wasserstein Barycenter as Dictionary Learning</div>
</div></div></section>
<section id="unbalanced-and-partial-ot">
<h2>Unbalanced and Partial OT<a class="headerlink" href="#unbalanced-and-partial-ot" title="Link to this heading"></a></h2>
<div class="toctree-wrapper compound">
</div>
<div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="This example is designed to show how to use the entropic semi-relaxed Gromov-Wasserstein and the entropic semi-relaxed Fused Gromov-Wasserstein divergences."><img alt="" src="../_images/sphx_glr_plot_entropic_semirelaxed_fgw_thumb.png" />
<p><a class="reference internal" href="gromov/plot_entropic_semirelaxed_fgw.html"><span class="doc">Entropic-regularized semi-relaxed (Fused) Gromov-Wasserstein example</span></a></p>
<div class="sphx-glr-thumbnail-title">Entropic-regularized semi-relaxed (Fused) Gromov-Wasserstein example</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example is designed to show how to use the semi-relaxed Gromov-Wasserstein and the semi-relaxed Fused Gromov-Wasserstein divergences."><img alt="" src="../_images/sphx_glr_plot_semirelaxed_fgw_thumb.png" />
<p><a class="reference internal" href="gromov/plot_semirelaxed_fgw.html"><span class="doc">Semi-relaxed (Fused) Gromov-Wasserstein example</span></a></p>
<div class="sphx-glr-thumbnail-title">Semi-relaxed (Fused) Gromov-Wasserstein example</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="In this example, we illustrate how to learn a semi-relaxed Gromov-Wasserstein (srGW) barycenter using a Block-Coordinate Descent algorithm, on a dataset of structured data such as graphs, denoted \{ \mathbf{C_s} \}_{s \in [S]} where every nodes have uniform weights \{ \mathbf{p_s} \}_{s \in [S]}. Given a barycenter structure matrix \mathbf{C} with N nodes, each graph (\mathbf{C_s}, \mathbf{p_s}) is modeled as a reweighed subgraph with structure \mathbf{C} and weights \mathbf{w_s} \in \Sigma_N where each \mathbf{w_s} corresponds to the second marginal of the OT \mathbf{T_s} (s.t \mathbf{w_s} = \mathbf{T_s}^\top \mathbf{1}) minimizing the srGW loss between the s^{th} input and the barycenter."><img alt="" src="../_images/sphx_glr_plot_semirelaxed_gromov_wasserstein_barycenter_thumb.png" />
<p><a class="reference internal" href="gromov/plot_semirelaxed_gromov_wasserstein_barycenter.html"><span class="doc">Semi-relaxed (Fused) Gromov-Wasserstein Barycenter as Dictionary Learning</span></a></p>
<div class="sphx-glr-thumbnail-title">Semi-relaxed (Fused) Gromov-Wasserstein Barycenter as Dictionary Learning</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="In this example, we consider two point clouds living in different Euclidean spaces, where the outliers are artificially injected into the target data. We illustrate two methods which allow to filter out these outliers."><img alt="" src="../_images/sphx_glr_plot_outlier_detection_with_COOT_and_unbalanced_COOT_thumb.png" />
<p><a class="reference internal" href="others/plot_outlier_detection_with_COOT_and_unbalanced_COOT.html"><span class="doc">Detecting outliers by learning sample marginal distribution with CO-Optimal Transport and by using unbalanced Co-Optimal Transport</span></a></p>
<div class="sphx-glr-thumbnail-title">Detecting outliers by learning sample marginal distribution with CO-Optimal Transport and by using unbalanced Co-Optimal Transport</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation of Unbalanced Optimal transport using a Kullback-Leibler relaxation."><img alt="" src="../_images/sphx_glr_plot_UOT_1D_thumb.png" />
<p><a class="reference internal" href="unbalanced-partial/plot_UOT_1D.html"><span class="doc">1D Unbalanced optimal transport</span></a></p>
<div class="sphx-glr-thumbnail-title">1D Unbalanced optimal transport</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation of regularized Wasserstein Barycenter as proposed in [10] for Unbalanced inputs."><img alt="" src="../_images/sphx_glr_plot_UOT_barycenter_1D_thumb.png" />
<p><a class="reference internal" href="unbalanced-partial/plot_UOT_barycenter_1D.html"><span class="doc">1D Wasserstein barycenter demo for Unbalanced distributions</span></a></p>
<div class="sphx-glr-thumbnail-title">1D Wasserstein barycenter demo for Unbalanced distributions</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the behavior of Sliced UOT versus Unbalanced Sliced OT, introduced in [82]. The first one removes outliers on each slice while the second one removes outliers of the original marginals."><img alt="" src="../_images/sphx_glr_plot_UOT_sliced_thumb.png" />
<p><a class="reference internal" href="unbalanced-partial/plot_UOT_sliced.html"><span class="doc">Sliced Unbalanced optimal transport</span></a></p>
<div class="sphx-glr-thumbnail-title">Sliced Unbalanced optimal transport</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This examples illustrates the better convergence of the translation invariance Sinkhorn algorithm proposed in [73] compared to the classical Sinkhorn algorithm."><img alt="" src="../_images/sphx_glr_plot_conv_sinkhorn_ti_thumb.png" />
<p><a class="reference internal" href="unbalanced-partial/plot_conv_sinkhorn_ti.html"><span class="doc">Translation Invariant Sinkhorn for Unbalanced Optimal Transport</span></a></p>
<div class="sphx-glr-thumbnail-title">Translation Invariant Sinkhorn for Unbalanced Optimal Transport</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="ot.partial.entropic_partial_wasserstein is numerically unstable at small regularisation: the iterates underflow to zero and the returned plan contains NaNs (see PythonOT/POT issue #723). This example reproduces the failure mode on a small problem and shows that the log-domain solver, selected with entropic_partial_wasserstein(..., method='sinkhorn_log') (equivalently ot.partial.entropic_partial_wasserstein_logscale), produces a finite plan over the same sweep, agreeing with the original solver at large reg and degrading gracefully at small reg."><img alt="" src="../_images/sphx_glr_plot_entropic_partial_wasserstein_logscale_thumb.png" />
<p><a class="reference internal" href="unbalanced-partial/plot_entropic_partial_wasserstein_logscale.html"><span class="doc">Numerically-stable entropic partial Wasserstein (log-domain solver)</span></a></p>
<div class="sphx-glr-thumbnail-title">Numerically-stable entropic partial Wasserstein (log-domain solver)</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This script demonstrates how to compute and visualize the Partial Wasserstein distance between two 1D discrete distributions using ot.partial.partial_wasserstein_1d."><img alt="" src="../_images/sphx_glr_plot_partial_1d_thumb.png" />
<p><a class="reference internal" href="unbalanced-partial/plot_partial_1d.html"><span class="doc">Partial Wasserstein in 1D</span></a></p>
<div class="sphx-glr-thumbnail-title">Partial Wasserstein in 1D</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example is designed to show how to use the Partial (Gromov-)Wasserstein distance computation in POT [29]."><img alt="" src="../_images/sphx_glr_plot_partial_wass_and_gromov_thumb.png" />
<p><a class="reference internal" href="unbalanced-partial/plot_partial_wass_and_gromov.html"><span class="doc">Partial Wasserstein and Gromov-Wasserstein example</span></a></p>
<div class="sphx-glr-thumbnail-title">Partial Wasserstein and Gromov-Wasserstein example</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrate the regularization path for 2D unbalanced optimal transport. We present here both the fully relaxed case and the semi-relaxed case."><img alt="" src="../_images/sphx_glr_plot_regpath_thumb.png" />
<p><a class="reference internal" href="unbalanced-partial/plot_regpath.html"><span class="doc">Regularization path of l2-penalized unbalanced optimal transport</span></a></p>
<div class="sphx-glr-thumbnail-title">Regularization path of l2-penalized unbalanced optimal transport</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example is designed to show how to compute unbalanced and partial OT in POT."><img alt="" src="../_images/sphx_glr_plot_unbalanced_OT_thumb.png" />
<p><a class="reference internal" href="unbalanced-partial/plot_unbalanced_OT.html"><span class="doc">2D examples of exact and entropic unbalanced optimal transport</span></a></p>
<div class="sphx-glr-thumbnail-title">2D examples of exact and entropic unbalanced optimal transport</div>
</div></div></section>
<section id="ot-in-1d-and-sliced-wasserstein">
<h2>OT in 1D and Sliced Wasserstein<a class="headerlink" href="#ot-in-1d-and-sliced-wasserstein" title="Link to this heading"></a></h2>
<div class="toctree-wrapper compound">
</div>
<div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="Shows how to compute multiple Wasserstein and Sinkhorn with two different ground metrics and plot their values for different distributions."><img alt="" src="../_images/sphx_glr_plot_compute_emd_thumb.png" />
<p><a class="reference internal" href="plot_compute_emd.html"><span class="doc">Geometry of OT distances</span></a></p>
<div class="sphx-glr-thumbnail-title">Geometry of OT distances</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Shows how to compute the Wasserstein distance on the circle"><img alt="" src="../_images/sphx_glr_plot_compute_wasserstein_circle_thumb.png" />
<p><a class="reference internal" href="sliced-wasserstein/plot_compute_wasserstein_circle.html"><span class="doc">OT distance on the Circle</span></a></p>
<div class="sphx-glr-thumbnail-title">OT distance on the Circle</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the Quasi-Sliced Wasserstein (QSW) and Randomized Quasi-Sliced Wasserstein (RQSW) sampling schemes introduced in [95], and compares them to the default uniform (Monte Carlo) sampling of slicing directions."><img alt="" src="../_images/sphx_glr_plot_qsw_3d_thumb.png" />
<p><a class="reference internal" href="sliced-wasserstein/plot_qsw_3d.html"><span class="doc">Quasi-Monte Carlo Sliced Wasserstein in 3D</span></a></p>
<div class="sphx-glr-thumbnail-title">Quasi-Monte Carlo Sliced Wasserstein in 3D</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Compares different Sliced OT plans between two 2D point clouds. The min-Sliced transport plan was introduced in [85], and the Expected Sliced plan in [87], both were further studied theoretically in [86]."><img alt="" src="../_images/sphx_glr_plot_sliced_plans_thumb.png" />
<p><a class="reference internal" href="sliced-wasserstein/plot_sliced_plans.html"><span class="doc">Sliced OT Plans</span></a></p>
<div class="sphx-glr-thumbnail-title">Sliced OT Plans</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates why input scaling matters when computing the Sliced Wasserstein Distance (SWD) between distributions whose features have very different magnitudes. Without scaling, the SWD is dominated by high-magnitude features and may miss meaningful differences in low-magnitude features."><img alt="" src="../_images/sphx_glr_plot_sliced_wasserstein_scaler_thumb.png" />
<p><a class="reference internal" href="sliced-wasserstein/plot_sliced_wasserstein_scaler.html"><span class="doc">Sliced Wasserstein Distance with input scaling (DataScaler)</span></a></p>
<div class="sphx-glr-thumbnail-title">Sliced Wasserstein Distance with input scaling (DataScaler)</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation of the sliced Wasserstein Distance as proposed in [31]."><img alt="" src="../_images/sphx_glr_plot_variance_thumb.png" />
<p><a class="reference internal" href="sliced-wasserstein/plot_variance.html"><span class="doc">Sliced Wasserstein Distance on 2D distributions</span></a></p>
<div class="sphx-glr-thumbnail-title">Sliced Wasserstein Distance on 2D distributions</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation of the spherical sliced Wasserstein discrepancy as proposed in [46]."><img alt="" src="../_images/sphx_glr_plot_variance_ssw_thumb.png" />
<p><a class="reference internal" href="sliced-wasserstein/plot_variance_ssw.html"><span class="doc">Spherical Sliced Wasserstein on distributions in S^2</span></a></p>
<div class="sphx-glr-thumbnail-title">Spherical Sliced Wasserstein on distributions in S^2</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation of Unbalanced Optimal transport using a Kullback-Leibler relaxation."><img alt="" src="../_images/sphx_glr_plot_UOT_1D_thumb.png" />
<p><a class="reference internal" href="unbalanced-partial/plot_UOT_1D.html"><span class="doc">1D Unbalanced optimal transport</span></a></p>
<div class="sphx-glr-thumbnail-title">1D Unbalanced optimal transport</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the behavior of Sliced UOT versus Unbalanced Sliced OT, introduced in [82]. The first one removes outliers on each slice while the second one removes outliers of the original marginals."><img alt="" src="../_images/sphx_glr_plot_UOT_sliced_thumb.png" />
<p><a class="reference internal" href="unbalanced-partial/plot_UOT_sliced.html"><span class="doc">Sliced Unbalanced optimal transport</span></a></p>
<div class="sphx-glr-thumbnail-title">Sliced Unbalanced optimal transport</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This script demonstrates how to compute and visualize the Partial Wasserstein distance between two 1D discrete distributions using ot.partial.partial_wasserstein_1d."><img alt="" src="../_images/sphx_glr_plot_partial_1d_thumb.png" />
<p><a class="reference internal" href="unbalanced-partial/plot_partial_1d.html"><span class="doc">Partial Wasserstein in 1D</span></a></p>
<div class="sphx-glr-thumbnail-title">Partial Wasserstein in 1D</div>
</div></div></section>
<section id="ot-on-gaussian-and-gaussian-mixture-models">
<h2>OT on Gaussian and Gaussian Mixture Models<a class="headerlink" href="#ot-on-gaussian-and-gaussian-mixture-models" title="Link to this heading"></a></h2>
<div class="toctree-wrapper compound">
</div>
<div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="Illustration of Gaussian Bures-Wasserstein barycenters."><img alt="" src="../_images/sphx_glr_plot_gaussian_barycenter_thumb.png" />
<p><a class="reference internal" href="barycenters/plot_gaussian_barycenter.html"><span class="doc">Gaussian Bures-Wasserstein barycenters</span></a></p>
<div class="sphx-glr-thumbnail-title">Gaussian Bures-Wasserstein barycenters</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation of a barycenter between Gaussian Mixtures in the sense of GMM-OT [69]. This computation is done using the fixed-point method for OT barycenters with generic costs [77], for which POT provides a general solver, and a specific GMM solver. Note that this is a 'free-support' method, implying that the number of components of the barycenter GMM and their weights are fixed."><img alt="" src="../_images/sphx_glr_plot_gmm_barycenter_thumb.png" />
<p><a class="reference internal" href="barycenters/plot_gmm_barycenter.html"><span class="doc">Gaussian Mixture Model OT Barycenters</span></a></p>
<div class="sphx-glr-thumbnail-title">Gaussian Mixture Model OT Barycenters</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Linear OT mapping estimation"><img alt="" src="../_images/sphx_glr_plot_otda_linear_mapping_thumb.png" />
<p><a class="reference internal" href="domain-adaptation/plot_otda_linear_mapping.html"><span class="doc">Linear OT mapping estimation</span></a></p>
<div class="sphx-glr-thumbnail-title">Linear OT mapping estimation</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Illustration of the GMM plan for the Mixture Wasserstein between two GMM in 1D, as well as the two maps T_mean and T_rand. T_mean is the barycentric projection of the GMM coupling, and T_rand takes a random gaussian image between two components, according to the coupling and the GMMs. See [69] for details. .. [69] Delon, J., & Desolneux, A. (2020). A Wasserstein-type distance in the space of Gaussian mixture models. SIAM Journal on Imaging Sciences, 13(2), 936-970."><img alt="" src="../_images/sphx_glr_plot_GMMOT_plan_thumb.png" />
<p><a class="reference internal" href="gaussian_gmm/plot_GMMOT_plan.html"><span class="doc">OT between GMM : plan and maps in 1D</span></a></p>
<div class="sphx-glr-thumbnail-title">OT between GMM : plan and maps in 1D</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Illustration of the flow of a Gaussian Mixture with respect to its GMM-OT distance with respect to a fixed GMM."><img alt="" src="../_images/sphx_glr_plot_GMM_flow_thumb.png" />
<p><a class="reference internal" href="gaussian_gmm/plot_GMM_flow.html"><span class="doc">Gradient Flow for GMM-OT distance</span></a></p>
<div class="sphx-glr-thumbnail-title">Gradient Flow for GMM-OT distance</div>
</div></div></section>
<section id="factored-an-low-rank-ot">
<h2>Factored an Low-Rank OT<a class="headerlink" href="#factored-an-low-rank-ot" title="Link to this heading"></a></h2>
<div class="toctree-wrapper compound">
</div>
<div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="Illustration of the factored coupling OT between 2D empirical distributions"><img alt="" src="../_images/sphx_glr_plot_factored_coupling_thumb.png" />
<p><a class="reference internal" href="lowrank/plot_factored_coupling.html"><span class="doc">Optimal transport with factored couplings</span></a></p>
<div class="sphx-glr-thumbnail-title">Optimal transport with factored couplings</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Comparison between entropic Gromov-Wasserstein and Low Rank Gromov Wasserstein [67] on two curves in 2D and 3D, both sampled with 200 points."><img alt="" src="../_images/sphx_glr_plot_lowrank_GW_thumb.png" />
<p><a class="reference internal" href="lowrank/plot_lowrank_GW.html"><span class="doc">Low rank Gromov-Wasterstein between samples</span></a></p>
<div class="sphx-glr-thumbnail-title">Low rank Gromov-Wasterstein between samples</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation of Low Rank Sinkhorn [26]."><img alt="" src="../_images/sphx_glr_plot_lowrank_sinkhorn_thumb.png" />
<p><a class="reference internal" href="lowrank/plot_lowrank_sinkhorn.html"><span class="doc">Low rank Sinkhorn</span></a></p>
<div class="sphx-glr-thumbnail-title">Low rank Sinkhorn</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Shows how to use Nyström kernel approximation for approximating the Sinkhorn algorithm in linear time."><img alt="" src="../_images/sphx_glr_plot_nystroem_approximation_thumb.png" />
<p><a class="reference internal" href="lowrank/plot_nystroem_approximation.html"><span class="doc">Nyström approximation for OT</span></a></p>
<div class="sphx-glr-thumbnail-title">Nyström approximation for OT</div>
</div></div></section>
<section id="wasserstein-and-f-gw-barycenters">
<h2>Wasserstein and (F)GW barycenters<a class="headerlink" href="#wasserstein-and-f-gw-barycenters" title="Link to this heading"></a></h2>
<div class="toctree-wrapper compound">
</div>
<div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation of regularized Wasserstein Barycenter as proposed in [3]."><img alt="" src="../_images/sphx_glr_plot_barycenter_1D_thumb.png" />
<p><a class="reference internal" href="barycenters/plot_barycenter_1D.html"><span class="doc">1D Wasserstein barycenter demo</span></a></p>
<div class="sphx-glr-thumbnail-title">1D Wasserstein barycenter demo</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation of regularized Wasserstein Barycenter as proposed in [3] and exact LP barycenters using standard LP solver."><img alt="" src="../_images/sphx_glr_plot_barycenter_lp_vs_entropic_thumb.png" />
<p><a class="reference internal" href="barycenters/plot_barycenter_lp_vs_entropic.html"><span class="doc">1D Wasserstein barycenter: exact LP vs entropic regularization</span></a></p>
<div class="sphx-glr-thumbnail-title">1D Wasserstein barycenter: exact LP vs entropic regularization</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example is designed to illustrate how the Convolutional Wasserstein Barycenter function of POT works."><img alt="" src="../_images/sphx_glr_plot_convolutional_barycenter_thumb.png" />
<p><a class="reference internal" href="barycenters/plot_convolutional_barycenter.html"><span class="doc">Convolutional Wasserstein Barycenter example</span></a></p>
<div class="sphx-glr-thumbnail-title">Convolutional Wasserstein Barycenter example</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation of the debiased Sinkhorn barycenter as proposed in [37]_."><img alt="" src="../_images/sphx_glr_plot_debiased_barycenter_thumb.png" />
<p><a class="reference internal" href="barycenters/plot_debiased_barycenter.html"><span class="doc">Debiased Sinkhorn barycenter demo</span></a></p>
<div class="sphx-glr-thumbnail-title">Debiased Sinkhorn barycenter demo</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Illustration of 2D Wasserstein and Sinkhorn barycenters if distributions are weighted sum of Diracs."><img alt="" src="../_images/sphx_glr_plot_free_support_barycenter_thumb.png" />
<p><a class="reference internal" href="barycenters/plot_free_support_barycenter.html"><span class="doc">2D free support Wasserstein barycenters of distributions</span></a></p>
<div class="sphx-glr-thumbnail-title">2D free support Wasserstein barycenters of distributions</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation of an Optimal Transport Barycenter for a ground cost that is not a power of a norm. We take the example of ground costs c_k(x, y) = \lambda_k\|P_k(x)-y\|_2^2, where P_k is the (non-linear) projection onto a circle k, and (\lambda_k) are weights. A barycenter is defined ([77]) as a minimiser of the energy V(\mu) = \sum_k \mathcal{T}_{c_k}(\mu, \nu_k) where \mu is a candidate barycenter measure, the measures \nu_k are the target measures and \mathcal{T}_{c_k} is the OT cost for ground cost c_k. This is an example of the fixed-point barycenter solver introduced in [77] which generalises [20] and [43]."><img alt="" src="../_images/sphx_glr_plot_free_support_barycenter_generic_cost_thumb.png" />
<p><a class="reference internal" href="barycenters/plot_free_support_barycenter_generic_cost.html"><span class="doc">OT Barycenter with Generic Costs Demo</span></a></p>
<div class="sphx-glr-thumbnail-title">OT Barycenter with Generic Costs Demo</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Illustration of Sinkhorn barycenter calculation between empirical distributions understood as point clouds"><img alt="" src="../_images/sphx_glr_plot_free_support_sinkhorn_barycenter_thumb.png" />
<p><a class="reference internal" href="barycenters/plot_free_support_sinkhorn_barycenter.html"><span class="doc">2D free support Sinkhorn barycenters of distributions</span></a></p>
<div class="sphx-glr-thumbnail-title">2D free support Sinkhorn barycenters of distributions</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Illustration of Gaussian Bures-Wasserstein barycenters."><img alt="" src="../_images/sphx_glr_plot_gaussian_barycenter_thumb.png" />
<p><a class="reference internal" href="barycenters/plot_gaussian_barycenter.html"><span class="doc">Gaussian Bures-Wasserstein barycenters</span></a></p>
<div class="sphx-glr-thumbnail-title">Gaussian Bures-Wasserstein barycenters</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation of Generalized Wasserstein Barycenter as proposed in [42]."><img alt="" src="../_images/sphx_glr_plot_generalized_free_support_barycenter_thumb.png" />
<p><a class="reference internal" href="barycenters/plot_generalized_free_support_barycenter.html"><span class="doc">Generalized Wasserstein Barycenter Demo</span></a></p>
<div class="sphx-glr-thumbnail-title">Generalized Wasserstein Barycenter Demo</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation of a barycenter between Gaussian Mixtures in the sense of GMM-OT [69]. This computation is done using the fixed-point method for OT barycenters with generic costs [77], for which POT provides a general solver, and a specific GMM solver. Note that this is a 'free-support' method, implying that the number of components of the barycenter GMM and their weights are fixed."><img alt="" src="../_images/sphx_glr_plot_gmm_barycenter_thumb.png" />
<p><a class="reference internal" href="barycenters/plot_gmm_barycenter.html"><span class="doc">Gaussian Mixture Model OT Barycenters</span></a></p>
<div class="sphx-glr-thumbnail-title">Gaussian Mixture Model OT Barycenters</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates solutions returned for different variants of exact, regularized and unbalanced OT barycenter problems with free support using our wrapper ot.solve_bary_sample."><img alt="" src="../_images/sphx_glr_plot_solve_barycenter_variants_thumb.png" />
<p><a class="reference internal" href="barycenters/plot_solve_barycenter_variants.html"><span class="doc">Optimal Transport Barycenter solvers comparison</span></a></p>
<div class="sphx-glr-thumbnail-title">Optimal Transport Barycenter solvers comparison</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the computation barycenter of labeled graphs using FGW [18]."><img alt="" src="../_images/sphx_glr_plot_barycenter_fgw_thumb.png" />
<p><a class="reference internal" href="gromov/plot_barycenter_fgw.html"><span class="doc">Barycenter of labeled graphs with FGW</span></a></p>
<div class="sphx-glr-thumbnail-title">Barycenter of labeled graphs with FGW</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example is designed to show how to use the Gromov-Wasserstein distance computation in POT."><img alt="" src="../_images/sphx_glr_plot_gromov_barycenter_thumb.png" />
<p><a class="reference internal" href="gromov/plot_gromov_barycenter.html"><span class="doc">Gromov-Wasserstein Barycenter example</span></a></p>
<div class="sphx-glr-thumbnail-title">Gromov-Wasserstein Barycenter example</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="In this example, we illustrate how to learn a semi-relaxed Gromov-Wasserstein (srGW) barycenter using a Block-Coordinate Descent algorithm, on a dataset of structured data such as graphs, denoted \{ \mathbf{C_s} \}_{s \in [S]} where every nodes have uniform weights \{ \mathbf{p_s} \}_{s \in [S]}. Given a barycenter structure matrix \mathbf{C} with N nodes, each graph (\mathbf{C_s}, \mathbf{p_s}) is modeled as a reweighed subgraph with structure \mathbf{C} and weights \mathbf{w_s} \in \Sigma_N where each \mathbf{w_s} corresponds to the second marginal of the OT \mathbf{T_s} (s.t \mathbf{w_s} = \mathbf{T_s}^\top \mathbf{1}) minimizing the srGW loss between the s^{th} input and the barycenter."><img alt="" src="../_images/sphx_glr_plot_semirelaxed_gromov_wasserstein_barycenter_thumb.png" />
<p><a class="reference internal" href="gromov/plot_semirelaxed_gromov_wasserstein_barycenter.html"><span class="doc">Semi-relaxed (Fused) Gromov-Wasserstein Barycenter as Dictionary Learning</span></a></p>
<div class="sphx-glr-thumbnail-title">Semi-relaxed (Fused) Gromov-Wasserstein Barycenter as Dictionary Learning</div>
</div></div></section>
<section id="domain-adaptation-with-ot">
<h2>Domain adaptation with OT<a class="headerlink" href="#domain-adaptation-with-ot" title="Link to this heading"></a></h2>
<div class="toctree-wrapper compound">
</div>
<div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="This example introduces a domain adaptation in a 2D setting and the 4 OTDA approaches currently supported in POT."><img alt="" src="../_images/sphx_glr_plot_otda_classes_thumb.png" />
<p><a class="reference internal" href="domain-adaptation/plot_otda_classes.html"><span class="doc">OT for domain adaptation</span></a></p>
<div class="sphx-glr-thumbnail-title">OT for domain adaptation</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example presents a way of transferring colors between two images with Optimal Transport as introduced in [6]"><img alt="" src="../_images/sphx_glr_plot_otda_color_images_thumb.png" />
<p><a class="reference internal" href="domain-adaptation/plot_otda_color_images.html"><span class="doc">OT for image color adaptation</span></a></p>
<div class="sphx-glr-thumbnail-title">OT for image color adaptation</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example introduces a domain adaptation in a 2D setting. It explicit the problem of domain adaptation and introduces some optimal transport approaches to solve it."><img alt="" src="../_images/sphx_glr_plot_otda_d2_thumb.png" />
<p><a class="reference internal" href="domain-adaptation/plot_otda_d2.html"><span class="doc">OT for domain adaptation on empirical distributions</span></a></p>
<div class="sphx-glr-thumbnail-title">OT for domain adaptation on empirical distributions</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example introduces a target shift problem with two 2D source and 1 target domain."><img alt="" src="../_images/sphx_glr_plot_otda_jcpot_thumb.png" />
<p><a class="reference internal" href="domain-adaptation/plot_otda_jcpot.html"><span class="doc">OT for multi-source target shift</span></a></p>
<div class="sphx-glr-thumbnail-title">OT for multi-source target shift</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example introduces a domain adaptation in a 2D setting and OTDA approach with Laplacian regularization."><img alt="" src="../_images/sphx_glr_plot_otda_laplacian_thumb.png" />
<p><a class="reference internal" href="domain-adaptation/plot_otda_laplacian.html"><span class="doc">OT with Laplacian regularization for domain adaptation</span></a></p>
<div class="sphx-glr-thumbnail-title">OT with Laplacian regularization for domain adaptation</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Linear OT mapping estimation"><img alt="" src="../_images/sphx_glr_plot_otda_linear_mapping_thumb.png" />
<p><a class="reference internal" href="domain-adaptation/plot_otda_linear_mapping.html"><span class="doc">Linear OT mapping estimation</span></a></p>
<div class="sphx-glr-thumbnail-title">Linear OT mapping estimation</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example presents how to use MappingTransport to estimate at the same time both the coupling transport and approximate the transport map with either a linear or a kernelized mapping as introduced in [8]."><img alt="" src="../_images/sphx_glr_plot_otda_mapping_thumb.png" />
<p><a class="reference internal" href="domain-adaptation/plot_otda_mapping.html"><span class="doc">OT mapping estimation for domain adaptation</span></a></p>
<div class="sphx-glr-thumbnail-title">OT mapping estimation for domain adaptation</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="OT for domain adaptation with image color adaptation [6] with mapping estimation [8]."><img alt="" src="../_images/sphx_glr_plot_otda_mapping_colors_images_thumb.png" />
<p><a class="reference internal" href="domain-adaptation/plot_otda_mapping_colors_images.html"><span class="doc">OT for image color adaptation with mapping estimation</span></a></p>
<div class="sphx-glr-thumbnail-title">OT for image color adaptation with mapping estimation</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example introduces a semi supervised domain adaptation in a 2D setting. It explicit the problem of semi supervised domain adaptation and introduces some optimal transport approaches to solve it."><img alt="" src="../_images/sphx_glr_plot_otda_semi_supervised_thumb.png" />
<p><a class="reference internal" href="domain-adaptation/plot_otda_semi_supervised.html"><span class="doc">OTDA unsupervised vs semi-supervised setting</span></a></p>
<div class="sphx-glr-thumbnail-title">OTDA unsupervised vs semi-supervised setting</div>
</div></div></section>
<section id="other-ot-problems">
<h2>Other OT problems<a class="headerlink" href="#other-ot-problems" title="Link to this heading"></a></h2>
<div class="toctree-wrapper compound">
</div>
<div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="This example is designed to show how to use the CO-Optimal Transport [47]_ in POT. CO-Optimal Transport allows to calculate the distance between two arbitrary-size matrices, and to align their rows and columns. In this example, we consider two random matrices X_1 and X_2 defined by (X_1)_{i,j} = \cos(\frac{i}{n_1} \pi) + \cos(\frac{j}{d_1} \pi) + \sigma \mathcal N(0,1) and (X_2)_{i,j} = \cos(\frac{i}{n_2} \pi) + \cos(\frac{j}{d_2} \pi) + \sigma \mathcal N(0,1)."><img alt="" src="../_images/sphx_glr_plot_COOT_thumb.png" />
<p><a class="reference internal" href="others/plot_COOT.html"><span class="doc">Row and column alignments with CO-Optimal Transport</span></a></p>
<div class="sphx-glr-thumbnail-title">Row and column alignments with CO-Optimal Transport</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the use of EWCA as proposed in [52]."><img alt="" src="../_images/sphx_glr_plot_EWCA_thumb.png" />
<p><a class="reference internal" href="others/plot_EWCA.html"><span class="doc">Entropic Wasserstein Component Analysis</span></a></p>
<div class="sphx-glr-thumbnail-title">Entropic Wasserstein Component Analysis</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example is designed to show how to use SSNB [58] in POT. SSNB computes an l-strongly convex potential \varphi with an L-Lipschitz gradient such that \nabla \varphi \# \mu \approx \nu. This regularity can be enforced only on the components of a partition of the ambient space, which is a relaxation compared to imposing global regularity."><img alt="" src="../_images/sphx_glr_plot_SSNB_thumb.png" />
<p><a class="reference internal" href="others/plot_SSNB.html"><span class="doc">Smooth and Strongly Convex Nearest Brenier Potentials</span></a></p>
<div class="sphx-glr-thumbnail-title">Smooth and Strongly Convex Nearest Brenier Potentials</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example illustrate the use of WDA as proposed in [11]."><img alt="" src="../_images/sphx_glr_plot_WDA_thumb.png" />
<p><a class="reference internal" href="others/plot_WDA.html"><span class="doc">Wasserstein Discriminant Analysis</span></a></p>
<div class="sphx-glr-thumbnail-title">Wasserstein Discriminant Analysis</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="Illustration of 2D optimal transport between distributions that are weighted sum of Diracs. The OT matrix is plotted with the samples."><img alt="" src="../_images/sphx_glr_plot_WeakOT_VS_OT_thumb.png" />
<p><a class="reference internal" href="others/plot_WeakOT_VS_OT.html"><span class="doc">Weak Optimal Transport VS exact Optimal Transport</span></a></p>
<div class="sphx-glr-thumbnail-title">Weak Optimal Transport VS exact Optimal Transport</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="When the cost is discretized (Monge), the d-MMOT solver can more quickly compute and minimize the distance between many distributions without the need for intermediate barycenter computations. This example compares the time to identify, and the quality of, solutions for the d-MMOT problem using a primal/dual algorithm and classical LP barycenter approaches."><img alt="" src="../_images/sphx_glr_plot_dmmot_thumb.png" />
<p><a class="reference internal" href="others/plot_dmmot.html"><span class="doc">Computing 1-dimensional Barycenters via d-MMOT</span></a></p>
<div class="sphx-glr-thumbnail-title">Computing 1-dimensional Barycenters via d-MMOT</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="In this example we plot the logo of the POT toolbox."><img alt="" src="../_images/sphx_glr_plot_logo_thumb.png" />
<p><a class="reference internal" href="others/plot_logo.html"><span class="doc">Logo of the POT toolbox</span></a></p>
<div class="sphx-glr-thumbnail-title">Logo of the POT toolbox</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="In this example, we consider two point clouds living in different Euclidean spaces, where the outliers are artificially injected into the target data. We illustrate two methods which allow to filter out these outliers."><img alt="" src="../_images/sphx_glr_plot_outlier_detection_with_COOT_and_unbalanced_COOT_thumb.png" />
<p><a class="reference internal" href="others/plot_outlier_detection_with_COOT_and_unbalanced_COOT.html"><span class="doc">Detecting outliers by learning sample marginal distribution with CO-Optimal Transport and by using unbalanced Co-Optimal Transport</span></a></p>
<div class="sphx-glr-thumbnail-title">Detecting outliers by learning sample marginal distribution with CO-Optimal Transport and by using unbalanced Co-Optimal Transport</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example shows the ot.semidiscrete solver on a small 2D problem: a uniform source on [0, 1]^2 and 15 random target atoms with uniform weights. With so few atoms the Laguerre cells can be drawn by brute force on a grid."><img alt="" src="../_images/sphx_glr_plot_semidiscrete_thumb.png" />
<p><a class="reference internal" href="others/plot_semidiscrete.html"><span class="doc">Semi-discrete OT: a toy 2D problem</span></a></p>
<div class="sphx-glr-thumbnail-title">Semi-discrete OT: a toy 2D problem</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example presents a synthetic example of Spectral Grassmannian-Wasserstein Optimal Transport (SGOT) on linear dynamical systems."><img alt="" src="../_images/sphx_glr_plot_sgot_thumb.png" />
<p><a class="reference internal" href="others/plot_sgot.html"><span class="doc">Spectral-Grassmann OT on dynamical systems operators</span></a></p>
<div class="sphx-glr-thumbnail-title">Spectral-Grassmann OT on dynamical systems operators</div>
</div><div class="sphx-glr-thumbcontainer" tooltip="This example is designed to show how to use the stochastic optimization algorithms for discrete and semi-continuous measures from the POT library."><img alt="" src="../_images/sphx_glr_plot_stochastic_thumb.png" />
<p><a class="reference internal" href="others/plot_stochastic.html"><span class="doc">Stochastic examples</span></a></p>
<div class="sphx-glr-thumbnail-title">Stochastic examples</div>
</div></div></section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="plot_quickstart_guide.html" class="btn btn-neutral float-left" title="Quickstart Guide" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="plot_Intro_OT.html" class="btn btn-neutral float-right" title="Introduction to Optimal Transport with Python" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>© Copyright 2016-2026, POT Contributors.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" data-toggle="rst-versions" role="note"
aria-label="versions">
<!-- add shift_up to the class for force viewing ,
data-toggle="rst-current-version" -->
<span class="rst-current-version" style="margin-bottom:1mm;">
<span class="fa fa-book"> Python Optimal Transport</span> 0.9.8.dev
<hr style="margin-bottom:1.5mm;margin-top:5mm;">
<!-- versions
<span class="fa fa-caret-down"></span>-->
<span class="rst-current-version" style="display: inline-block;padding:
0px;color:#fcfcfcab;float:left;font-size: 100%;">
Versions:
<a href="https://pythonot.github.io/"
style="padding: 3px;color:#fcfcfc;font-size: 100%;">Release</a>
<a href="https://pythonot.github.io/master"
style="padding: 3px;color:#fcfcfc;font-size: 100%;">Development</a>
<a href="https://github.com/PythonOT/POT"
style="padding: 3px;color:#fcfcfc;font-size: 100%;">Code</a>
</span>
</span>
<!--
<div class="rst-other-versions">
<div class="injected">
<dl>
<dt>Versions</dt>
<dd><a href="https://pythonot.github.io/">Release</a></dd>
<dd><a href="https://pythonot.github.io/master">Development</a></dd>
<dt><a href="https://github.com/PythonOT/POT">Code on Github</a></dt>
</dl>
<hr>
</div>
</div>-->
</div><script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>