Changeset eca8d89 in tol


Ignore:
Timestamp:
Jan 25, 2009, 6:47:18 PM (18 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
f14db26
Parents:
8b75c1f2
Message:

New methods SquaresdSum, EuclideanNorm, FrobeniusNorm

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@474 be4846ae-f051-483a-831f-b64e7d08527f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tol/btol/vmatrix_type/vmat_stats.cpp

    r8b75c1f2 reca8d89  
    223223  if(!CheckDefined("VMatStDs")) { return(BDat::Nan()); }
    224224  return(sqrt(Var()));
     225}
     226
     227////////////////////////////////////////////////////////////////////////////////
     228double BVMat::FrobeniusNorm() const
     229////////////////////////////////////////////////////////////////////////////////
     230{
     231  if(!CheckDefined("VMatFrobeniusNorm")) { return(BDat::Nan()); }
     232  return(sqrt(Moment(2)));
     233}
     234
     235////////////////////////////////////////////////////////////////////////////////
     236double BVMat::SquaresdSum() const
     237////////////////////////////////////////////////////////////////////////////////
     238{
     239  if(!CheckDefined("VMatSquaresdSum")) { return(BDat::Nan()); }
     240  int k,nzmax;
     241  int size = Rows()*Columns();
     242  int n = size;
     243  const double *x;
     244  if(!StoredData(x, nzmax)) { return(0.0); }
     245  double result = 0;
     246  for(k=0; k<nzmax; k++)
     247  {
     248    if(!IS_NAN(x[k]))
     249    {
     250      result += x[k]*x[k];
     251    }
     252    else
     253    {
     254      n--;
     255    }
     256  }
     257  return(result);
     258}
     259////////////////////////////////////////////////////////////////////////////////
     260double BVMat::EuclideanNorm() const
     261////////////////////////////////////////////////////////////////////////////////
     262{
     263  if(!CheckDefined("VMatEuclideanNorm")) { return(BDat::Nan()); }
     264  return(sqrt(SquaresdSum()));
    225265}
    226266
Note: See TracChangeset for help on using the changeset viewer.