E&gt;
    typename vector_scalar_unary_traits&lt;E, vector_norm_2&lt;typename E::value_type&gt; &gt;::result_type
    norm_2 (const vector_expression&lt;E&gt; &amp;e);

    // norm_inf v = max (abs (v [i]))
    template&lt;class E&gt;
    typename vector_scalar_unary_traits&lt;E, vector_norm_inf&lt;typename E::value_type&gt; &gt;::result_type
    norm_inf (const vector_expression&lt;E&gt; &amp;e);

    // index_norm_inf v = min (i: abs (v [i]) == max (abs (v [i])))
    template&lt;class E&gt;
    typename v