Add ArrayDifferentialOperators for Vector calculus#942
Conversation
Codecov Report
❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the GitHub App Integration for your organization. Read more. @@ 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
... and 1 file with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
|
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