Index: tol/btol/bmodel/moddiag.cpp
===================================================================
--- tol/btol/bmodel/moddiag.cpp	(revision 4e555b7b156c95dccfabcef1797b02998170d357)
+++ tol/btol/bmodel/moddiag.cpp	(revision 16571ae5dfc5f9ac4b9c6d4d2a977d9f7222a9c0)
@@ -98,5 +98,5 @@
 //--------------------------------------------------------------------
 {
-  Std(BText("\nTRACE FstRegAutCorTest "));
+//Std(BText("\nTRACE FstRegAutCorTest "));
   BInt m = 1;
   BDat x,y;
@@ -114,5 +114,5 @@
 //--------------------------------------------------------------------
 {
-  Std(BText("\nTRACE FstSeaAutCorTest "));
+//Std(BText("\nTRACE FstSeaAutCorTest "));
   BInt m = periodicity_;
   BDat x,y;
@@ -134,5 +134,5 @@
 //--------------------------------------------------------------------
 {
-  Std(BText("\nTRACE SndRegAutCorTest "));
+//Std(BText("\nTRACE SndRegAutCorTest "));
   BInt m = 2;
   BDat x,y;
@@ -150,5 +150,5 @@
 //--------------------------------------------------------------------
 {
-  Std(BText("\nTRACE SndSeaAutCorTest "));
+//Std(BText("\nTRACE SndSeaAutCorTest "));
   BInt m = 2*periodicity_;
   BDat x,y;
@@ -165,26 +165,21 @@
 
 //--------------------------------------------------------------------
-BInt BModel::RegBoxPierceLjungTest(BInt n)
-
-/*! Runs the test of the Box-Pierce-Ljung statistic of regular
+BInt BModel::BoxPierceLjungTest(BInt n)
+
+/*! Runs the test of the Box-Pierce-Ljung statistic of residuals
  *  autocorrelations
  */
 //--------------------------------------------------------------------
 {
-  Std(BText("\nTRACE RegBoxPierceLjungTest "));
+//Std(BText("\nTRACE BoxPierceLjungTest "));
   BInt  m = aCorNum_;
   BInt  p = arParam_;
   BInt  q = maParam_;
-  Std(BText("\nTRACE RegBoxPierceLjungTest N=")+A_.Data().Size());
-  Std(BText("\nTRACE RegBoxPierceLjungTest m=")+m);
-  Std(BText("\nTRACE RegBoxPierceLjungTest p=")+p);
-  Std(BText("\nTRACE RegBoxPierceLjungTest q=")+q);
-  RegularBoxPierceLjung_ = BoxPierceLjung(A_.Data(), m, p, q);
-  Std(BText("\nTRACE RegBoxPierceLjungTest RegularBoxPierceLjung_=")+RegularBoxPierceLjung_);
+  BoxPierceLjung_ = BoxPierceLjungACF(resACor_.Data(), m, N_);
   BChiSquareDist Chi(m-p-q);
-  diagValue_(n) = RegularBoxPierceLjung_;
-  BDat x =  Chi.Dist(RegularBoxPierceLjung_);
-  Std(BText("\nTRACE RegBoxPierceLjungTest x=")+x);
-//Std(BText("\nRegular Box-Pierce-Ljung = ")+RegularBoxPierceLjung_.Name());
+  diagValue_(n) = BoxPierceLjung_;
+  BDat x =  Chi.Dist(BoxPierceLjung_);
+//Std(BText("\nTRACE BoxPierceLjungTest x=")+x);
+//Std(BText("\nBox-Pierce-Ljung = ")+BoxPierceLjung_.Name());
 //Std(BText("\nProbability    = ")+x.Name());
   return(Qualify(n,x,BTRUE));
@@ -192,41 +187,4 @@
 
 //--------------------------------------------------------------------
-BInt BModel::SeaBoxPierceLjungTest(BInt n)
-
-/*! Runs the test of the Box-Pierce-Ljung statistic of seasonal
- *  autocorrelations
- */
-//--------------------------------------------------------------------
-{
-  Std(BText("\nTRACE SeaBoxPierceLjungTest "));
-  BBool necessary = (periodicity_ > 1) &&
-  (A_.Data().Size()/periodicity_ > 2);
-  BDat x;
-  if(necessary)
-  {
-    int j = arFactors_.Size()-1;
-    BInt  m = aCorNum_/periodicity_;
-    BInt  p = arFactors_[j].Size()-1;
-    BInt  q = maFactors_[j].Size()-1;
-    BArray<BDat> seaRes(N_/periodicity_);
-    for(int i=0; i<seaRes.Size(); i++)
-    {
-      seaRes[i] = A_.Data()[i*periodicity_];
-  //  Std(BText("\nseaRes[")+i+"]="+seaRes[i]);
-    }
-    SeasonalBoxPierceLjung_ = BoxPierceLjung(seaRes, m, p, q);
-    diagValue_(n) = SeasonalBoxPierceLjung_;
-    BChiSquareDist Chi(m-p-q);
-    x = Chi.Dist(SeasonalBoxPierceLjung_);
-  /*
-    Std(BText("\nSeasonal Box-Pierce-Ljung = ")+
-    SeasonalBoxPierceLjung_.Name());
-    Std(BText("\nProbability       = ")+x.Name());
-  */
-  }
-  return(Qualify(n,x,necessary));
-}
-
-//--------------------------------------------------------------------
 BInt BModel::KullbackLeiblerDistanceTest(BInt n)
 
@@ -235,5 +193,5 @@
 //--------------------------------------------------------------------
 {
-  Std(BText("\nTRACE KullbackLeiblerDistanceTest "));
+//Std(BText("\nTRACE KullbackLeiblerDistanceTest "));
   static BReal paso = 0.25;
   static BDat  KullbackLeiblerAvr  = -5.349629861;
@@ -286,5 +244,5 @@
 //--------------------------------------------------------------------
 {
-  Std(BText("\nTRACE FisherDistanceTest "));
+//Std(BText("\nTRACE FisherDistanceTest "));
   BInt numInterv = BInt(Sqrt(N_));
 //Std(BText("\nnumInterv=")+numInterv);
@@ -327,5 +285,5 @@
 //--------------------------------------------------------------------
 {
-  Std(BText("\nTRACE MinSignificationTest "));
+//Std(BText("\nTRACE MinSignificationTest "));
   BTStudentDist T(N_-numParam_);
   BInt i;
@@ -358,5 +316,5 @@
 //--------------------------------------------------------------------
 {
-  Std(BText("\nTRACE MaxCorrelationTest "));
+//Std(BText("\nTRACE MaxCorrelationTest "));
   BInt  N = paramCor_.Rows();
   if(!N || !paramCor_.Columns())
@@ -384,40 +342,30 @@
 BInt BModel::MixedSignCorrTest(BInt n)
 
-/*! Runs the test of mixed signification and correlation of parameters
- */
-//--------------------------------------------------------------------
-{
-  Std(BText("\nTRACE MixedSignCorrTest "));
+/*! Runs the test of multicolinearity based on minimum significating 
+ *  combination of parameters using eigenvector of minimum eigenvalue 
+ *  of Jacobian.
+ *   
+ */
+//--------------------------------------------------------------------
+{
+//Std(BText("\nTRACE MixedSignCorrTest "));
   BTStudentDist T(N_-numParam_);
-  BBool necessary = (diagQualify_[7] != BDIAGREFUSE) &&
-                    (diagQualify_[8] != BDIAGREFUSE);
-  BDat maxMixed = 0;
-  if(necessary)
-  {
-    if(!paramCor_.Rows() || !paramCor_.Columns())
-    {
-      diagValue_(n) = BDat::Unknown();
-      return(Qualify(n,1,BTRUE));
-    }
-    for(BInt i=0; i<paramCor_.Rows(); i++)
-    {
-      BDat  corr=0;
-      for(BInt j=0; j<paramCor_.Rows(); j++)
-      {
-        if(i!=j)
-        {
-          BDat c = Abs(paramCor_(i,j));
-          if(corr < c) { corr = c; }
-        }
-      }
-      BDat sign   = 2*(1-T.Dist(Abs(param_[i]/paramSD_[i])));
-      BDat mixed = Sqrt(Abs(sign*corr));
-      if(maxMixed<mixed) { maxMixed = mixed; }
-    }
-    diagValue_(n) = maxMixed;
-//  Std(BText("\nMaximum mixed correlation-signification = ")+
-//  maxMixed.Name());
-  }
-  return(Qualify(n,maxMixed,necessary));
+  BBool necessary = true;
+  if(!numParam_ || (D_.Rows()!=numParam_)||(D_.Columns()!=numParam_))
+  {
+    diagValue_(n) = BDat::Unknown();
+    return(Qualify(n,1,BTRUE));
+  }
+  BDat c = 0;
+  int i;
+  for(i=0;i<numParam_;i++)
+  {
+    c+=param_[i]*V_(i,numParam_-1);
+  }
+  BDat d = D_(numParam_-1,numParam_-1);
+  BDat t = d*c/standardError_;
+  diagValue_(n) = t;
+  BDat refuseProb = 2*(1-T.Dist(Abs(t))); 
+  return(Qualify(n,refuseProb,BTRUE));
 }
 
@@ -431,5 +379,5 @@
 //--------------------------------------------------------------------
 {
-  Std(BText("\nTRACE UnitRootsProbTest "));
+//Std(BText("\nTRACE UnitRootsProbTest "));
   BDat x = 0;
   BInt num = arParam_+maParam_;
@@ -490,5 +438,5 @@
       {
         for(k=1; k<factors[j].Size(); k++,i++)
-        { factors[j][k].PutCoef(-simula(0,i)); }
+        { factors[j][k].PutCoef(-simula(i,0)); }
         if(!(IsStationary(factors[j]))) { unarys[j]+=1; }
       }
@@ -523,15 +471,14 @@
   switch(n)
   {
-    case  0 : return(FstRegAutCorTest     (n));
-    case  1 : return(FstSeaAutCorTest     (n));
-    case  2 : return(SndRegAutCorTest     (n));
-    case  3 : return(SndSeaAutCorTest     (n));
-    case  4 : return(RegBoxPierceLjungTest     (n));
-    case  5 : return(SeaBoxPierceLjungTest     (n));
-    case  6 : return(FisherDistanceTest     (n));
-    case  7 : return(MinSignificationTest      (n));
-    case  8 : return(MaxCorrelationTest     (n));
-    case  9 : return(MixedSignCorrTest     (n));
-    case 10 : return(UnitRootsProbTest     (n));
+    case  0 : return(FstRegAutCorTest      (n));
+    case  1 : return(FstSeaAutCorTest      (n));
+    case  2 : return(SndRegAutCorTest      (n));
+    case  3 : return(SndSeaAutCorTest      (n));
+    case  4 : return(BoxPierceLjungTest    (n));
+    case  5 : return(FisherDistanceTest    (n));
+    case  6 : return(MinSignificationTest  (n));
+    case  7 : return(MaxCorrelationTest    (n));
+    case  8 : return(MixedSignCorrTest     (n));
+    case  9 : return(UnitRootsProbTest     (n));
     default : return(-1);
   }
@@ -568,7 +515,31 @@
   qualification_ = 0;
   arithmeticQualification_ = 0;
-  for(BInt n = 0; n<testTitle_.Size(); n++)
-  {
-    BSet& s = Set(set[n+1]);
+  int n=0, m=1;
+  for(; n<testTitle_.Size(); n++, m++)
+  {
+    BSet& s = Set(set[m]);
+    BText name = set[m]->Name();
+    if(name=="RegBoxPierceLjungBounds")
+    {
+      name = "PierceLjungBounds";
+    }
+    else if(name=="SeaBoxPierceLjungBounds")
+    {
+      m++;
+      s = Set(set[m]);
+      name = set[m]->Name();
+      continue;
+    }
+    if(name!=testName_[n])
+    {
+      Error(I2("Error in name of","Error en el nombre del")+
+            " "+(n+1)+"-"+
+            I2("th element of","ésimo elemento de")+ 
+            " Set DiagnosticsBounds "+
+            I2("that would be","que debería ser")+
+            " '"+testName_[n]+"' "+
+            I2("instead of","en lugar de")+
+            " '"+name+"'."   );
+    }
     diagValue_  (n) = BDat::Unknown();
     diagPunct_  (n) = 0;
Index: tol/btol/bmodel/model.cpp
===================================================================
--- tol/btol/bmodel/model.cpp	(revision 4e555b7b156c95dccfabcef1797b02998170d357)
+++ tol/btol/bmodel/model.cpp	(revision 16571ae5dfc5f9ac4b9c6d4d2a977d9f7222a9c0)
@@ -55,4 +55,5 @@
 
 BArray<BText> BModel::qualifTitle_;
+BArray<BText> BModel::testName_;
 BArray<BText> BModel::testTitle_;
 
@@ -134,5 +135,19 @@
     BModel::qualifTitle_[3] = I2("REFUSED",	"RECHAZADO");
 
-    BModel::testTitle_.ReallocBuffer(11);
+
+    BModel::testName_.ReallocBuffer(10);
+    BModel::testName_[ 0] = "FstRegAutCorBounds";
+    BModel::testName_[ 1] = "FstSeaAutCorBounds";
+    BModel::testName_[ 2] = "SndRegAutCorBounds";
+    BModel::testName_[ 3] = "SndSeaAutCorBounds";
+    BModel::testName_[ 4] = "BoxPierceLjungBounds";
+    BModel::testName_[ 5] = "FisherBounds";
+    BModel::testName_[ 6] = "MinSignificationBounds";
+    BModel::testName_[ 7] = "MaxCorrelationBounds";
+    BModel::testName_[ 8] = "MixedSignCorrBounds";
+    BModel::testName_[ 9] = "UnitRootsProbBounds";
+
+
+    BModel::testTitle_.ReallocBuffer(10);
     BModel::testTitle_[ 0] = I2("First Regular AutoCorrelation",
 				"Primera Autocorrelacion Regular");
@@ -143,17 +158,15 @@
     BModel::testTitle_[ 3] = I2("Second Seasonal AutoCorrelation",
 				"Segunda Autocorrelación Estacional");
-    BModel::testTitle_[ 4] = I2("Regular Box-Pierce-Ljung's statistic",
-				"Estadístico de Box-Pierce-Ljung Regular");
-    BModel::testTitle_[ 5] = I2("Seasonal Box-Pierce-Ljung's statistic",
-				"Estadístico de Box-Pierce-Ljung Estacional");
-    BModel::testTitle_[ 6] = I2("Fisher's Distance to Normal",
+    BModel::testTitle_[ 4] = I2("Box-Pierce-Ljung's statistic",
+				"Estadístico de Box-Pierce-Ljung");
+    BModel::testTitle_[ 5] = I2("Fisher's Distance to Normal",
 				  "Distancia a la normal de Fisher");
-    BModel::testTitle_[ 7] = I2("Minimum Signification of Parameters",
+    BModel::testTitle_[ 6] = I2("Minimum Signification of Parameters",
 				"Mínima Significación de los Parámetros");
-    BModel::testTitle_[ 8] = I2("Maximum Correlation of Parameters",
+    BModel::testTitle_[ 7] = I2("Maximum Correlation of Parameters",
 				"Máxima Correlación de los Parámetros");
-    BModel::testTitle_[ 9] = I2("Mixed Signification and Correlation",
-				"Combinacion de Significación y Correlación");
-    BModel::testTitle_[10] = I2("Probabilty of Unary Roots",
+    BModel::testTitle_[ 8] = I2("Test of multicolinearity",
+				"Test de multicolinealidad");
+    BModel::testTitle_[ 9] = I2("Probabilty of Unary Roots",
 				"Probabilidad de Raíces Unitarias");
     isInitialized = BTRUE;
Index: tol/btol/bmodel/tol_bmodel.h
===================================================================
--- tol/btol/bmodel/tol_bmodel.h	(revision 4e555b7b156c95dccfabcef1797b02998170d357)
+++ tol/btol/bmodel/tol_bmodel.h	(revision 16571ae5dfc5f9ac4b9c6d4d2a977d9f7222a9c0)
@@ -70,4 +70,5 @@
 {
 public: //member data
+  static BArray<BText> testName_;
   static BArray<BText> testTitle_;
   static BArray<BText> qualifTitle_;
@@ -190,6 +191,5 @@
   BDat		  varianze_;
   BDat		  SwartzInfo_;
-  BDat		  RegularBoxPierceLjung_;
-  BDat		  SeasonalBoxPierceLjung_;
+  BDat		  BoxPierceLjung_;
   
   BDat    maxLikelihoodCoef_;
@@ -296,6 +296,5 @@
   BInt SndRegAutCorTest		   (BInt n);
   BInt SndSeaAutCorTest		   (BInt n);
-  BInt RegBoxPierceLjungTest	   (BInt n);
-  BInt SeaBoxPierceLjungTest	   (BInt n);
+  BInt BoxPierceLjungTest	   (BInt n);
   BInt KullbackLeiblerDistanceTest (BInt n);
   BInt FisherDistanceTest	   (BInt n);
