-
-
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
+(Triangular{T<:Number},Triangular{T<:Number}) does not exist #5927
Comments
Mea culpa. Thanks for going through all the linear algebra code, by the way. It's no mean feat. |
I'm actually using TypeCheck.jl's |
|
Is there a subset of the types in that codegen loop that actually work? We could delete any definitions that are not going to be supported. |
I've committed |
Wanting these methods to work is pretty strong evidence that |
Sounds like we want typealias UpperTriangular{T,S,isunit} Triangular(T,S,:U,isunit)
typealias LowerTriangular{T,S,isunit} Triangular(T,S,:L,isunit) ? I do agree that |
Yes, that seems like a reasonable way to go. Then you can have UL(::UpperTriangular) = :U
UL(::LowerTriangular) = :L when you need to get the symbol. It will be inlined so should be efficient enough. |
One of the main reasons to make |
Just noticed that I hadn't applied the fix to the OP. Feel free to continue the bikeshedding. |
The code in linalg/special.jl generates conversions and +/- methods for some special matrix types. (see this loop)
Many of these generated methods call
+
or-
on twoTriangular
s. This method does not exist.The problematic methods:
(The
+
methods call+(Triangular,Triangular)
; the-
methods call-(Triangular,Triangular)
.)An example of this failing:
The text was updated successfully, but these errors were encountered: