Struggling with Symbolics matrix multiplication

Newbie Symbolics question.

I have two matrices with element type Int
L = [1 0 0 0; -3 1 0 0; 2 3 1 0; -2 3 -2 1]
D = [1 0 0 0; 0 2 0 0; 0 0 1 0; 0 0 0 2]

Forming the product G = Num.(L) * sqrt( Num.(D) ) yields
G = Num[sqrt(1) 0 0 0; -3sqrt(1) sqrt(2) 0 0; 2sqrt(1) 3sqrt(2) sqrt(1) 0; -2sqrt(1) 3sqrt(2) -2sqrt(1) sqrt(2)]

with the result that G*G’ promotes sqrt(2)*sqrt(2) to a float 2.0,
as opposed to sqrt(Num(2))*sqrt(Num(2)) = Num(2)

How do I avoid this promotion to float? I would hope to get
G*G’ = Num[1 -3 2 -2; -3 11 0 12; 2 0 23 12; -2 12 12 28]