Coder Social home page Coder Social logo

ethanrich / posdefmanifold.jl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from marco-congedo/posdefmanifold.jl

0.0 0.0 0.0 2.54 MB

A Julia package for manipulating data in the Riemannian manifold of positive definite matrices

License: Other

Julia 94.50% CSS 2.47% JavaScript 2.66% HTML 0.37%

posdefmanifold.jl's Introduction

PosDefManifold.jl

Documentation

PosDefManifold is a Julia package for manipulating data in the manifold P of real or complex positive definite matrices. The package supports 10 metrics acting on P, two of which define Riemannian manifolds.

This package computes distances, geodesics, weighted Fréchet means and inductive Fréchet means for the supported metrics, graph Laplacians, Lapacian eigen maps, tangent space projections, parallel transport, the geometric midrange, matrix approximations and a special solution of the Procrustes problem in P. Key functions are multi-threaded.

The documentation is rich and gives all mathematical details pertaining to the implemented functions.

For machine learning in P see PosDefManifoldML.jl.

For optimization in P see Manopt.jl.

See also Manifolds.jl.

For similar code resources in other programming languages see here.

About the author

Marco Congedo is a Research Director of CNRS (Centre National de la Recherche Scientifique), working at UGA (University of Grenoble Alpes), in Grenoble (France).

Contact

marco dot congedo at gmail dot com

Examples:

using PosDefManifold
 
P, Q = randP(20), randP(20)       # random Positive Definite Matrices (PDMs) of size 20x20
d = distance(Fisher, P, Q)        # distance between P and Q 
R = geodesic(Fisher, P, Q, 0.1)   # move on the geodesic relying P and Q 
G = mean(Fisher, P, Q)            # mean of P and Q (geodesic mid-point) 
U = procrustes(P, Q)              # solution to a special Procrustes problem
S = logMap(Fisher, P, G)          # tangent space mapping  
 
𝐏 = randP(20, 100)                 # random set 𝐏 of 100 PDMs of size 20x20
G = mean(Fisher, 𝐏)                # mean of all matrices in set 𝐏 
λ, U, i, c = spEmb(Fisher, 𝐏, 3)   # spectral embedding in 3D

posdefmanifold.jl's People

Contributors

marco-congedo avatar juliatagbot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.