-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
length does not work for interval ranges #281
Comments
Do interval ranges make sense? Can you just use
? |
Yes I realised that shortly after submitting this issue. It seems like a bug in ApproxFun's type promotion that it even triggered this. It was in some broadcasting code. Though apart from the usage that triggered this, I do think it makes sense: we should have length(@interval(-1,1):@interval(-1,1)) == @interval(0,3) |
I don't understand what that range means. By the way, we hardly ever use |
(The docs need a serious update.) |
where you want to treat literals inside an expression as intervals containing those true real numbers. |
Ah ok, but since I'm mixing with ApproxFun which uses IntervalSets.jl, |
Ah it's interesting that you are using |
I don't think "range of intervals" is something we want. Closing, but happy to reopen if there's a compelling argument for that. |
It's needed for interval-valued infinite arrays.... which would be a step towards rigorous ∞-dimensional linear algebra (think solving linear ODEs) |
I see, thank you for the clarification. Reopening. |
One cannot construct a julia> LinRange(interval(1), interval(5), 3)
3-element LinRange{Interval{Float64}, Int64}:
[1.0, 1.0]_com_NG, [3.0, 3.0]_com_NG, [5.0, 5.0]_com_NG with the I think solving this issue requires implementing our own To get the ball rolling, we first need to know what type of ranges we want. @dlfivefifty you mentioned infinite dimensional operators. I work on computer-assisted proof relying on spectral methods, so due to the indexing of the basis, the type of ranges involved often have a unit step (e.g. the derivative in Fourier). |
No: lots of operators use other steps. Even the simple model problem of computing Bessel functions from the recurrence, where the step is |
I see. Since we cannot assume a unit step, this is a little less trivial to implement. For some additional context: boolean functions from Base ( julia> 1:interval(5)
ERROR: ArgumentError: `==` is purposely not supported for intervals. See instead `isequal_interval`
... So one would have to define a new structure, say |
The text was updated successfully, but these errors were encountered: