CPPLapack
 All Classes Files Functions Variables Friends
Functions
_dgbmatrix-calc.hpp File Reference

Go to the source code of this file.

Functions

_dgbmatrix t (const _dgbmatrix &mat)
_dgematrix i (const _dgbmatrix &mat)

Function Documentation

_dgbmatrix t ( const _dgbmatrix mat) [inline]

return its transposed dgbmatrix

Definition at line 3 of file _dgbmatrix-calc.hpp.

References _(), _dgbmatrix::destroy(), i(), _dgbmatrix::kl, dgbmatrix::kl, dgbmatrix::ku, _dgbmatrix::ku, _dgbmatrix::m, dgbmatrix::m, _dgbmatrix::n, and dgbmatrix::n.

{VERBOSE_REPORT;
  dgbmatrix newmat(mat.n, mat.m, mat.ku, mat.kl);
  
  for(long i=0; i<newmat.m; i++){
    for(long j=std::max(long(0),i-newmat.kl); j<std::min(newmat.n,i+newmat.ku+1); j++){
      newmat(i,j) =mat(j,i);
    }
  }
  
  mat.destroy();
  return _(newmat);
}
_dgematrix i ( const _dgbmatrix mat) [inline]

return its inverse matrix

Definition at line 19 of file _dgbmatrix-calc.hpp.

References _(), dgbmatrix::dgbsv(), dgematrix::identity(), _dgbmatrix::m, dgbmatrix::m, dgbmatrix::n, and _dgbmatrix::n.

Referenced by dgsmatrix::checkup(), zhsmatrix::checkup(), dssmatrix::checkup(), drovector::chsign(), zrovector::chsign(), zcovector::chsign(), dcovector::chsign(), dgematrix_small< m, n >::col(), zgematrix_small< m, n >::col(), dssmatrix::col(), dgsmatrix::col(), zgsmatrix::col(), zhsmatrix::col(), colon(), conj(), conjt(), damax(), zgsmatrix::del(), dgsmatrix::del(), dssmatrix::del(), zhsmatrix::del(), dgematrix::dgeev(), dssmatrix::diag_front(), idamax(), zgsmatrix::isListed(), dgsmatrix::isListed(), nrm2(), zgsmatrix::number(), dgsmatrix::number(), operator%(), _zcovector::operator()(), _zrovector::operator()(), _drovector::operator()(), _dcovector::operator()(), zcovector::operator()(), zrovector::operator()(), _zgsmatrix::operator()(), _dgsmatrix::operator()(), dcovector::operator()(), drovector::operator()(), zgsmatrix::operator()(), dgsmatrix::operator()(), zhsmatrix::operator()(), operator*(), operator*=(), operator+(), zcovector::operator+=(), zrovector::operator+=(), dcovector::operator+=(), drovector::operator+=(), operator+=(), operator-(), zcovector::operator-=(), zrovector::operator-=(), dcovector::operator-=(), drovector::operator-=(), operator-=(), operator/(), operator/=(), operator<<(), zgsmatrix::put(), dgsmatrix::put(), dgematrix_small< m, n >::read(), zgematrix_small< m, n >::read(), dsymatrix_small< n >::read(), zhematrix_small< n >::read(), zcovector::read(), zrovector::read(), drovector::read(), dcovector::read(), zgsmatrix::read(), dgsmatrix::read(), zhsmatrix::read(), dssmatrix::read(), dssmatrix::rebuild(), zgsmatrix::resize(), dgsmatrix::resize(), dssmatrix::resize(), zhsmatrix::resize(), rotate(), dgematrix_small< m, n >::row(), zgematrix_small< m, n >::row(), dssmatrix::row(), zhsmatrix::row(), zgematrix_small< m, n >::set(), dgematrix_small< m, n >::set(), dsymatrix_small< n >::set(), zhematrix_small< n >::set(), zrovector::set(), zcovector::set(), drovector::set(), dcovector::set(), zgsmatrix::stretch(), dgsmatrix::stretch(), dssmatrix::stretch(), zhsmatrix::stretch(), t(), dgematrix_small< m, n >::to_dgematrix(), dsymatrix_small< n >::to_dgematrix_small(), dsymatrix_small< n >::to_dsymatrix(), _dcovector::to_zcovector(), dcovector::to_zcovector(), zgematrix_small< m, n >::to_zgematrix(), zhematrix_small< n >::to_zgematrix_small(), zhematrix_small< n >::to_zhematrix(), _drovector::to_zrovector(), drovector::to_zrovector(), _zcovector::write(), _zrovector::write(), _dcovector::write(), _drovector::write(), dgematrix_small< m, n >::write(), zgematrix_small< m, n >::write(), zhematrix_small< n >::write(), zcovector::write(), zrovector::write(), dsymatrix_small< n >::write(), drovector::write(), dcovector::write(), dsymatrix_small< n >::zero(), zhematrix_small< n >::zero(), zgsmatrix::zero(), dgsmatrix::zero(), dssmatrix::zero(), dcovector::zero(), zhsmatrix::zero(), zrovector::zero(), drovector::zero(), and zcovector::zero().

{VERBOSE_REPORT;
#ifdef  CPPL_DEBUG
  if(mat.m!=mat.n){
    ERROR_REPORT;
    std::cerr << "This matrix is not square and has no inverse matrix." << std::endl
              << "Your input was (" << mat.m << "x" << mat.n << ")." << std::endl;
    exit(1);
  }
#endif//CPPL_DEBUG
  
  dgbmatrix mat_cp(mat);
  dgematrix mat_inv(mat_cp.m,mat_cp.n);
  mat_inv.identity();
  mat_cp.dgbsv(mat_inv);

  return _(mat_inv);
}
 All Classes Files Functions Variables Friends