Giter Site home page Giter Site logo

facusapienza21 / udesphere Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 968 KB

Fitting Paths in the Sphere using UDEs

Makefile 0.46% TeX 10.20% Julia 4.18% Jupyter Notebook 85.16%
non-parametric-regression paleomagnetism universal-differential-equations

udesphere's Introduction

example workflow

Fitting paths in the sphere using Universal Differential Equations

Fitting smooth paths with regularization in the sphere is an important problem in directional statistics and has important application to the estimation of apparent polar paths in paleomagnetism. This projects explores the use of Universal Differential Equations, also known as neural differential equations, to make non-parametric regression in the sphere.

Code ๐Ÿ’ป

We provide code for the different simulations and examples we exhibit in the project. Most of this code is provided in the Julia programming language, given that many of the libraries to perform sensitivity analysis are supported there, plus Julia solvers for differential equations are currently the state of the art in scientific computing.

How to use this repository โ“

This repository is organized in a way that contains most of the important elements of modern scientific workflow. We have included the following elements:

  • tex: This is the folder where all the latex text belongs and what we use to compile main.pdf.
  • code: Folder with both Jupyter notebooks and Julia scripts.
  • CI: Continuous integration with GitHub actions to automatically compile and commit the manuscript.
  • Makefile: make file that automatizes all the commands that can be executed within this repository.

Continuous integrations

This repository has a workflow implemented that automatically compiles the latex files into the file main.pdf and then commits this file directy to the repository. If you are working from your fork, this action should also work and you should be able to generate the pdf file automatically using GitHub actions.

Makefile

Make is an old but very useful technology that allows automation of computing processes. From the directory where you have this respository you can enter make help from a terminal to display the different functionalities currently supported in our Makefile. We currently support the following operations:

  • make tex: Compiles the main.tex latex file inside the folder tex with its respective bibliografy, deletes auxiliaries files in the process and them move the generated pdf file to the home directory.

Open Science from Scratch: contribute to the project! ๐Ÿ‘‹

This review started with some of the authors willing to understand this tools in a comprehensive way and gathering references from fields like statistics, applied mathematics and computer science. Unhappy with the lack of a general compendium of the different methods that exists to address this problem, we had decided to make a single document where all the methods can coexists under common ground and can be compareded under their different scopes and domains of applications.

We are driving by learning and undersranding and the original authors of this report decided to manage this as an open science project from the beginning. What does this entitles? Anyone interested in participating and contrubuting is welcome to join. We beleive that science will benefit for more open collaborations happening under the basis of people trying to understand a topic.

We encourage contributors to participate in this project! If you are interested in contributing, there are many ways in which you can help build this:

  • ๐Ÿ’ฅ Report bugs in the code. You can report problems with the code by oppening issues under the Issues tab in this repository. Please explain the problem you encounter and try to give a complete description of it so we can follow up on that.
  • ๐Ÿ“š Suggest new bibliography. If you are aware of references that may be useful to explore and expand this review, you can report it by creating an Issue in this repository, with the title of the issue being the title of the paper and adding the label paper to the issue.
  • ๐ŸŒณ Add contents. You are more than welcome to directly contribute to this repository and add contents to it. In order to do so, you can directly make a Pull Request to this repository and we will review the changes before being accepted. If you want to get more and more involved in the project.
  • ๐Ÿ’ก Request new features and explanations. If there is an important topic or example that you feel falls under the scope of this review and you would like us to include it, please request it! We are looking for new insights into what the community wants to learn.

Make a Pull Request! :octocat:

The easiest way to contribute by adding code and/or text is to create a new fork of this repository and then create a pull request to the main repository. You can add changes and explore new things in your own fork of this repository and then make a pull request to the repository asking to include some of the contents in the repository. Pull requests are the best way of merging different versions of a repository since it allows to open a conversation about the new implemented changes and solve potential merge conflicts at the same time.

working from Overleaf? You can create a Overleaf project that is synchronized with a GitHub repository (see here for more information). This allows you to do edits on the text file directly from Overleaf and then push your changes directly to your fork, from where you can make a pull request to the main repository.

Contact

If you have any questions or want to reach out, feel free to send us an email to [email protected].

udesphere's People

Contributors

facusapienza21 avatar actions-user avatar

Stargazers

Jordi Bolibar avatar

Watchers

 avatar

Forkers

jordibolibar

udesphere's Issues

Differential Equations with Contraints

If well any smooth curve can be represented as the solution of a differential equations, what happen if we want solutions that are forced to satisfy certain constraint? Can we derived a stricter smaller family of differential equations that serve as universal approximations of curves satisfying such constrain? This is definitely what we do with algebraic differential equations, but it will be interesting to see how this can be simplified.

Add code for spherical splines in `Python`

It will be good to include the paper examples from Jupp(1987) paper so we can do a good comparision between the different methods: running mean, spherical splines, UDE.

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.