Vectors of large dimension

Vector of large dimensions are simply modelled by std::vector. This concerns in particular vectors of nodal values whose size equal the dimension of some finite element space. Vector space operations are overloaded for std::vector in the file vectorops.hpp.

Functions

template<typename T>
std::ostream &operator<<(std::ostream &o, const std::vector<T> &x)
template<typename T, typename S>
auto &operator+=(std::vector<T> &x, const std::vector<S> y)
template<typename T, typename S>
auto &operator-=(std::vector<T> &x, const std::vector<S> y)
template<typename T, typename S>
auto &operator*=(std::vector<T> &x, const S &alpha)
template<typename T>
auto operator+(const std::vector<T> &x, const std::vector<T> &y)
template<typename T>
auto operator-(const std::vector<T> &x, const std::vector<T> &y)
template<typename T, typename S>
auto operator*(const S &alpha, const std::vector<T> &x)
double operator|(const std::vector<double> &x, const std::vector<double> &y)
cplx operator|(const std::vector<cplx> &x, const std::vector<cplx> &y)
template<typename T>
double Norm(const std::vector<T> &x)
template<typename S, typename T>
bool Close(const std::vector<S> &x, const std::vector<T> &y, const double &tol = 1e-10)
std::vector<double> RandomVec(const std::size_t &sz)