template<in-vector InVec1, in-vector InVec2,
possibly-packed-inout-matrix InOutMat, class Triangle>
void symmetric_matrix_rank_2_update(InVec1 x, InVec2 y, InOutMat A, Triangle t);
template<class ExecutionPolicy, in-vector InVec1, in-vector InVec2,
possibly-packed-inout-matrix InOutMat, class Triangle>
void symmetric_matrix_rank_2_update(ExecutionPolicy&& exec,
InVec1 x, InVec2 y, InOutMat A, Triangle t);
template<in-vector InVec1, in-vector InVec2,
possibly-packed-inout-matrix InOutMat, class Triangle>
void hermitian_matrix_rank_2_update(InVec1 x, InVec2 y, InOutMat A, Triangle t);
template<class ExecutionPolicy, in-vector InVec1, in-vector InVec2,
possibly-packed-inout-matrix InOutMat, class Triangle>
void hermitian_matrix_rank_2_update(ExecutionPolicy&& exec,
InVec1 x, InVec2 y, InOutMat A, Triangle t);