#include <BigMatrix.h>
Public Member Functions | |
void | Add (const LargeVectorAttach &A, long start_index, long length) |
void | Add (const LargeVectorAttach &A) |
void | AddMult (double alfa, const LargeVectorAttach &B) |
void | AddSmaler (const LargeVectorAttach &A) |
double * | DataPtr () const |
void | DiagonalSolve (double *b, double *x) |
void | GetPermuted_1Vector (LargeVectorAttach *outV, long *perm) const |
void | GetPermuted_1Vector (LargeVectorAttach *outV, IntArrayList &perm, long bn) const |
LargeVectorAttach | GetPermuted_1Vector (long *perm) const |
void | GetPermutedVector (LargeVectorAttach *outV, long *perm) const |
void | GetPermutedVector (LargeVectorAttach *outV, IntArrayList &perm, long bn) const |
LargeVectorAttach | GetPermutedVector (long *perm) const |
void | Grow (long addN) |
void | Init (long N) |
void | Initialize () |
void | Initialize (double val) |
void | Initialize (long start_index, long length) |
void | Initialize (const LargeVectorAttach &A, long start_index, long length) |
void | Initialize (const LargeVectorAttach &A) |
LargeVectorAttach (long N, double *data) | |
LargeVectorAttach () | |
void | LinComb (LargeVectorAttach &A) |
void | LinComb (double alfa, LargeVectorAttach &A) |
void | LinComb (double alfa, LargeVectorAttach &A, LargeVectorAttach &B) |
void | LinComb (double alfa, LargeVectorAttach &A, double beta, LargeVectorAttach &B) |
void | LoadBinary (FILE *stream) |
void | Mult (double &alfa) |
long | N () const |
double | Norm () |
double | NormSqr () |
double & | operator[] (long i) |
double | operator[] (long i) const |
~LargeVectorAttach () | |
Static Public Member Functions | |
static void | AddMul (double *A, const double alfa, const double *B, int n) |
static double | InnerProduct (double *dp1, double *dp2, int len) |
static void | Zero (double *dp1, int len) |
Protected Attributes | |
double * | data |
long | n |
Definition at line 58 of file BigMatrix.h.
Definition at line 8 of file BigMatrix.cpp.
LargeVectorAttach | ( | long | N, | |
double * | data | |||
) |
Definition at line 14 of file BigMatrix.cpp.
References n.
~LargeVectorAttach | ( | ) |
Definition at line 20 of file BigMatrix.cpp.
void Add | ( | const LargeVectorAttach & | A, | |
long | start_index, | |||
long | length | |||
) |
Definition at line 103 of file BigMatrix.cpp.
References data.
void Add | ( | const LargeVectorAttach & | A | ) |
Definition at line 97 of file BigMatrix.cpp.
void AddMul | ( | double * | A, | |
const double | alfa, | |||
const double * | B, | |||
int | n | |||
) | [static] |
Definition at line 277 of file BigMatrix.cpp.
void AddMult | ( | double | alfa, | |
const LargeVectorAttach & | B | |||
) |
Definition at line 121 of file BigMatrix.cpp.
References data, DataPtr(), and n.
Referenced by DSSolver::CG(), and DSSolver::PreCG().
void AddSmaler | ( | const LargeVectorAttach & | A | ) |
Definition at line 109 of file BigMatrix.cpp.
double* DataPtr | ( | ) | const [inline] |
Definition at line 66 of file BigMatrix.h.
References data.
Referenced by AddMult(), DSSolver::CG(), DSSolver::GetFactorizationError(), LargeVector::LargeVector(), SparseGridMtxLDL::MultiplyByVector(), DSSolver::PreCG(), DSSolver::SetMatrixPattern(), SparseGridMtxLDL::SolveLDL_block_perm(), SparseGridMtxLU::SolveLV(), and SparseGridMtxLL::SolveLV().
void DiagonalSolve | ( | double * | b, | |
double * | x | |||
) |
Definition at line 244 of file BigMatrix.cpp.
Referenced by DSSolver::Solve().
void GetPermuted_1Vector | ( | LargeVectorAttach * | outV, | |
long * | perm | |||
) | const |
Definition at line 64 of file BigMatrix.cpp.
void GetPermuted_1Vector | ( | LargeVectorAttach * | outV, | |
IntArrayList & | perm, | |||
long | bn | |||
) | const |
Definition at line 48 of file BigMatrix.cpp.
References IntArrayList::Count, data, and n.
LargeVectorAttach GetPermuted_1Vector | ( | long * | perm | ) | const |
Definition at line 32 of file BigMatrix.cpp.
Referenced by SparseGridMtxLDL::SolveLDL_node_perm().
void GetPermutedVector | ( | LargeVectorAttach * | outV, | |
long * | perm | |||
) | const |
Definition at line 56 of file BigMatrix.cpp.
void GetPermutedVector | ( | LargeVectorAttach * | outV, | |
IntArrayList & | perm, | |||
long | bn | |||
) | const |
Definition at line 40 of file BigMatrix.cpp.
References IntArrayList::Count, data, and N().
LargeVectorAttach GetPermutedVector | ( | long * | perm | ) | const |
Definition at line 24 of file BigMatrix.cpp.
Referenced by SparseGridMtxLDL::SolveLDL_node_perm().
void Grow | ( | long | addN | ) |
Definition at line 79 of file BigMatrix.cpp.
References Array::Copy(), data, and n.
void Init | ( | long | N | ) |
Definition at line 72 of file BigMatrix.cpp.
Referenced by DSSolver::SetMatrixPattern().
void Initialize | ( | ) |
Definition at line 226 of file BigMatrix.cpp.
References Array::Clear(), data, and n.
void Initialize | ( | double | val | ) |
Definition at line 220 of file BigMatrix.cpp.
void Initialize | ( | long | start_index, | |
long | length | |||
) |
Definition at line 215 of file BigMatrix.cpp.
References Array::Clear(), and data.
void Initialize | ( | const LargeVectorAttach & | A, | |
long | start_index, | |||
long | length | |||
) |
Definition at line 210 of file BigMatrix.cpp.
References Array::Copy(), and data.
void Initialize | ( | const LargeVectorAttach & | A | ) |
Definition at line 205 of file BigMatrix.cpp.
References Array::Copy(), data, and n.
Referenced by SparseGridMtxLDL::MultiplyByVector(), SparseGridMtxLU::SolveLV(), and SparseGridMtxLL::SolveLV().
double InnerProduct | ( | double * | dp1, | |
double * | dp2, | |||
int | len | |||
) | [static] |
Definition at line 250 of file BigMatrix.cpp.
Referenced by DSSolver::CG(), DSSolver::GetFactorizationError(), and DSSolver::PreCG().
void LinComb | ( | LargeVectorAttach & | A | ) |
Definition at line 199 of file BigMatrix.cpp.
void LinComb | ( | double | alfa, | |
LargeVectorAttach & | A | |||
) |
Definition at line 193 of file BigMatrix.cpp.
void LinComb | ( | double | alfa, | |
LargeVectorAttach & | A, | |||
LargeVectorAttach & | B | |||
) |
Definition at line 160 of file BigMatrix.cpp.
void LinComb | ( | double | alfa, | |
LargeVectorAttach & | A, | |||
double | beta, | |||
LargeVectorAttach & | B | |||
) |
Definition at line 154 of file BigMatrix.cpp.
Referenced by DSSolver::CG(), DSSolver::GetFactorizationError(), and DSSolver::PreCG().
void LoadBinary | ( | FILE * | stream | ) |
Definition at line 283 of file BigMatrix.cpp.
void Mult | ( | double & | alfa | ) |
Definition at line 115 of file BigMatrix.cpp.
long N | ( | ) | const [inline] |
Definition at line 65 of file BigMatrix.h.
References n.
Referenced by AddSmaler(), GetPermutedVector(), LargeVector::LargeVector(), and DSSolver::Solve().
double Norm | ( | ) |
Definition at line 231 of file BigMatrix.cpp.
References NormSqr().
double NormSqr | ( | ) |
double& operator[] | ( | long | i | ) | [inline] |
Definition at line 87 of file BigMatrix.h.
References data.
double operator[] | ( | long | i | ) | const [inline] |
Definition at line 82 of file BigMatrix.h.
References data.
void Zero | ( | double * | dp1, | |
int | len | |||
) | [static] |
Definition at line 293 of file BigMatrix.cpp.
References memset().
Referenced by LargeVector::LargeVector().
double* data [protected] |
Definition at line 62 of file BigMatrix.h.
Referenced by Add(), AddMult(), AddSmaler(), DataPtr(), LargeVector::Detach(), DiagonalSolve(), GetPermuted_1Vector(), GetPermutedVector(), Grow(), Init(), Initialize(), LargeVector::LargeVector(), LargeVectorAttach(), LinComb(), LoadBinary(), Mult(), NormSqr(), operator[](), and LargeVector::~LargeVector().
long n [protected] |
Definition at line 61 of file BigMatrix.h.
Referenced by Add(), AddMult(), DiagonalSolve(), GetPermuted_1Vector(), GetPermutedVector(), Grow(), Init(), Initialize(), LargeVector::LargeVector(), LargeVectorAttach(), LinComb(), LoadBinary(), Mult(), N(), and NormSqr().