Changeset 977

Show
Ignore:
Timestamp:
05/25/10 20:54:43 (14 years ago)
Author:
smidl
Message:

make egiw work for empty Gauss

Location:
library/bdm/stat
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • library/bdm/stat/exp_family.cpp

    r970 r977  
    239239        // cut out rest of lower-right part of V 
    240240        // invert it 
    241         ldmat itmp ( l ); 
     241        ldmat itmp; 
    242242        if (dimx<l){ 
    243243                const ldmat tmp ( V, linspace ( dimx, l - 1 ) ); 
    244244                tmp.inv ( itmp ); 
    245         } 
     245        }  
    246246        // following Wikipedia notation 
    247247        // m=nu-nPsi-dimx-1, p=dimx 
    248248        double mp1p = nu - nPsi - 2 * dimx; // m-p+1 
    249249        double mp1m = mp1p - 2;     // m-p-1 
    250  
     250         
    251251        if ( dimx == 1 ) { 
    252252                double cove = V._D() ( 0 ) / mp1m ; 
    253  
     253                 
    254254                vec var ( l ); 
    255255                var.set_subvector ( 0, diag ( itmp.to_mat() ) *cove ); 
     
    260260                mat Y = Vll.to_mat(); 
    261261                mat varY ( Y.rows(), Y.cols() ); 
    262  
     262                 
    263263                double denom = ( mp1p - 1 ) * mp1m * mp1m * ( mp1m - 2 );         // (m-p)(m-p-1)^2(m-p-3) 
    264  
     264                 
    265265                int i, j; 
    266266                for ( i = 0; i < Y.rows(); i++ ) { 
     
    276276                        var_Th.set_subvector ( i*var_th.length(), var_th*mean_dR ( i ) ); 
    277277                } 
    278  
     278                 
    279279                return concat ( var_Th, cvectorize ( varY ) ); 
    280280        } 
  • library/bdm/stat/exp_family.h

    r970 r977  
    370370        vec mean() const; 
    371371        vec variance() const; 
     372        //mat covariance() const; 
    372373        void sample_mat ( mat &Mi, chmat &Ri ) const; 
    373374 
     
    585586UIREGISTER ( mDirich ); 
    586587 
     588 
    587589//! \brief Estimator for Multinomial density 
    588590class multiBM : public BMEF {