Skip to main content
Log in

An Efficient Algorithm for Matrix-Valued and Vector-Valued Optimal Mass Transport

  • Published:
Journal of Scientific Computing Aims and scope Submit manuscript

Abstract

We present an efficient algorithm for recent generalizations of optimal mass transport theory to matrix-valued and vector-valued densities. These generalizations lead to several applications including diffusion tensor imaging, color image processing, and multi-modality imaging. The algorithm is based on sequential quadratic programming. By approximating the Hessian of the cost and solving each iteration in an inexact manner, we are able to solve each iteration with relatively low cost while still maintaining a fast convergence rate. The core of the algorithm is solving a weighted Poisson equation, where different efficient preconditioners may be employed. We utilize incomplete Cholesky factorization, which yields an efficient and straightforward solver for our problem. Several illustrative examples are presented for both the matrix and vector-valued cases.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

References

  1. Ambrosio, L., Gigli, N., Savaré, G.: Gradient Flows in Metric Spaces and in the Space of Probability Measures. Springer, Berlin (2006)

    MATH  Google Scholar 

  2. Angenent, S., Haker, S., Tannenbaum, A.: Minimizing flows for the Monge–Kantorovich problem. SIAM J. Math. Anal. 35(1), 61–97 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  3. Ascher, U.M.: Numerical Methods for Evolutionary Differential Equations. SIAM, Philadelphia (2008)

    Book  MATH  Google Scholar 

  4. Benamou, J.-D., Brenier, Y.: A computational fluid mechanics solution to the Monge–Kantorovich mass transfer problem. Numer. Math. 84(3), 375–393 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  5. Benamou, J.-D., Froese, B.D., Oberman, A.M.: Numerical solution of the optimal transportation problem using the Monge–Ampere equation. J. Comput. Phys. 260, 107–126 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  6. Benamou, J.-D., Carlier, G., Cuturi, M., Nenna, L., Peyré, G.: Iterative Bregman projections for regularized transportation problems. SIAM J. Sci. Comput. 37(2), A1111–A1138 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  7. Brenier, Y.: Polar factorization and monotone rearrangement of vector-valued functions. Commun. Pure Appl. Math. 44(4), 375–417 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  8. Byrd, R.H., Curtis, F.E., Nocedal, J.: An inexact SQP method for equality constrained optimization. SIAM J. Optim. 19(1), 351–369 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  9. Carlen, E.A., Maas, J.: Gradient flow and entropy inequalities for quantum markov semigroups with detailed balance. arXiv preprint arXiv:1609.01254, (2016)

  10. Chen, Y., Georgiou, T.T., Pavon, M.: Entropic and displacement interpolation: a computational approach using the Hilbert metric. arXiv:1506.04255v1 (2015)

  11. Chen, Y., Georgiou, T. T., Tannenbaum, A.: Matrix optimal mass transport: a quantum mechanical approach. arXiv preprint arXiv:1610.03041 (2016)

  12. Chen, Y., Georgiou, T.T., Tannenbaum, A.: Vector-valued optimal mass transport. arXiv preprint arXiv:1611.09946 (2016)

  13. Chen, Y., Georgiou, T.T., Tannenbaum, A.: Interpolation of density matrices and matrix-valued measures: the unbalanced case. arXiv preprint arXiv:1612.05914 (2016)

  14. Chow, S.-N., Dieci, L., Li, W., Zhou, H.: Entropy dissipation semi-discretization schemes for Fokker–Planck equations. arxiv:1608.02628 (2017)

  15. Cuturi, M.: Sinkhorn distances: lightspeed computation of optimal transport. In: Proceedings of the Advances in Neural Information Processing Systems (NIPS), pp. 2292–2300 (2013)

  16. Erbar, M., Maas, J.: Ricci curvature of finite Markov chains via convexity of the entropy. Arch. Ration. Mech. Anal. 206, 997–1038 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  17. Gangbo, W., McCann, R.J.: The geometry of optimal transportation. Acta Math. 177(2), 113–161 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  18. Haber, E., Horesh, R.: A multilevel method for the solution of time dependent optimal transport. Numer. Math. Theory Methods Appl. 8(01), 97–111 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  19. Jordan, R., Kinderlehrer, D., Otto, F.: The variational formulation of the Fokker–Planck equation. SIAM J. Math. Anal. 29(1), 1–17 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  20. Kantorovich, L.V.: On the transfer of masses. Dokl. Akad. Nauk. SSSR 37(7–8), 227–229 (1942)

    Google Scholar 

  21. Kershaw, D.S.: The incomplete Cholesky conjugate gradient method for the iterative solution of systems of linear equations. J. Comput. Phys. 26(1), 43–65 (1978)

    Article  MathSciNet  MATH  Google Scholar 

  22. Li, W., Yin, P., Osher, S.: A fast algorithm for unbalanced \(L_1\) Monge–Kantorovich problem. CAM Report, pp. 16–84 (2016)

  23. Li, W., Yin, P., Osher, S.: Computations of optimal transport distance with Fisher information regularization. J. Sci. Comput. (2018) (To appear in) arxiv:1704.04605

  24. Li, W., Ryu, E.K., Osher, S., Yin, W., Gangbo, W.: A parallel method for earth mover’s distance. J. Sci. Comput. 75, 1–16 (2017)

    MathSciNet  MATH  Google Scholar 

  25. McCann, R.J.: A convexity principle for interacting gases. Adv. Math. 128(1), 153–179 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  26. Mittnenzweig, M., Mielke, A.: An entropic gradient structure for Lindblad equations and GENERIC for quantum systems coupled to macroscopic models. arXiv preprint arXiv:1609.05765 (2016)

  27. Monge, G.: Mémoire sur la Théorie des Déblais et des Remblais. De l’Imprimerie Royale, Paris, France (1781)

  28. Ning, L., Georgiou, T.T., Tannenbaum, A.: On matrix-valued Monge–Kantorovich optimal mass transport. IEEE Trans. Autom. Control 60(2), 373–382 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  29. Nocedal, J., Wright, S.: Numerical Optimization. Springer, Berlin (2006)

    MATH  Google Scholar 

  30. Otto, F., Villani, C.: Generalization of an inequality by Talagrand and links with the logarithmic Sobolev inequality. J. Funct. Anal. 173(2), 361–400 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  31. Rachev, S .T., Rüschendorf, L.: Mass Transportation Problems: Volume I—Theory. Springer, Berlin (1998)

    MATH  Google Scholar 

  32. Rockafellar, R.T.: Monotone operators and the proximal point algorithm. SIAM J. Control Optim. 14(5), 877–898 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  33. Ryu, E.K., Chen, Y., Li, W., Osher, S.: Vector and matrix optimal mass transport: theory, algorithm, and applications. arxiv:1712.10279 (2017)

  34. Steklova, K., Haber, E.: Joint hydrogeophysical inversion: state estimation for seawater intrusion models in 3D. Comput. Geosci. 21(1), 75–94 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  35. Tannenbaum, A., Sander, C., Zhu, L., Sandhu, R., Kolesov, I., Reznik, E., Senbabaoglu, Y., Georgiou, T.: Ricci curvature and robustness of cancer networks. arxiv:1502.04512 (2015)

  36. Villani, C.: Topics in Optimal Transportation, vol. 58. American Mathematical Society, Providence (2003)

    MATH  Google Scholar 

