OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Classes | Functions
FVector.h File Reference
#include "FixedAlgebra/FArray1D.h"
#include <algorithm>
#include <numeric>
#include <cmath>
#include <functional>
Include dependency graph for FVector.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  FVector< T, N >
 A templated representation for vectors. More...
 

Functions

template<class T , int N>
FVector< T, N > operator+ (const FVector< T, N > &, const FVector< T, N > &)
 Add. More...
 
template<class T , int N>
FVector< T, N > operator- (const FVector< T, N > &, const FVector< T, N > &)
 Subtract. More...
 
template<class T , int N>
operator* (const FVector< T, N > &, const FVector< T, N > &)
 Dot product. More...
 
template<class T , int N>
FVector< T, N > operator* (const FVector< T, N > &, const T &)
 Multiply. More...
 
template<class T , int N>
FVector< T, N > operator/ (const FVector< T, N > &, const T &)
 Divide. More...
 
template<class T , int N>
FVector< T, N > operator* (const T &, const FVector< T, N > &)
 Multiply. More...
 
template<class T , int N>
euclidean_norm (const FVector< T, N > &)
 Euclidean norm. More...
 
template<class T , int N>
scaled_norm (const FArray1D< T, N > D, const FVector< T, N > &V)
 Euclidean norm of diagonal matrix D times FVector V. More...
 

Function Documentation

◆ euclidean_norm()

template<class T , int N>
T euclidean_norm ( const FVector< T, N > &  V)

Euclidean norm.

Definition at line 230 of file FVector.h.

References FArray1D< T, N >::begin(), FArray1D< T, N >::end(), sqrt(), and Attrib::Legacy::Distribution::T.

Here is the call graph for this function:

◆ operator*() [1/3]

template<class T , int N>
T operator* ( const FVector< T, N > &  lhs,
const FVector< T, N > &  rhs 
)

Dot product.

Definition at line 200 of file FVector.h.

References FArray1D< T, N >::begin(), FArray1D< T, N >::end(), and Attrib::Legacy::Distribution::T.

Here is the call graph for this function:

◆ operator*() [2/3]

template<class T , int N>
FVector< T, N > operator* ( const FVector< T, N > &  lhs,
const T &  x 
)

Multiply.

Definition at line 206 of file FVector.h.

◆ operator*() [3/3]

template<class T , int N>
FVector< T, N > operator* ( const T &  x,
const FVector< T, N > &  lhs 
)

Multiply.

Definition at line 221 of file FVector.h.

References FArray1D< T, N >::begin(), and FArray1D< T, N >::end().

Here is the call graph for this function:

◆ operator+()

template<class T , int N>
FVector< T, N > operator+ ( const FVector< T, N > &  lhs,
const FVector< T, N > &  rhs 
)

Add.

Definition at line 180 of file FVector.h.

References FArray1D< T, N >::begin(), and FArray1D< T, N >::end().

Here is the call graph for this function:

◆ operator-()

template<class T , int N>
FVector< T, N > operator- ( const FVector< T, N > &  lhs,
const FVector< T, N > &  rhs 
)

Subtract.

Definition at line 189 of file FVector.h.

References FArray1D< T, N >::begin(), and FArray1D< T, N >::end().

Here is the call graph for this function:

◆ operator/()

template<class T , int N>
FVector< T, N > operator/ ( const FVector< T, N > &  lhs,
const T &  x 
)

Divide.

Definition at line 213 of file FVector.h.

◆ scaled_norm()

template<class T , int N>
T scaled_norm ( const FArray1D< T, N >  D,
const FVector< T, N > &  V 
)

Euclidean norm of diagonal matrix D times FVector V.

Definition at line 236 of file FVector.h.

References FArray1D< T, N >::size(), sqrt(), sum(), and Attrib::Legacy::Distribution::T.

Here is the call graph for this function: