Peano
Loading...
Searching...
No Matches
VectorOperations.h File Reference
#include <cmath>
#include <sstream>
#include <vector>
#include "tarch/la/ScalarOperations.h"
#include "VectorOperations.cpph"
Include dependency graph for VectorOperations.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  tarch
 Have to include this header, as I need access to the SYCL_EXTERNAL keyword.
 
namespace  tarch::la
 My collection of tiny vector operations.
 

Functions

template<int Size, typename Scalar >
std::string toString (const tarch::la::Vector< Size, Scalar > &vector)
 Forward declaration.
 
template<int Size, typename Scalar >
Scalar tarch::la::norm1 (const Vector< Size, Scalar > &vector)
 Computes the 1-norm of the vector, i.e.
 
template<int Size>
double tarch::la::norm1 (const Vector< Size, std::complex< double > > &vector)
 Specialisation that is different to standard definition.
 
template<int Size, typename Scalar >
Scalar tarch::la::norm2 (const Vector< Size, Scalar > &vector)
 Computes the 2-norm of the vector, i.e.
 
template<int Size, typename Scalar >
Scalar tarch::la::norm2Squared (const Vector< Size, Scalar > &vector)
 
template<int Size>
double tarch::la::norm2 (const Vector< Size, std::complex< double > > &vector)
 Specialisation that is different to standard definition.
 
template<int Size>
double tarch::la::norm2Squared (const Vector< Size, std::complex< double > > &vector)
 
template<int Size, typename Scalar >
Scalar tarch::la::normMax (const Vector< Size, Scalar > &vector)
 Computes the max-norm of the vector.
 
template<int Size>
double tarch::la::normMax (const Vector< Size, std::complex< double > > &vector)
 Specialisation that is different to standard definition.
 
template<int Size, typename Scalar >
Vector< Size, Scalar > tarch::la::abs (const Vector< Size, Scalar > &vector)
 Computes the absolute component values of the vector, creating a temporary vector to hold the result.
 
template<int Size>
Vector< Size, doubletarch::la::abs (const Vector< Size, std::complex< double > > &vector)
 Specialisation that is different to standard definition.
 
template<int Size, typename Scalar >
Scalar tarch::la::sum (const Vector< Size, Scalar > &vector)
 Sums up the component values of the vector.
 
template<int Size, typename Scalar >
Scalar tarch::la::volume (const Vector< Size, Scalar > &vector)
 Computes the volume of the tetrahedron spanned by the Cartesian unit vectors scaled by the corresponding components of the given vector.
 
template<int Size, typename Scalar >
bool tarch::la::allEntriesAreTheSame (const Vector< Size, Scalar > &vector)
 
template<int Size, typename Scalar >
Scalar tarch::la::average (const Vector< Size, Scalar > &vector)
 Computes the volume of the tetrahedron spanned by the Cartesian unit vectors scaled by the corresponding components of the given vector.
 
template<int Size, typename Scalar >
int tarch::la::indexMax (const Vector< Size, Scalar > &vector)
 Returns the index of the element with maximal value (NOT absolute value).
 
template<int Size, typename Scalar >
int tarch::la::indexMin (const Vector< Size, Scalar > &vector)
 Returns the index of the element with minimal value (NOT absolute value).
 
template<int Size, typename Scalar >
Scalar tarch::la::max (const Vector< Size, Scalar > &vector)
 Returns the element with maximal value (NOT absolute value).
 
template<int Size, typename Scalar >
Scalar tarch::la::maxAbs (const Vector< Size, Scalar > &vector)
 Returns the element with maximal absolute value.
 
template<int Size, typename Scalar >
Scalar tarch::la::min (const Vector< Size, Scalar > &vector)
 Returns the element with minimal value (NOT absolute value).
 
template<int Size, typename Scalar >
Vector< Size, Scalar > tarch::la::invertEntries (const Vector< Size, Scalar > &vector)
 
template<int Size>
Vector< Size, doubletarch::la::real (const Vector< Size, std::complex< double > > &vector)
 
template<int Size>
Vector< Size, doubletarch::la::imag (const Vector< Size, std::complex< double > > &vector)
 
template<int Size>
double tarch::la::maxReal (const Vector< Size, std::complex< double > > &vector)
 
template<int Size>
double tarch::la::maxImag (const Vector< Size, std::complex< double > > &vector)
 
template<int Size, typename Scalar >
bool tarch::la::contains (const Vector< Size, Scalar > &vector, const Scalar &value)
 
template<int Size, typename Scalar >
int tarch::la::count (const Vector< Size, Scalar > &vector, const Scalar &value)
 
template<int Size, typename Scalar >
int tarch::la::isEntryNan (const Vector< Size, Scalar > &vector)
 
template<int Size, typename Scalar >
int tarch::la::isEntryFinite (const Vector< Size, Scalar > &vector)
 
template<int Size, typename Scalar >
std::vector< Scalar > tarch::la::toSTLVector (const Vector< Size, Scalar > &vector)
 
template<int Size, typename Scalar >
std::ostream & operator<< (std::ostream &os, const tarch::la::Vector< Size, Scalar > &vector)
 Streams the component values into a comma separated representation.
 

Function Documentation

◆ operator<<()

template<int Size, typename Scalar >
std::ostream & operator<< ( std::ostream & os,
const tarch::la::Vector< Size, Scalar > & vector )

Streams the component values into a comma separated representation.

Definition at line 274 of file VectorOperations.cpph.

References toString().

Here is the call graph for this function:

◆ toString()

template<int Size, typename Scalar >
std::string toString ( const tarch::la::Vector< Size, Scalar > & vector)

Forward declaration.

Forward declaration.

Not a member of the class as I otherwise can't translate it for GPUs.

Definition at line 80 of file Vector.cpph.