-
-
Notifications
You must be signed in to change notification settings - Fork 9
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
*fact(::AbstractMatrix, ::AbstractMatrix) currently missing method definitions for most special matrix types #172
Comments
I don't think that the Are no method errors generally unacceptable? |
The documentation could be updated to say this explicitly. This might be an instance where we would want to throw a deliberately unimplemented method exception (ref JuliaLang/julia#7512) to give better context why these are undefined. If these methods are restricted to dense-strided matrices and some subset of the special matrix types perhaps the argument types should be restricted to reflect this. For instance, eigfact{TA,TB}(A::AbstractArray{TA,2},B::AbstractArray{TB,2}) at linalg/factorization.jl:566 so I would expect it to work for any two arguments |
I don't think that is a general design rule in base. Many methods have signatures that are way too loose then, e.g. it would hard to accept signatures with The idea in linalg is to restrict the signature as much as necessary and not more, but I don't claim that this has been followed strictly. The method in line |
|
That could get annoying quickly for people trying to extend these types. The special matrix types are already not very cohesively designed or extensible. These particular missing methods are a subset of the larger problem #136 |
The doc strings seem state when special matrices are supported. I think that is the best way to handle this. If some of the doc strings are not complete, we can open individual issues. |
There are unimplemented cases here that could and should be implemented. If not here, we should track those somewhere. |
Bidiagonal
,Diagonal
,UpperTriangular
,LowerTriangular
,SymTridiagonal
and combinations thereof are currently not implemented.This impacts
bkfact
,cholfact
,qrfact
,schurfact
, etc.The text was updated successfully, but these errors were encountered: