SpdMatrix WMS::center_sumsq(const Vector &mu)const{ SpdMatrix ans = sumsq(); // sum wyy^T ans.add_outer(mu, sumw()); // wyyT + w.mu.muT ans -= as_symmetric(mu.outer(sum_, 2)); return ans; }
int main(void) { char str[MAXCHAR]; while (scanf("%s", str) == 1) { if (prime(sumw(str))) printf("It is a prime word.\n"); else printf("It is not a prime word.\n"); } return 0; }
SpdMatrix WMS::var_hat()const{ if(sumw()==0) return sumsq()*0.0; return center_sumsq()/sumw(); }
Vector WMS::ybar()const{ if( sumw()==0) return sum().zero(); return sum()/sumw();}