Final Report

Basic Info

Name: Deepesh Singh Thakur (deeepeshthakur)

Proposal: Native Julia ODE, SDE, DAE, DDE, and (S)PDE Solvers (link)

Mentors: Dr. Christopher Rackauckas, Yingbo Ma, Prof. Samuel Isaacson

Organization: The Julia Language (JuliaDiffEq)

Repositories: StochasticDiffEq.jl, OrdinaryDiffEq.jl, DiffEqDevTools.jl, DiffEqDocs.jl, DiffEqBenchmarks.jl, juliadiffeq.github.io.

Pull Requests

StochasticDiffEq.jl

Description Pull Requests Current Status
Implemented Three Stage Split-Step Milstein Methods #150 Merged
Implemented SROCK Method for Stratonovich-type Problems #153 Merged
Optimised Stage-selection for SROCK1 method #159 Merged
Implemented SROCK Method for Ito-type Problems #161 Merged
Bug Fix in RKMilCommute #164 Merged
Implemented SROCK2 Method for Ito-type Problems #166 Merged
Implemented SROCKEM #168 Merged
RKMilCommute GPU Compatibility #169 Merged
SROCK1 General Noise and Optimisation #170 Merged
RKMilCommute Memory Optimisation #173 Merged
Implemented SKSROCK #174 Merged
Fix Commutative Tests #175 Merged
Implemented Tang Xaio SROCK2W2Ito #177 Merged
Diagonal Noise Case Three Stage Split-step Milstein Methods #184 Merged
Implemented KomBurSROCK2 #186 Merged
Vector Format for SROCK Methods #192 Merged
Implemented SROCKC2 #204 Merged
Implemented Iterated Integrals #209 Merged
Fix Error Calculation RKMilCommute #218 Merged
SROCKEM General Noise Bug Fix #227 Merged
SROCK Methods Tracked Arrays Compatibility #228 Open

OrdinaryDiffEq.jl

Description Pull Requests Current Status
Implemented LDDRK46 #607 Merged
Fix Nomenclature #610 Merged
Implemented NDBLSRK124 #611 Merged
Implemented NDBLSRK134 #614 Merged
Implemented NDBLSRK144 #616 Merged
Implemented ROCK4 #628 Merged
Implemented RKC #634 Merged
Implemented TSLDDRK74 #637 Merged
Implemented DGLDDRK73_C #641 Merged
Implemented DGLDDRK84_C #642 Merged
Implemented DGLDDRK84_F #644 Merged
LDDRK64 to HSLDDRK64 #653 Merged
Implemented IRKC #659 Merged
Implemented 2R+ schemes #663 Merged
Implemented 3R+ schemes #675 Merged
Implemented 4R+ and 5R+ schemes #686 Merged
IRKC Cleanup #687 Merged
Implemented ESERK5 #692 Merged
IRKC Memory Optimisation #723 Merged
ROCK2 Memory Optimisation #729 Merged
Implemented SERK2 #732 Merged
Fix IRKC Adaptive Version #733 Merged
Fix IRKC Extra Allocation #734 Merged
Implemented ESERK4 #737 Open
Fix ROCK Methods Constants #740 Merged
Cleanup ROCK Methods and ROCK4 Memory Optimisation #741 Merged
Stepsize Limits for ROCK Methods #745 Merged
Stepsize Limtis for SERK Methods and RKC #752 Merged
Fix RKC_utils.jl #759 Merged
RKC_utils GPU Compatibility #765 Open
Implemented ESERK4 #737 Merged
RKC_utils GPU Compatibility #765 Merged
SERK Cleanup #808 Merged
Bug Fix ROCK Methods #848 Merged

DiffEqDevTools.jl

Description Pull Requests Current Status
Fix Noise Type in Analyticless Convergence Test #46 Merged

DiffEqDocs.jl

Description Pull Requests Current Status
Fix Typo in Docs #193 Merged
Added Docs for new ODE solvers #195 Merged
Fix Formatting in Docs #216 Merged
Added Docs for ODE and SDE Solvers #233 Merged

DiffEqBenchmarks.jl

Description Pull Requests Current Status
Added Benchmark files for ROCK2 and ROCK4 #39 Merged

juliadiffeq.github.io

Description Pull Requests Current Status
Added Citings #20 Merged
Added Citings #21 Merged
Added Citings #22 Merged

Blog Posts

The following blogs describe the work during the entire period:

  1. About The Project
  2. Community Bonding Period
  3. First Evaluation Report
  4. Second Evaluation Report
  5. Third Evaluation Report

Acknowledgements

I would like to thank Dr. Christopher Rackauckas, Yingbo Ma, David Widmann, and Prof. Samuel Isaacson for their support and guidance throughout the project. Shoutout to the entire Julia community for being awesome and amazingly helpful!

Written on August 26, 2019