Show
Ignore:
Timestamp:
05/26/10 18:42:26 (14 years ago)
Author:
smidl
Message:

ARX validate

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • library/bdm/estim/arx.cpp

    r979 r990  
    44void ARX::bayes_weighted ( const vec &yt, const vec &cond, const double w ) { 
    55 
    6         bdm_assert_debug ( yt.length() == dimy, "ARX::bayes yt is smaller then dimensiony()" ); 
    7         bdm_assert_debug ( (cond.length() == rgrlen - int(have_constant==true)) , "ARX::bayes dimension of cond is not rgrlen" ); 
     6        bdm_assert_debug ( yt.length() == dimy, "ARX::bayes yt is of size "+num2str(yt.length())+" expected dimension is "+num2str(dimy) ); 
     7        bdm_assert_debug ( cond.length() == rgrlen , "ARX::bayes cond is of size "+num2str(cond.length())+" expected dimension is "+num2str(rgrlen) ); 
    88        double lnc; 
    99        //cache 
     
    227227        dimy = yrv._dsize(); 
    228228        bdm_assert(dimy>0,"ARX::yrv should not be empty"); 
    229         // rgrlen - including constant!!! 
    230229        rgrlen = rgr._dsize(); 
    231230 
     
    238237        dimc = rgrlen; 
    239238        rvc = rgr; 
    240         rgrlen += int ( have_constant == true ); 
    241239 
    242240        //init 
    243241        shared_ptr<egiw> pri = UI::build<egiw> ( set, "prior", UI::optional ); 
    244  
     242        if (pri) 
     243                set_prior(pri.get()); 
     244         
    245245        shared_ptr<egiw> alt = UI::build<egiw> ( set, "alternative", UI::optional ); 
    246246        if ( alt ) { 
    247247                bdm_assert ( alt->_dimx() == dimy, "alternative is not compatible" ); 
    248                 bdm_assert ( alt->_V().rows() == dimy + rgrlen, "alternative is not compatible" ); 
     248                bdm_assert ( alt->_V().rows() == dimy + rgrlen + int(have_constant==true), "alternative is not compatible" ); 
    249249                alter_est.set_parameters ( alt->_dimx(), alt->_V(), alt->_nu() ); 
    250250                alter_est.validate(); 
     
    258258        if ( eg ) { 
    259259                bdm_assert ( eg->_dimx() == dimy, "prior is not compatible" ); 
    260                 bdm_assert ( eg->_V().rows() == dimy + rgrlen, "prior is not compatible" ); 
     260                bdm_assert ( eg->_V().rows() == dimy + rgrlen + int(have_constant==true), "prior is not compatible" ); 
    261261                est.set_parameters ( eg->_dimx(), eg->_V(), eg->_nu() ); 
    262262                est.validate(); 
    263263        } else { 
    264                 est.set_parameters ( dimy, zeros ( dimy + rgrlen ) ); 
    265                 est.validate(); 
     264                est.set_parameters ( dimy, zeros ( dimy + rgrlen +int(have_constant==true)) ); 
    266265                set_prior_default ( est ); 
    267266        }