-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
RFC: Fix type instability for \ #9196
Conversation
…o, avoid copying the A_ldiv_B!
Is the |
Seems like we need some sort of canonical way to do symbol types for dispatch. In the MIME framework we use string macros and we should have a strong reason for doing this differently in two contexts in Base. |
@ivarne I wasn't aware of that so thank you for mentioning that. @StefanKarpinski I thought this functionality would be useful beyond linear algebra and therefore I'm not joking, although I expected a mixed reception of the suggestion. In JuliaLang/LinearAlgebra.jl#144, we discussed the possibilities and either we'd have to define many method like |
I've always found that the use of Seriously, though, it looks a bit weird, but as in #8450, we're running out of free symbols that are present on a keyboard... Here on mine there are still |
Just as we are discussing dispatch on symbols. I haven't yet seen the proposal to make the |
I am not sure I like the |
If the sly reason for using |
BTW, I am all for introducing |
@StefanKarpinski @ViralBShah I've forgotten how to type the Rupee symbol on my Mac. |
On some keyboards. The Euro symbol is not available on EN-US keyboards. Is there a TeX-style input string for this character defined already? |
@pao |
It's @ViralBShah I cannot get |
Some googling suggests that you have to have an |
Superseded by #9779 |
The first of these two commits is a straight forward fix of JuliaLang/LinearAlgebra.jl#152 for 0.3 and it partly fixes the issue for 0.4. However, the type inference problems (see JuliaLang/LinearAlgebra.jl#144) for
Triangular
on 0.4 requires move work to make\
type stable.The second commit makes
Triangular
type stable by introducing a dummy parametric immutable to use for dispatch only. Hence, this pr supersedes #8796. I have decided to use€
as the name for the dummy type because it is short and fairly easy to type on an American Mac keyboard. Hence, a matrix is declared triangular withTriangular(A,€{:L})
instead ofTriangular(A,:L)
. This change also makes it possible to extract properties from aFactorization
in a type stable way, e.g.lufact(A)[€{:L}]
.The extra methods doesn't have an impact on the time consumption of the
LinAlg
test suite and for the performance tests, it improvesstockcorr
(which was broken again),laplace_vec
andvectorize
as far as I can see.