OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
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.
template<class T, int N>
FVector< T, N > operator- (const FVector< T, N > &, const FVector< T, N > &)
 Subtract.
template<class T, int N>
operator* (const FVector< T, N > &, const FVector< T, N > &)
 Dot product.
template<class T, int N>
FVector< T, N > operator* (const FVector< T, N > &, const T &)
 Multiply.
template<class T, int N>
FVector< T, N > operator/ (const FVector< T, N > &, const T &)
 Divide.
template<class T, int N>
FVector< T, N > operator* (const T &, const FVector< T, N > &)
 Multiply.
template<class T, int N>
euclidean_norm (const FVector< T, N > &)
 Euclidean norm.
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.

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(), and sqrt().

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(), and FArray1D< T, N >::end().

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(), and sum().

Here is the call graph for this function: