;::result_type
    real (const vector_expression&lt;E&gt; &amp;e);

    // (imag v) [i] = imag (v [i])
    template&lt;class E&gt;
     typename vector_unary_traits&lt;E, scalar_imag&lt;typename E::value_type&gt; &gt;::result_type
    imag (const vector_expression&lt;E&gt; &amp;e);

    // (trans v) [i] = v [i]
    template&lt;class E&gt;
     typename vector_unary_traits&lt;E, scalar_identity&lt;typename E::value_type&gt; &gt;::result_type
    trans (const vector_expression&lt;E&gt; &amp;e);

    // (herm 