Hmm, LinearMap(Diagonal(SVector(a,b,c))) doesn’t seem to maintain the type of the diagonal vector:
m = LinearMap(Diagonal(SVector(1, 2, 3)))
LinearMap([1 0 0; 0 2 0; 0 0 3])
julia> typeof(m.m)
Diagonal{Int64}
As opposed to the (desired) following:
julia> m = LinearMap(@SMatrix([1 0 0; 0 2 0; 0 0 3]))
LinearMap([1 0 0; 0 2 0; 0 0 3])
julia> typeof(m.m)
StaticArrays.SArray{Tuple{3,3},Int64,2,9}
I suspect this has more to do with StaticArrays.jl and Diagonal than with CoordinateTransformations.jl…