Changeset a171731 in tol


Ignore:
Timestamp:
Sep 3, 2009, 10:41:07 PM (17 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
f16fdcd
Parents:
32b5795
Message:

New method Real resume(Real unused) to use instead of Real initialize(Real unused) when we want to continue an stored chain

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/gibbs/_basicMaster.tol

    r32b5795 ra171731  
    166166  //WriteLn("TRACE"+_MID+" initialize 3 beta0("<<VRows(beta0)+"x"<<VColumns(beta0)+")");
    167167    Real ok = _.mln.blk::matchConstrains(beta0, _.modelDef->A, _.modelDef->a);
    168   //WriteLn("TRACE"+_MID+" initialize 4");
     168    If(ok,
     169    {
     170    //WriteLn("TRACE"+_MID+" initialize 4");
     171      VMatrix _.beta   := _.mln.blk::_.store;
     172    //WriteLn("TRACE"+_MID+" initialize 5 _.beta("<<VRows(_.beta)+"x"<<VColumns(_.beta)+")");
     173      Real DoExternalFilter(0);
     174    //WriteLn("TRACE"+_MID+" initialize 6 ");
     175      Real If(_.sig.blk::_.partialSampler::_.freeParamNum,
     176      {
     177      //WriteLn("TRACE"+_MID+" initialize 6.1 ");
     178        VMatrix res = _.YplusV - _.XplusU*_.beta;
     179      //WriteLn("TRACE"+_MID+" initialize 6.2 ");
     180        _.sig.blk::_.buildWorkSpace(res)
     181      });
     182      VMatrix sig_0 = _.sig.blk::get.draw(0, True);
     183    //WriteLn("TRACE"+_MID+" initialize 7");
     184    //WriteLn("TRACE"+_MID+" _.XplusU "<<_.XplusU);
     185    //WriteLn("TRACE"+_MID+" _.beta "<<_.beta);
     186      VMatrix _.filter := _.XplusU*_.beta;
     187    //WriteLn("TRACE"+_MID+" _.filter "<<_.filter);
     188      VMatrix _.noise := _.YplusV-_.filter;
     189    //WriteLn("TRACE"+_MID+" _.noise "<<_.noise);
     190    //WriteLn("TRACE"+_MID+" init 8");
     191      VMatrix _.residuals := _.arm.blk::filter(_.noise);
     192    //WriteLn("TRACE"+_MID+" _.residuals "<<_.residuals);
     193    //WriteLn("TRACE"+_MID+" init 9");
     194      Real If(_.sig.blk::_.partialSampler::_.freeParamNum,
     195      {
     196        Real _.sig.blk::_.buildWorkSpace(_.residuals)
     197      });
     198    //WriteLn("TRACE"+_MID+" init 10");
     199      VMatrix sig_1 = _.sig.blk::get.draw(0, True);
     200    //WriteLn("TRACE"+_MID+" init 11");
     201      1 
     202    });
     203    ok
     204  };
     205
     206  ////////////////////////////////////////////////////////////////////////////
     207  Real resume(Real unused)
     208  ////////////////////////////////////////////////////////////////////////////
     209  {
     210  //WriteLn("TRACE"+_MID+" resume 0");
     211    Real initialize.blocks(unused);
     212    VMatrix _.YplusV := _.outMis.blk::filter(_.Y);
     213    VMatrix _.XplusU := _.inpMis.blk::filter(_.modelDef->X);
    169214    VMatrix _.beta   := _.mln.blk::_.store;
    170   //WriteLn("TRACE"+_MID+" initialize 5 _.beta("<<VRows(_.beta)+"x"<<VColumns(_.beta)+")");
    171     Real DoExternalFilter(0);
    172   //WriteLn("TRACE"+_MID+" initialize 6 ");
    173     Real If(_.sig.blk::_.partialSampler::_.freeParamNum,
    174     {
    175     //WriteLn("TRACE"+_MID+" initialize 6.1 ");
    176       VMatrix res = _.YplusV - _.XplusU*_.beta;
    177     //WriteLn("TRACE"+_MID+" initialize 6.2 ");
    178       _.sig.blk::_.buildWorkSpace(res)
    179     });
    180     VMatrix sig_0 = _.sig.blk::get.draw(0, True);
    181   //WriteLn("TRACE"+_MID+" initialize 7");
    182   //WriteLn("TRACE"+_MID+" _.XplusU "<<_.XplusU);
    183   //WriteLn("TRACE"+_MID+" _.beta "<<_.beta);
    184     VMatrix _.filter := _.XplusU*_.beta;
    185   //WriteLn("TRACE"+_MID+" _.filter "<<_.filter);
    186     VMatrix _.noise := _.YplusV-_.filter;
    187   //WriteLn("TRACE"+_MID+" _.noise "<<_.noise);
    188   //WriteLn("TRACE"+_MID+" init 8");
    189     VMatrix _.residuals := _.arm.blk::filter(_.noise);
    190   //WriteLn("TRACE"+_MID+" _.residuals "<<_.residuals);
    191   //WriteLn("TRACE"+_MID+" init 9");
    192     Real If(_.sig.blk::_.partialSampler::_.freeParamNum,
    193     {
    194       Real _.sig.blk::_.buildWorkSpace(_.residuals)
    195     });
    196   //WriteLn("TRACE"+_MID+" init 10");
    197     VMatrix sig_1 = _.sig.blk::get.draw(0, True);
    198   //WriteLn("TRACE"+_MID+" init 11");
    199     ok
     215    Real ok = _.mln.blk::matchConstrains(_.beta, _.modelDef->A, _.modelDef->a);
     216    If(ok,
     217    {
     218      VMatrix _.beta   := _.mln.blk::_.store;
     219      Real DoExternalFilter(0);
     220      VMatrix _.filter := _.XplusU*_.beta;
     221      VMatrix _.noise := _.YplusV-_.filter;
     222      VMatrix _.residuals := _.arm.blk::filter(_.noise);
     223      Real If(_.sig.blk::_.partialSampler::_.freeParamNum,
     224      {
     225        Real _.sig.blk::_.buildWorkSpace(_.residuals)
     226      });
     227      VMatrix sig_1 = _.sig.blk::get.draw(0, True);
     228      ok
     229    })
    200230  };
    201231
Note: See TracChangeset for help on using the changeset viewer.