Реферат: Разработка библиотечных средств

{

if (q>0)

{

for(Matrix M=*this; q>1; q--)

M=M*(*this);

return M;

}

if (q!=-1) ERROR_MATRIX(3);

// вычисление обратной метoдом преобразований Гаусса

if (n!=m) ERROR_MATRIX(4);

Matrix M(m,2*n);

M.insert(*this);

for(int i=0;i<M.m;i++)

M(i,i+M.m)=1;

for(i=0;i<M.m;i++)

M.Gauss(i,i);

return M.extract(M.m,M.m,0,M.m);

}

template <class VARTYPE>

Matrix<VARTYPE> Matrix<VARTYPE>::operator!() // Транспозиция

{ Matrix<VARTYPE> A(n,m);

for(int i=0, j; i<m; i++)

for(j=0; j<n; j++)

A(j,i)=(*this)(i,j);

return A;

}

template <class VARTYPE>

VARTYPE Matrix<VARTYPE>::determ() // рекурсивно находит определитель матрицы

{

К-во Просмотров: 638
Бесплатно скачать Реферат: Разработка библиотечных средств