escript  Revision_
Namespaces | Defines | Functions
LocalOps.h File Reference

Describes binary operations performed on double*. More...

#include <cmath>

Go to the source code of this file.

Namespaces

namespace  escript

Defines

#define M_PI   3.14159265358979323846 /* pi */

Functions

bool escript::nancheck (double d)
 acts as a wrapper to isnan.
double escript::makeNaN ()
 returns a NaN.
void escript::eigenvalues1 (const double A00, double *ev0)
 solves a 1x1 eigenvalue A*V=ev*V problem
void escript::eigenvalues2 (const double A00, const double A01, const double A11, double *ev0, double *ev1)
 solves a 2x2 eigenvalue A*V=ev*V problem for symmetric A
void escript::eigenvalues3 (const double A00, const double A01, const double A02, const double A11, const double A12, const double A22, double *ev0, double *ev1, double *ev2)
 solves a 3x3 eigenvalue A*V=ev*V problem for symmetric A
void escript::eigenvalues_and_eigenvectors1 (const double A00, double *ev0, double *V00, const double tol)
 solves a 1x1 eigenvalue A*V=ev*V problem for symmetric A
void escript::vectorInKernel2 (const double A00, const double A10, const double A01, const double A11, double *V0, double *V1)
 returns a non-zero vector in the kernel of [[A00,A01],[A01,A11]] assuming that the kernel dimension is at least 1.
void escript::vectorInKernel3__nonZeroA00 (const double A00, const double A10, const double A20, const double A01, const double A11, const double A21, const double A02, const double A12, const double A22, double *V0, double *V1, double *V2)
 returns a non-zero vector in the kernel of [[A00,A01,A02],[A10,A11,A12],[A20,A21,A22]] assuming that the kernel dimension is at least 1 and A00 is non zero.
void escript::eigenvalues_and_eigenvectors2 (const double A00, const double A01, const double A11, double *ev0, double *ev1, double *V00, double *V10, double *V01, double *V11, const double tol)
 solves a 2x2 eigenvalue A*V=ev*V problem for symmetric A. Eigenvectors are ordered by increasing value and eigen vectors are normalizeVector3d such that length is zero and first non-zero component is positive.
void escript::normalizeVector3 (double *V0, double *V1, double *V2)
 nomalizes a 3-d vector such that length is one and first non-zero component is positive.
void escript::eigenvalues_and_eigenvectors3 (const double A00, const double A01, const double A02, const double A11, const double A12, const double A22, double *ev0, double *ev1, double *ev2, double *V00, double *V10, double *V20, double *V01, double *V11, double *V21, double *V02, double *V12, double *V22, const double tol)
 solves a 2x2 eigenvalue A*V=ev*V problem for symmetric A. Eigenvectors are ordered by increasing value and eigen vectors are normalizeVector3d such that length is zero and first non-zero component is positive.
void escript::matrix_matrix_product (const int SL, const int SM, const int SR, const double *A, const double *B, double *C, int transpose)
template<typename UnaryFunction >
void escript::tensor_unary_operation (const int size, const double *arg1, double *argRes, UnaryFunction operation)
template<typename BinaryFunction >
void escript::tensor_binary_operation (const int size, const double *arg1, const double *arg2, double *argRes, BinaryFunction operation)
template<typename BinaryFunction >
void escript::tensor_binary_operation (const int size, double arg1, const double *arg2, double *argRes, BinaryFunction operation)
template<typename BinaryFunction >
void escript::tensor_binary_operation (const int size, const double *arg1, double arg2, double *argRes, BinaryFunction operation)

Detailed Description

Describes binary operations performed on double*.

For operations on DataAbstract see BinaryOp.h. For operations on DataVector see DataMaths.h.


Define Documentation

#define M_PI   3.14159265358979323846 /* pi */

Referenced by escript::eigenvalues3().