Changeset 1015 for library/bdm/stat/exp_family.cpp
- Timestamp:
- 05/27/10 23:08:07 (14 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
library/bdm/stat/exp_family.cpp
r1013 r1015 20 20 void egiw::set_parameters ( int dimx0, ldmat V0, double nu0 ) { 21 21 dimx = dimx0; 22 nPsi = V0.rows() - dimx; 23 22 nPsi = V0.rows()-dimx; 24 23 V = V0; 25 24 if ( nu0 < 0 ) { … … 323 322 nu = -1; 324 323 } 325 mat V; 326 if ( !UI::get ( V, set, "V", UI::optional ) ) { 327 vec dV; 328 UI::get ( dV, set, "dV", UI::compulsory ); 329 set_parameters ( dimx, ldmat ( dV ), nu ); 330 331 } else { 332 set_parameters ( dimx, V, nu ); 324 mat Vful; 325 if (!UI::get(V, set, "V", UI::optional)){ 326 if ( !UI::get ( Vful, set, "V", UI::optional ) ) { 327 vec dV; 328 UI::get ( dV, set, "dV", UI::compulsory ); 329 set_parameters ( dimx, ldmat ( dV ), nu ); 330 331 } else { 332 set_parameters ( dimx, Vful, nu ); 333 } 333 334 } 334 335 } … … 337 338 epdf::to_setting ( set ); 338 339 UI::save ( dimx, set, "dimx" ); 339 UI::save ( V .to_mat(), set, "V" );340 UI::save ( V, set, "V" ); 340 341 UI::save ( nu, set, "nu" ); 341 342 }; … … 343 344 void egiw::validate() { 344 345 eEF::validate(); 346 nPsi = V.rows() - dimx; 345 347 dim = dimx * ( dimx + nPsi ); 348 349 if ( nu < 0 ) { 350 nu = 0.1 + nPsi + 2 * dimx + 2; // +2 assures finite expected value of R 351 // terms before that are sufficient for finite normalization 352 } 346 353 347 354 // check sizes, rvs etc.