Changeset e1969fb in tol


Ignore:
Timestamp:
Oct 9, 2014, 3:29:19 PM (12 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
e019cec
Parents:
b6035f3
Message:

refs #1795
Forgotten local changes

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

Files:
8 edited

Legend:

Unmodified
Added
Removed
  • tol/bmath/bfunct/fib.cpp

    rb6035f3 re1969fb  
    116116BDat BFibonacci::Minimum( BRRFunction* function,
    117117                          BDat& minimumValue,
    118                           BDat ini, BDat fin ,
    119                           BDat tol)
     118                          BDat ini, BDat fin,
     119                          BDat tol, int maxEval)
    120120   
    121121/*! Returns the minimum of fibonacci of function in the
    … …  
    141141  Generate(fib, length);
    142142  BInt N = fib.Size()-1;
     143  if((maxEval>0)&&(maxEval<N+1)) { N = maxEval-1; }
    143144  incerInf = ini;
    144145  incerSup = fin;
    … …  
    247248                        BDat value,
    248249                        BDat ini, BDat fin ,
    249                         BDat tol)
     250                        BDat tol, int maxEval)
    250251   
    251252/*! Returns the minimum of fibonacci of function in the
    … …  
    274275  Generate(fib, (fin-ini)/(tol/2));
    275276  BInt n, N = fib.Size()-1;
     277  if((maxEval>0)&&(maxEval<N+1)) { N = maxEval-1; }
    276278//Std(BText("Fibonacci(")+N+")");
    277279  incerInf = ini;
  • tol/bmath/bfunct/tol_bfibonac.h

    rb6035f3 re1969fb  
    5353                        BDat& minimumValue,
    5454                        BDat ini, BDat fin,
    55                         BDat tolerance=1);
     55                        BDat tolerance=1, int maxEval=-1);
    5656
    5757         static BDat Solve( BRRFunction* funcion,
    5858                      BDat value,
    5959                      BDat ini, BDat fin,
    60                       BDat tolerance=1);
     60                      BDat tolerance=1, int maxEval=-1);
    6161
    6262         static BInt Number(BInt n);
  • tol/btol/matrix_type/matgra.cpp

    rb6035f3 re1969fb  
    46354635    contens_(i,0)=i+1;
    46364636    contens_(i,1)=c(i);
     4637    contens_(i,2)=sigma;
     4638  }
     4639}
     4640
     4641//--------------------------------------------------------------------
     4642DeclareContensClass(BMat, BMatTemporary, BMatMatPartAutoCor);
     4643DefExtOpr(1, BMatMatPartAutoCor,   "MatPartAutoCor", 2, 2, "Matrix Real",
     4644  "(Matrix M, Real n)",
     4645  I2("Returns the sample partial autocorrelations vector of dimension n of a vector.",
     4646     "Devuelve el vector de autocorrelaciones parciales muestrales de dimension n de "
     4647     "un vector."),
     4648    BOperClassify::Statistic_);
     4649//--------------------------------------------------------------------
     4650void BMatMatPartAutoCor::CalcContens()
     4651//--------------------------------------------------------------------
     4652{
     4653  const BMat& M = Mat(Arg(1));
     4654  BInt  order = (BInt)Real(Arg(2));
     4655  contens_.Alloc(order,3);
     4656  if(contens_.Rows()!=order) { return; }
     4657  BDat sigma = 1/Sqrt(M.Data().Size());
     4658  BArray<BDat> acf(order), pacf;
     4659  AutoCor(M.Data(), acf, order, 1);
     4660  PartAutoCor(acf, pacf);
     4661  for(BInt i=0; i<order; i++)
     4662  {
     4663    contens_(i,0)=i+1;
     4664    contens_(i,1)=acf(i);
    46374665    contens_(i,2)=sigma;
    46384666  }
  • tol/btol/polmat_type/polmatgra.cpp

    rb6035f3 re1969fb  
    3434#include <tol/tol_blanguag.h>
    3535#include <tol/tol_bar.h>
     36#include <tol/tol_barma.h>
    3637
    3738
    … …  
    133134}
    134135
     136void Backward(const BPolyn  <BDat>& P,
     137              const BMatrix <BDat>& X0,
     138                    const BMatrix <BDat>& X,
     139                          BMatrix <BDat>& Y);
     140                         
    135141//--------------------------------------------------------------------
    136142bool ApplyMatPol(const BPolMat& P, const BMat& X, BMat& Y)
    137143//--------------------------------------------------------------------
    138144{
    139   int i,j,t,h,r=P.Rows(), c = P.Columns(), T = X.Rows();
     145  int i,j,t,r=P.Rows(), c = P.Columns(), T = X.Rows();
    140146  if(X.Columns()!=c) { return(false); }
    141   BArray< BArray<BDat> > x(c);
    142   for(j=0; j<c; j++)
    143   {
    144     x(j) = X.SubCol(j).Data();
    145   }
    146147  int d = Degree(P);
    147148  int Td = T-d;
    148   Y.Alloc(Td,r);
    149   Y.SetAllValuesTo(0.0);
    150  
     149  Y.Alloc(Td,r);
    151150  for(i=0; i<r; i++)
    152151  {
    153     for(j=0; j<c; j++)
    154     {
    155       BArray<BDat> z;
    156       const BArray<BDat>& xj = x(j);     
    157       ApplyPolyn(P(i,j),xj,z);
    158       for(t=Td-1,h=z.Size()-1; t>=0; t--, h--)
    159       {
    160         Y(t,i) += z(h);
    161       }
     152    for(t=0; t<Td; t++)
     153    {
     154      BDat y = 0;
     155      for(j=0; j<c; j++)
     156      {
     157        for(int h=0; h<P(i,j).Size(); h++)
     158        {
     159          int k = P(i,j)[h].Degree();
     160          BDat g = P(i,j)[h].Coef();
     161          y+=X(t+d-k,j)*g;
     162        } 
     163      }
     164      Y(t,i) = y;
    162165    }
    163166  }
  • tol/btol/real_type/datgrav.cpp

    rb6035f3 re1969fb  
    16371637//--------------------------------------------------------------------
    16381638  DeclareContensClass(BDat, BDatTemporary, BDatFibonacciSolve);
    1639   DefExtOpr(1, BDatFibonacciSolve, "FibonacciSolve", 5, 5,
    1640   "Code Real Real Real Real",
    1641   "(Code f, Real y, Real min, Real max, Real tolerance)",
     1639  DefExtOpr(1, BDatFibonacciSolve, "FibonacciSolve", 5, 6,
     1640  "Code Real Real Real Real Real",
     1641  "(Code f, Real y, Real a, Real b, Real tolerance [, Real maxEval])",
    16421642  I2("Solves the equation f(x) = y using the Fibonacci method between min "
    16431643     "and max with the given tolerance.",
    … …  
    16531653  BDat    max  = Dat (Arg(4));
    16541654  BDat    tol  = Dat (Arg(5));
     1655  int maxEval = -1;
     1656  if(Arg(6)) { maxEval = (int)Real(Arg(6)); }
    16551657  if(min>max)
    16561658  {
    … …  
    16681670  {
    16691671    BRRCode f(code);
    1670     contens_ = BFibonacci::Solve(&f,y,min,max,tol);
    1671   }
    1672 }
     1672    contens_ = BFibonacci::Solve(&f,y,min,max,tol,maxEval);
     1673  }
     1674}
     1675
    16731676
    16741677//--------------------------------------------------------------------
    16751678  DeclareContensClass(BDat, BDatTemporary, BDatFibonacciMin);
    1676   DefExtOpr(1, BDatFibonacciMin, "FibonacciMin", 5, 5,
    1677   "Code Real Real Real Real",
    1678   "(Code f, Real y, Real a, Real b, Real tolerance)",
     1679  DefExtOpr(1, BDatFibonacciMin, "FibonacciMin", 5, 6,
     1680  "Code Real Real Real Real Real",
     1681  "(Code f, Real y, Real a, Real b, Real tolerance [, Real maxEval])",
    16791682  I2("Minimizes the function f(x) between a and b using the Fibonacci method",
    16801683     "Minimiza la función f(x) entre a y b por el método de Fibonacci."),
    … …  
    16881691  BDat    max  = Dat (Arg(4));
    16891692  BDat    tol  = Dat (Arg(5));
     1693  int maxEval = -1;
     1694  if(Arg(6)) { maxEval = (int)Real(Arg(6)); }
    16901695  if(min>max)
    16911696  {
    … …  
    17031708  {
    17041709    BRRCode f(code);
    1705     contens_ = BFibonacci::Minimum(&f,y,min,max,tol);
     1710    contens_ = BFibonacci::Minimum(&f,y,min,max,tol,maxEval);
    17061711  }
    17071712}
  • tol/init.cpp

    rb6035f3 re1969fb  
    881881    TrcIGS("Anything");
    882882    InitCommonInstances(GraAnything());
    883     TrcIGS("PolMat");
     883    TrcIGS("PolMatrix");
    884884    InitCommonInstances(GraPolMat());
    885885   
  • tol/lang/language.cpp

    rb6035f3 re1969fb  
    175175  _str_ref_TimeSet = NewStructSymbol("@TimeSet","TimeSet:V");
    176176  _str_ref_Serie = NewStructSymbol("@Serie","Serie:V");
    177   _str_ref_PolMat = NewStructSymbol("@PolMat","PolMat:V");
     177  _str_ref_PolMat = NewStructSymbol("@PolMatrix","PolMatrix:V");
    178178}
    179179
  • tol_tests/tol/LinearAlgebra/PolMatrix/test_0002/check.tol

    rb6035f3 re1969fb  
    33#Require MPM;
    44
     5Real PutRandomSeed(23453);
     6
    57Real dim = 2;
    68Real deg = 2;
    7 Real T = 100;
     9Real T = 1000;
    810
    911Matrix x = VariableChange::@StableMatrixPolyn::
    … …  
    2325Real inequality_constraint_ = -Log(StationaryValue(determinant));
    2426
    25 Matrix X = Rand(T,dim,-1,1);
     27Matrix X0 = Rand(deg,dim,-1,1);
     28Matrix X  = Rand(T,  dim,-1,1);
    2629
    27 Matrix Y = P:X;
     30Matrix Y = P:(X0<<X);
     31
     32Matrix Y_ = Group("ConcatColumns",For(1, dim, Matrix(Real i)
     33{
     34  SetSum(For(1, dim, Matrix(Real j)
     35  {
     36    DifEq(PHI[i][j]/1,SubCol(X,[[j]]),SubCol(X0,[[j]]))
     37  }))
     38}));
     39
     40Matrix Y_t = Group("ConcatColumns",For(1, dim, Matrix(Real i)
     41{
     42  SetSum(For(1, dim, Matrix(Real j)
     43  {
     44    DifEq(PHI[j][i]/1,SubCol(X,[[j]]),SubCol(X0,[[j]]))
     45  }))
     46}));
    2847
    2948
    … …  
    3352Real eigen.module.max = MatMax(eigen.module);
    3453Real eigen.module.max.inv = 1/eigen.module.max;
     54
    3555
    3656
Note: See TracChangeset for help on using the changeset viewer.