a1be7bf2f0926707e25b02570c17ba373878f768,pymanopt/manifolds/psd.py,PositiveDefinite,exp,#PositiveDefinite#Any#Any#,110

Before Change


            // Use manopt method
            return x.dot(sp.linalg.expm(sp.linalg.solve(x, u, sym_pos=True)))
        else:
            c = la.cholesky(x)
            c_inv = la.inv(c)
            e = multiexp(multiprod(multiprod(c_inv, u), multitransp(c_inv)),
                         sym=True)
            return multiprod(multiprod(c, e), multitransp(c))

After Change


                e[i] = sp.linalg.expm(x_inv_u[i])
        else:
            e = sp.linalg.expm(x_inv_u)
        return multiprod(x, e)
        // This alternative implementation is sometimes faster though less
        // stable. It can return a matrix with small negative determinant.
        //    c = la.cholesky(x)
        //    c_inv = la.inv(c)
Italian Trulli
In pattern: SUPERPATTERN

Frequency: 3

Non-data size: 4

Instances


Project Name: pymanopt/pymanopt
Commit Name: a1be7bf2f0926707e25b02570c17ba373878f768
Time: 2016-03-14
Author: jamiehntownsend@gmail.com
File Name: pymanopt/manifolds/psd.py
Class Name: PositiveDefinite
Method Name: exp


Project Name: pymc-devs/pymc3
Commit Name: 961eac763fe14e4741344feecc5227edac893883
Time: 2017-05-07
Author: adrian.seyboldt@gmail.com
File Name: pymc3/distributions/multivariate.py
Class Name: MvNormal
Method Name: random


Project Name: GPflow/GPflowOpt
Commit Name: 86d6d6182cde5322a8b474417ef0e3ae3498205a
Time: 2017-06-03
Author: joachim.vanderherten@ugent.be
File Name: GPflowOpt/transforms.py
Class Name: LinearTransform
Method Name: backward