Remove Abs from Norms of Vectors
expr = Norm[{a, b*c}]
Sqrt[Abs[a]^2 + Abs[b c]^2]
Since ComplexExpand
assumes all its variables to be real, we automatically get what we want.
ComplexExpand@expr
Sqrt[a^2 + b^2 c^2]
Other methods include
Refine[expr, {a > 0, b c > 0}]
Sqrt[a^2 + b^2 c^2]
and
FunctionExpand[expr, {a > 0, b c > 0}]
Sqrt[a^2 + b^2 c^2]
If you have to use FullSimplify
or Simplify
, you can use the option ComplexityFunction
to make expressions with Abs
more costly:
FullSimplify[Norm[{a, b*c}], Assumptions -> {a > 0, b > 0, c > 0},
ComplexityFunction -> (100 Count[#, _Abs, {0, Infinity}] + LeafCount[#] &)]
Sqrt[a^2 + b^2 c^2]
Also, for a real number x
, Abs[x] = Sqrt[x^2]
Norm[{a, b*c}] /. Abs[x_] :> Sqrt[x^2]
(* Sqrt[a^2 + b^2 c^2] *)