Closed mortenpi closed 5 years ago
I agree that we should support this operation. We probably need to enable general testing of Transpose
and Adjoint
in the test suite (which unfortunately will make the linear algebra tests even slower.)
This is not the first case of missing methods with Adjoint
/Transpose
types in the LinearAlgebra
package (see e.g. issues #28714 and #27132, the latter being fixed in PR #27916).
As for tests to add, there seems to be quite a few. A quick grep
indicates that the following LinearAlgebra
test files do not even contain the word transpose
cholesky.jl
eigen.jl
hessenberg.jl
pinv.jl
special.jl
structuredbroadcast.jl
trickyarithmetic.jl
(They might not include tests for adjoints either but grep
is less helpful there.)
Could there be a way to automatically add tests for Adjoint
/Transpose
types whenever a test involves a matrix? Using some kind of modified @test
macro perhaps?
From Discourse: inv(transpose(reshape([3.0], 1, 1)))
also fails, but with ERROR: MethodError: no method matching ldiv!(::Float64, ::Array{Float64,2})
.
This issue seems to be solved, right?
On Julia 1.1.1:
X = [0.707107 0.707107 0.0; 0.707107 -0.707107 0.0; 0.0 0.0 1.0];
inv(transpose(X))
Result:
3×3 LinearAlgebra.Transpose{Float64,Array{Float64,2}}:
0.707107 0.707107 0.0
0.707107 -0.707107 0.0
-0.0 -0.0 1.0
On 0.7/1.0 I am seeing the following issue:
It should probably be possible to just invert this type of matrix.