Download references

Acknowledgements

This project was supported by AFOSR Grants (FA9550-15-1-0045 and FA9550-17-1-0435), ARO Grant (W911NF-17-1-049), grants from the National Center for Research Resources (P41- RR-013218) and the National Institute of Biomedical Imaging and Bioengineering (P41-EB-015902), National Science Foundation (NSF), grants from National Institutes of Health (1U24CA18092401A1, R01-AG048769), grants from the Swedish Research Council through the LCCC Linnaeus Center, and the Breast Cancer Research Foundation.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Allen Tannenbaum.

Additional information

Kaoru Yamamoto is a member of the LCCC Linnaeus Center and the ELLIIT Excellence Center at Lund University.

Appendix

Appendix

As in the matrix-valued case, for simplicity of exposition, we consider the discretization in 1D case, and then describe the 2D case in Sect. 7.4 below. Thus, we take \(E=[0,1]\), and as before our technique extends almost verbatim to the higher dimensional setting. We should note that the algorithm presented here in the vector-valued case is very similar to the matrix optimal transport just described in the preceding sections. Nevertheless, for the sake of completeness, we present the key details here.

We discretize the space-time domain \([0,\,1]\times [0,\,1]\) into \(n_x\times n_t\) rectangular cells. Denote \(\Omega _{ij}, 1\le i\le n_x, 1\le j\le n_t\) as the (ij) box. We use staggered grid to discretize p and \(\rho \). The variable u is, however, valued at the centers of the cells \(\{\Omega _{ij}\}\). More specifically,

$$\begin{aligned} p=\left( p_{i+\frac{1}{2},j}\right) , \quad 0\le i\le n_x, ~1\le j\le n_t \end{aligned}$$
$$\begin{aligned} \rho =\left( \rho _{i,j+\frac{1}{2}}\right) , \quad 1\le i\le n_x,~0\le j\le n_t \end{aligned}$$
$$\begin{aligned} u=\left( u_{i,j}\right) , \quad 1\le i \le n_x, ~1\le j\le n_t. \end{aligned}$$

Note that the boundary values are

$$\begin{aligned} p_{\frac{1}{2},j}=0, \quad p_{n_x+\frac{1}{2},j}=0, ~1\le j\le n_t \end{aligned}$$

and

$$\begin{aligned} \rho _{i,\frac{1}{2}}=\rho ^0_i, \quad \rho _{i,n_t+\frac{1}{2}}=\rho ^1_i, ~1\le i\le n_x. \end{aligned}$$

We exclude the boundary values from the variables and denote

$$\begin{aligned} p=\left( p_{i+\frac{1}{2},j}\right) , \quad 1\le i\le n_x-1, ~1\le j\le n_t \end{aligned}$$
$$\begin{aligned} \rho =\left( \rho _{i,j+\frac{1}{2}}\right) , \quad 1\le i\le n_x,~1\le j\le n_t-1. \end{aligned}$$

1.1 Continuity Equation: Vector-Valued Case

We use the preceding discretizing scheme, together with the boundary conditions to rewrite the continuity Eq. (13b) as

$$\begin{aligned} D_1 p+D_2 \rho +D_3 u=b. \end{aligned}$$
(14)

Here the linear operators \(D_1, D_2, D_3\) are defined as

