00001
00002
00003 #include "SkyLineMtxLDL.h"
00004
00005 DSS_NAMESPASE_BEGIN
00006
00007
00008
00009 SkyLineMtxLDL::SkyLineMtxLDL(SparseMatrixF& sm,Ordering* order,MathTracer* eMT):SkyLineMtx(sm,order,eMT)
00010 {
00011 nonzeros = 0;
00012 this->eMT = eMT;
00013 this->order = order;
00014 }
00015
00016 void SkyLineMtxLDL::LoadZeros()
00017 {
00018 }
00019
00020 void SkyLineMtxLDL::Solve(double* b, double* x)
00021 {
00022 UNREFERENCED_PARAMETER(b)
00023 UNREFERENCED_PARAMETER(x)
00024 }
00025
00026 double dummy = 0;
00027 double& SkyLineMtxLDL::ElementAt(int i, int j)
00028 {
00029 return dummy;
00030 }
00031
00032 void SkyLineMtxLDL::LoadMatrixData(SparseMatrixF& sm)
00033 {
00034 long* nodeP = this->order?order->perm->Items:NULL;
00035
00036
00037 for (ULONG j=0; j<sm.neq; j++)
00038 {
00039 long nj = (nodeP==NULL)?j:nodeP[j];
00040 int col_start = column_starts[nj]+nj-1;
00041
00042 for (ULONG ad = sm.Adr(j); ad<sm.Adr(j+1); ad++)
00043 {
00044 long i = (long)sm.Ci(ad);
00045 long ni = (nodeP==NULL)?i:nodeP[i];
00046 double val = sm.a[ad];
00047
00048 if (ni<nj)
00049 columndata[col_start-ni] = val;
00050 else if (ni==nj)
00051 D[ni] = val;
00052 }
00053 }
00054 }
00055
00056
00057 SkyLineMtxLDL::~SkyLineMtxLDL()
00058 {
00059 }
00060
00061 void SkyLineMtxLDL::LoadMatrixNumbers(SparseMatrixF& sm)
00062 {
00063 }
00064 void SkyLineMtxLDL::SolveLV(const LargeVector& b, LargeVector& x)
00065 {
00066 }
00067 void SkyLineMtxLDL::Factorize()
00068 {
00069 }
00070 void SkyLineMtxLDL::MultiplyByVector(const LargeVectorAttach& x, LargeVectorAttach& y)
00071 {
00072 }
00073
00074 void SkyLineMtxLDL::SchurComplementFactorization(int fixed_blocks)
00075 {
00076 }
00077
00078 void SkyLineMtxLDL::SolveA11(double* x,long fixed_blocks)
00079 {
00080 }
00081
00082 void SkyLineMtxLDL::Sub_A21_A11inv(double* x,long fixed_blocks)
00083 {
00084 }
00085
00086 void SkyLineMtxLDL::Sub_A11inv_A12(double* x,long fixed_blocks)
00087 {
00088 }
00089 void SkyLineMtxLDL::WriteCondensedMatrixA22(double* a,Ordering* mcn,IntArrayList* lncn)
00090 {
00091 }
00092
00093 DSS_NAMESPASE_END