Add ArrayDifferentialOperators for Vector calculus - #942
Conversation
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #942 +/- ##
=========================================
+ Coverage 8.35% 8.80% +0.44%
=========================================
Files 26 26
Lines 3267 3318 +51
=========================================
+ Hits 273 292 +19
- Misses 2994 3026 +32 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Core fails look unrelated |
| @@ -1,4 +1,5 @@ | |||
| abstract type Operator <: Function end | |||
| abstract type AbstractOperator <: Function end | |||
| abstract type Operator <: AbstractOperator end | |||
| abstract type ArrayOperator end | ||
|
|
||
| struct ArrayDifferentialOperator <: ArrayOperator | ||
| """The variables to differentiate with resp≈ect to.""" |
|
2 things:
|
| Base.:*(D1::Differential, D2::Differential) = D1 ∘ D2 | ||
| Base.:^(D::Differential, n::Integer) = _repeat_apply(D, n) | ||
| Base.:*(D1, D2::Operator) = D1 ∘ D2 | ||
| Base.:*(D1::Operator, D2) = D1 ∘ D2 |
There was a problem hiding this comment.
I'm wondering why we have these methods @ChrisRackauckas ? this does not make sense in general, only maybe for 2 operators
There was a problem hiding this comment.
What's a case where they don't make sense?
The reason I have done this is that operators are often combined together, so the elements of differentials are not necessarily differentials, but can in general be other functions too. |
|
What's left here? |
|
What is the status of this PR? |
|
Stale, someone would need to revive it. |
Adds Vector calculus operators which are composable by the dot and cross product.
A request for comment on a good design so that equations with these display intelligibly