Comments (3)
There's tons of other things that can be done here as well. Lots of allocations to get rid of, overloads for user-Jacobians, etc. But I don't plan on working on it at all because this is somewhat of a dead-end development-wise. Essentially, we'd have to add every feature of OrdinaryDiffEq.jl here, or just add one function to OrdinaryDiffEq.jl and it'll get all of the features, so we're doing the later. So this code has just been kept pretty much in tact from its original creation (way before I started using Julia, this is "inherited code"), and sooner rather than later (a GSoC is slated for it) we'll have OrdinaryDiffEq.jl handle it, and this code will be deprecated. If you want to work on it a bit that's fine, but I don't plan to use of my own time improving this codebase myself.
from dassl.jl.
[...] sooner rather than later (a GSoC is slated for it) we'll have OrdinaryDiffEq.jl handle it
Hm. Just to make sure that I understand correctly: DASSL.jl will be replaced by a new implementation within OrdinaryDiffEq.jl? So, it is not worth to put effort in improving DASSL.jl?
from dassl.jl.
Indeed. OrdinaryDiffEq already does a few mass-matrix ODEs, and it just needs a small tweak to allow DAEProblems. Once that's done, someone just needs to make a perform_step!
overload for how DAE BDF works, and then it will have all of the events, GPU, Newton-Krylov, adaptivity, etc. support for free, which is why we do it that way. And we need the consistent initial condition finder from DASSL.
So I think that a better use of time would be to just find out why QNDF is not performing as well as we'd like and maybe implement a divided differences form as well. But for example, the whole code for QNDF is
https://github.com/JuliaDiffEq/OrdinaryDiffEq.jl/blob/master/src/perform_step/bdf_perform_step.jl#L739-L878
which is much easier to maintain and give features to rather than having a library per method (we are at 300 methods, so...)
I'll open a new issue in OrdinaryDiffEq.jl to discuss the BDF differences. @YingboMa and I have been talking about it a lot internally but we should start writing things down.
from dassl.jl.
Related Issues (15)
- Travis Clang? HOT 2
- Enable AppVeyor Testing
- Common API
- Move the interpolating polynomials to a separate package HOT 6
- Example is failed HOT 2
- Register 2.4.0 HOT 9
- [PackageEvaluator.jl] Your package DASSL may have a testing issue. HOT 1
- TagBot trigger issue HOT 2
- Fix MAXORDER=3
- Pass in exact Jacobian HOT 8
- van der Pol equation HOT 4
- convergence tests fails HOT 6
- allow any callable object, not just ::Function arguments HOT 6
- Move to JuliaDiffEq? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dassl.jl.