JuliaLang/julia — pull request #9170 by andreasnoack (2014-11-26 20:52:58+00:00)
Title: Remove (c)transpose definitions from operators.jl. Add them to string.jl

The definitions gives silent errors for matrix types that don't define `transpose` whenever the `*(A,B,C)` method is called. See the example below.
```julia
julia> qrfact(randn(4,4));

julia> Qf = qrfact(randn(4,4));

julia> A = eye(4)
4x4 Array{Float64,2}:
1.0 0.0 0.0 0.0
0.0 1.0 0.0 0.0
0.0 0.0 1.0 0.0
0.0 0.0 0.0 1.0

julia> Qf[:Q]'A*Qf[:Q]
4x4 Array{Float64,2}:
1.0 -2.22045e-16 -1.11022e-16 1.11022e-16
-1.11022e-16 1.0 1.66533e-16 5.55112e-17
0.0 3.33067e-16 1.0 8.32667e-17
8.32667e-17 5.55112e-17 5.55112e-17 1.0

julia> Qf[:Q]'*A*Qf[:Q]
4x4 Array{Float64,2}:
-0.171812 -0.967699 -0.114264 -0.144855
-0.592102 0.220933 -0.754075 -0.178816
0.787293 -0.0461806 -0.594673 -0.156207
-0.00810461 -0.112316 -0.25432 0.960542
```