How to scale coordinates in CoordinateTransformations.jl

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