16qvector getZeroVector(
size_t dim) {
19 return qvector(dim, 0);
22qvector getConstantVector(
size_t dim, qcomp elem) {
25 return qvector(dim, elem);
33qvector operator * (
const qcomp& a,
const qvector& v) {
42qvector operator * (
const qvector& v,
const qcomp& a) {
46qvector operator *= (qvector& v,
const qcomp& a) {
51qvector operator * (
const qreal& a,
const qvector& v) {
52 return qcomp(a,0) * v;
55qvector operator * (
const qvector& v,
const qreal& a) {
59qvector operator *= (qvector& v,
const qreal& a) {
69qvector operator / (
const qvector& v,
const qcomp& a) {
70 DEMAND( std::abs(a) != 0 );
75qvector operator /= (qvector& v,
const qcomp& a) {
80qvector operator / (
const qvector& v,
const qreal& a) {
81 return v / qcomp(a,0);
84qvector operator /= (qvector& v,
const qreal& a) {
94qvector operator + (
const qvector& v1,
const qvector& v2) {
95 DEMAND( v1.size() == v2.size() );
99 for (
size_t i=0; i<v2.size(); i++)
105qvector operator += (qvector& v1,
const qvector& v2) {
115qvector operator - (
const qvector& v1,
const qvector& v2) {
116 return v1 + (-1 * v2);
119qvector operator -= (qvector& v1,
const qvector& v2) {
129void setSubVector(qvector &dest, qvector sub,
size_t i) {
130 DEMAND( sub.size() + i <= dest.size() );
132 for (
size_t j=0; j<sub.size(); j++)
136void setToDebugState(qvector &v) {
137 DEMAND( !v.empty() );
139 for (
size_t i=0; i<v.size(); i++)
140 v[i] = qcomp(2*i/10., (2*i+1)/10.);