Алгоритм компактного хранения и решения СЛАУ высокого порядка
| Категория реферата: Рефераты по математике
| Теги реферата: океан реферат, бесплатные банки рефератов
| Добавил(а) на сайт: Bojkov.
Предыдущая страница реферата | 23 24 25 26 27 28 29 30 31 32 33 | Следующая страница реферата
}
bool Get(DWORD Index1,DWORD Index2,double& value)
{
DWORD I = Index1 / Dim,
L = Index1 % Dim,
J = Index2 / Dim,
K = Index2 % Dim,
Pos = Find(I,J),
Row = I,
Col;
value = 0;
if (Pos == DWORD(-1)) return false;
Col = L * Links[I].Size() * Dim + Find(I,J) * Dim + K;
value = Array[Row][Col];
return true;
}
void Mul(RVector&,RVector&);
double Mul(DWORD,RVector&);
void write(ofstream&);
void read(ifstream&);
};
class RMatrix
{
private:
Vector Buffer;
DWORD size;
public:
RMatrix(DWORD sz) { size = sz; Buffer.ReSize(size*(size + 1)*0.5); }
~RMatrix() {}
DWORD Size(void) { return size; }
double& Get(DWORD i,DWORD j) { return Buffer[(2*size + 1 - i)*0.5*i + j - i]; }
};
//************************
#include "smatrix.h"
double Norm(RVector& Left,RVector& Right)
{
double Ret = 0;
for (DWORD i = 0; i < Left.Size(); i++)
Ret += Left[i] * Right[i];
return Ret;
}
void RVector::Sub(RVector& Right)
{
for (DWORD i = 0; i < Size(); i++)
(*this)[i] -= Right[i];
}
void RVector::Add(RVector& Right)
{
for (DWORD i = 0; i < Size(); i++)
(*this)[i] += Right[i];
Рекомендуем скачать другие рефераты по теме: сочинение татьяна, мировая торговля.
Категории:
Предыдущая страница реферата | 23 24 25 26 27 28 29 30 31 32 33 | Следующая страница реферата