$$\begin{aligned}&\left( D_1 p\right) _{i,j}= {\left\{ \begin{array}{ll} \left( p_{i+\frac{1}{2},j} -p_{i-\frac{1}{2},j}\right) /h_x, &{} \quad \text{ if } ~2\le i \le n_x-1, \\ p_{\frac{3}{2},j}/h_x, &{} \quad \text{ if } ~i=1, \\ -p_{n_x-\frac{1}{2},j}/h_x, &{} \quad \text{ if } ~i=n_x, \end{array}\right. }\\&(D_2 \rho )_{i,j}= {\left\{ \begin{array}{ll} \left( \rho _{i,j+\frac{1}{2}}-\rho _{i,j-\frac{1}{2}}\right) /h_t, &{} \quad \text{ if } ~2\le j \le n_t-1, \\ \rho _{i,\frac{3}{2}}/h_t, &{} \quad \text{ if } ~j=1, \\ - \rho _{i,n_t-\frac{1}{2}}/h_t, &{} \quad \text{ if } ~j=n_t, \end{array}\right. }\\&\left( D_3 u\right) _{i,j}=-\nabla _{{\mathcal {F}}}^* u_{i,j}, \quad 1\le i \le n_x, ~1\le j\le n_t. \end{aligned}$$

The parameter b carries the information of the boundary values \(\rho ^0\) and \(\rho ^1\). More specifically,

$$\begin{aligned} b_{i,j}= {\left\{ \begin{array}{ll} \rho ^0_i/h_t &{} \quad \text{ if }~j=1,\\ -\rho ^1_i/h_t &{} \quad \text{ if }~j=n_t,\\ 0 &{} \quad \text{ otherwise }. \end{array}\right. } \end{aligned}$$

1.2 Discretization of the Cost Function: Vector-Valued Case

Let \(A_1\) be the averaging operator over the spatial domain and \(A_2\) be the averaging operator over the time domain (as before one needs to be careful about the boundaries). Then the cost function (13a) may be approximated by

$$\begin{aligned} \left\langle A_1 \left( p^2\right) , A_2 (1/\rho )+a\right\rangle h_xh_t+ \left\langle u^2, A_2 \left( 1/\left( {{\mathbb {D}}}_2^T\rho \right) +1/\left( {{\mathbb {D}}}_1^T\rho \right) \right) +c\right\rangle \gamma h_xh_t, \end{aligned}$$
(15)

where \(a\ge 0\) depends only on the boundary values \(\rho ^0\) and \(\rho ^1\). The inverse operator and multiplication operators are applied block-wise. The expressions for \(A_1, A_2, a\) are

$$\begin{aligned}&\left( A_1 \left( p^2\right) \right) _{i,j}= {\left\{ \begin{array}{ll} \frac{1}{2}\left( p^2_{i-\frac{1}{2},j} +p^2_{i+\frac{1}{2},j}\right) , &{} \quad \text{ if } ~2\le i \le n_x-1, \\ \frac{1}{2}p^2_{\frac{3}{2},j}, &{} \quad \text{ if } ~i=1, \\ \frac{1}{2}p^2_{n_x-\frac{1}{2},j}, &{} \quad \text{ if } ~i=n_x, \end{array}\right. }\\&\left( A_2 \left( 1/\rho \right) \right) _{i,j}= {\left\{ \begin{array}{ll} \frac{1}{2}\left( 1/\rho _{i,j-\frac{1}{2}} +1/\rho _{i,j+\frac{1}{2}}\right) , &{}\quad \text{ if } ~2\le j \le n_t-1, \\ 1/\rho _{i,\frac{3}{2}}/2, &{} \quad \text{ if } ~j=1, \\ 1/\rho _{i,n_t-\frac{1}{2}}/2, &{} \quad \text{ if } ~j=n_t, \end{array}\right. }\\&a_{i,j}= {\left\{ \begin{array}{ll} 1/\rho ^{0}_i/2&{} \quad \text{ if }~j=1,\\ 1/\rho ^{1}_i/2 &{} \quad \text{ if }~j=n_t,\\ 0 &{} \quad \text{ otherwise }, \end{array}\right. }\\&c_{i,j}= {\left\{ \begin{array}{ll} 1/{{\mathbb {D}}}_2^T\rho ^{0}_i/2+1/{{\mathbb {D}}}_1^T\rho ^{0}_i/2&{} \quad \text{ if }~j=1,\\ 1/{{\mathbb {D}}}_2^T\rho ^{1}_i/2+1/{{\mathbb {D}}}_1^T\rho ^{1}_i/2 &{} \quad \text{ if }~j=n_t,\\ 0 &{} \quad \text{ otherwise }. \end{array}\right. } \end{aligned}$$

1.3 Sequential Quadratic Programming (SQP)

From the above discussion, we obtain the discrete convex optimization problem

$$\begin{aligned}&\min \quad f\left( p, \rho , u\right) =\left\langle A_1 \left( p^2\right) , A_2 \left( 1/\rho \right) \!+\!a\right\rangle h_xh_t \nonumber \\&\qquad \qquad \qquad \ \qquad \qquad + \left\langle u^2, A_2 \left( 1/\left( {{\mathbb {D}}}_2^T\rho \right) +1/\left( {{\mathbb {D}}}_1^T\rho \right) \right) \!+\!c\right\rangle \gamma h_xh_t \end{aligned}$$
(16a)
$$\begin{aligned}&\mathrm{subject to} \quad D_1 p+D_2 \rho +D_3 u=b. \end{aligned}$$
(16b)

The Lagrangian of this problem is

$$\begin{aligned} {{\mathcal {L}}}\left( p, \rho , u\right) = f\left( p, \rho , u\right) /\left( h_xh_t\right) +\left\langle \lambda , D_1 p+D_2 \rho +D_3 u-b\right\rangle . \end{aligned}$$

It follows that the KKT conditions are given by

$$\begin{aligned} \nabla _p {{\mathcal {L}}}= & {} D_1^T \lambda +2p\circ A_1^T\left( A_2\left( 1/\rho \right) +a\right) =0 \end{aligned}$$
(17a)
$$\begin{aligned} \nabla _\rho {{\mathcal {L}}}= & {} D_2^T \lambda -A_2^TA_1\left( p^2\right) / \rho ^{2} -\gamma {{\mathbb {D}}}_2\left( A_2^T\left( u^2\right) /\left( {{\mathbb {D}}}_2^T\rho \right) ^2\right) \nonumber \\&-\gamma {{\mathbb {D}}}_1\left( A_2^T\left( u^2\right) /\left( {{\mathbb {D}}}_1^T\rho \right) ^2\right) =0 \end{aligned}$$
(17b)
$$\begin{aligned} \nabla _u {{\mathcal {L}}}= & {} D_3^T\lambda +2\gamma u\circ \left( A_2\left( 1/\left( {{\mathbb {D}}}_2^T\rho \right) +1/\left( {{\mathbb {D}}}_1^T\rho \right) \right) +c\right) =0 \end{aligned}$$
(17c)
$$\begin{aligned} \nabla _\lambda {{\mathcal {L}}}= & {} D_1 p+D_2 \rho +D_3 u-b=0, \end{aligned}$$
(17d)

with \(\circ \) denoting block-wise multiplication.

Let \(w=(p,\rho , u).\) Then at each SQP iteration, we solve the system

$$\begin{aligned} \left( \begin{matrix}{\hat{A}} &{}\quad D^T \\ D &{}\quad 0\end{matrix}\right) \left( \begin{array}{c}\delta w\\ \delta \lambda \end{array}\right) = -\left( \begin{array}{c}\nabla _w{{\mathcal {L}}}\\ \nabla _\lambda {{\mathcal {L}}}\end{array}\right) , \end{aligned}$$
(18)

where \(D=(D_1, D_2, D_3)\). Again, the matrix \({\hat{A}}\) is an approximation of the Hessian of the objective function

$$\begin{aligned} {\hat{A}}= \left( \begin{matrix} 2 \mathrm{diag} \left( A_1^T \left( A_2\left( 1/\rho \right) +a\right) \right) &{}\quad 0 &{} \quad 0 \\ 0 &{} \quad \mathrm{diag} \left( g\left( p,\rho ,u\right) \right) &{} \quad 0 \\ 0 &{} \quad 0 &{} \quad 2 \gamma \mathrm{diag} \left( A_2\left( 1/\left( {{\mathbb {D}}}_2^T\rho \right) +1/\left( {{\mathbb {D}}}_1^T\rho \right) \right) +c\right) \end{matrix}\right) . \end{aligned}$$

The operator \(g(p, \rho , u)\) is the Hessian of f over \(\rho \) with \(g_{i,j+\frac{1}{2}}\) being the map

$$\begin{aligned} g_{i,j+\frac{1}{2}}(X)= & {} 2\left( A_2^TA_1\left( p^2\right) \right) _{i,j+\frac{1}{2}} /\rho ^{3}_{i,j+\frac{1}{2}}X\\&+ 2\gamma {{\mathbb {D}}}_2\left[ \left( A_2^T\left( u^2\right) \right) _{i,j+\frac{1}{2}} /\left( {{\mathbb {D}}}_2^T\rho \right) ^{3}_{i,j+\frac{1}{2}}{{\mathbb {D}}}_2^TX\right] \\&+2\gamma {{\mathbb {D}}}_1\left[ \left( A_2^T\left( u^2\right) \right) _{i,j+\frac{1}{2}} /\left( {{\mathbb {D}}}_1^T\rho \right) ^{3}_{i,j+\frac{1}{2}}{{\mathbb {D}}}_1^TX\right] . \end{aligned}$$

1.4 Higher Dimensions: Vector-Valued Case

We concretely work out the 2D case in this section. The higher dimensional cases are very similar, but naturally involve additional indices. We should note that for all of the applications we have in mind, the 2D case is sufficient.

We have the discrete convex optimization problem

$$\begin{aligned}&\min \quad f\left( p, \rho , u\right) =\left\langle A_{1x} \left( p_x^2\right) +A_{1y}\left( p_y^2\right) , A_2 \left( 1/\rho \right) + a\right\rangle h_xh_yh_t \\&\qquad \qquad \qquad \ \qquad \qquad + \left\langle u^2, A_2 \left( 1/\left( {{\mathbb {D}}}_2^T\rho \right) +1/\left( {{\mathbb {D}}}_1^T\rho \right) \right) +c\right\rangle \gamma h_xh_yh_t\\&\mathrm{subject~ to} \quad D_{1x} p_x +D_{1y} p_y+D_2 \rho +D_3 u=b. \end{aligned}$$

The Lagrangian of this problem is

$$\begin{aligned} {{\mathcal {L}}}\left( p, \rho , u\right) = f\left( p, \rho , u\right) /\left( h_xh_yh_t\right) +\left\langle \lambda , D_{1x} p_x+D_{1y} p_y+D_2 \rho +D_3 u-b\right\rangle . \end{aligned}$$

In the above,

$$\begin{aligned} a_{i,j,k}= {\left\{ \begin{array}{ll} 1/\rho ^{0}_{i,j}/2&{} \quad \text{ if }~k=1,\\ 1/\rho ^{1}_{i,j}/2 &{} \quad \text{ if }~k=n_t,\\ 0 &{} \quad \text{ otherwise }, \end{array}\right. } \end{aligned}$$

and

$$\begin{aligned}&b_{i,j,k}= {\left\{ \begin{array}{ll} \rho ^0_{i,j}/h_t &{} \quad \text{ if }~k=1,\\ -\rho ^1_{i,j}/h_t &{} \quad \text{ if }~k=n_t,\\ 0 &{} \quad \text{ otherwise }, \end{array}\right. }\\&c_{i,j,k}= {\left\{ \begin{array}{ll} 1/{{\mathbb {D}}}_2^T\rho ^{0}_{i,j}/2+1/{{\mathbb {D}}}_1^T\rho ^{0}_{i,j}/2&{} \quad \text{ if }~k=1,\\ 1/{{\mathbb {D}}}_2^T\rho ^{1}_{i,j}/2+1/{{\mathbb {D}}}_1^T\rho ^{1}_{i,j}/2 &{} \quad \text{ if }~k=n_t,\\ 0 &{} \quad \text{ otherwise }. \end{array}\right. } \end{aligned}$$

The KKT conditions now are

$$\begin{aligned} \nabla _{p_x} {{\mathcal {L}}}= & {} D_{1x}^T \lambda +2p_x\circ A_{1x}^T\left( A_2\left( 1/\rho \right) +a\right) =0\\ \nabla _{p_y} {{\mathcal {L}}}= & {} D_{1y}^T \lambda +2p_y\circ A_{1y}^T\left( A_2\left( 1/\rho \right) +a\right) =0\\ \nabla _\rho {{\mathcal {L}}}= & {} D_2^T \lambda -A_2^T\left( A_{1x}\left( p_x^2\right) +A_{1y}\left( p_y^2\right) \right) /\rho ^2 -\gamma {{\mathbb {D}}}_2\left( A_2^T\left( u^2\right) /\left( {{\mathbb {D}}}_2^T\rho \right) ^2\right) \\&-\gamma {{\mathbb {D}}}_1\left( A_2^T\left( u^2\right) /\left( {{\mathbb {D}}}_1^T\rho \right) ^2\right) =0\\ \nabla _u {{\mathcal {L}}}= & {} D_3^T\lambda +2\gamma u\circ \left( A_2\left( 1/\left( {{\mathbb {D}}}_2^T\rho \right) +1/\left( {{\mathbb {D}}}_1^T\rho \right) \right) +c\right) =0\\ \nabla _\lambda {{\mathcal {L}}}= & {} D_1 p+D_2 \rho +D_3 u-b=0, \end{aligned}$$

with \(\circ \) denoting block-wise multiplication.

Let \(w=(p_x,p_y,\rho , u)\), then at each SQP iteration we solve the system

$$\begin{aligned} \left( \begin{matrix}{\hat{A}} &{} \quad D^* \\ D &{} \quad 0\end{matrix}\right) \left( \begin{array}{c}\delta w\\ \delta \lambda \end{array}\right) = -\left( \begin{array}{c}\nabla _w{{\mathcal {L}}}\\ \nabla _\lambda {{\mathcal {L}}}\end{array}\right) , \end{aligned}$$
(19)

where \(D=(D_{1x},D_{1y}, D_2, D_3)\). The matrix \({\hat{A}}\) is an approximation of the Hessian of the objective function

The operator \(g(p, \rho , u)\) is the Hessian of f over \(\rho \) with \(g_{i,j,k+\frac{1}{2}}\) being the map

$$\begin{aligned} g_{i,j+\frac{1}{2}}(X)= & {} 2\left( A_2^T\left( A_{1x}\left( p_x^2\right) +A_{1y}\left( p_y^2\right) \right) \right) _{i,j+\frac{1}{2}} /\rho ^{3}_{i,j+\frac{1}{2}}X\\&+ 2\gamma {{\mathbb {D}}}_2\left[ \left( A_2^T\left( u^2\right) \right) _{i,j+\frac{1}{2}} /\left( {{\mathbb {D}}}_2^T\rho \right) ^{3}_{i,j+\frac{1}{2}}{{\mathbb {D}}}_2^TX\right] \\&+2\gamma {{\mathbb {D}}}_1\left[ \left( A_2^T\left( u^2\right) \right) _{i,j+\frac{1}{2}} /\left( {{\mathbb {D}}}_1^T\rho \right) ^{3}_{i,j+\frac{1}{2}}{{\mathbb {D}}}_1^TX\right] . \end{aligned}$$

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Chen, Y., Haber, E., Yamamoto, K. et al. An Efficient Algorithm for Matrix-Valued and Vector-Valued Optimal Mass Transport. J Sci Comput 77, 79–100 (2018). https://doi.org/10.1007/s10915-018-0696-8

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10915-018-0696-8

Keywords

Navigation