DistributionMultiVariateNormal::DistributionMultiVariateNormal(F32 mux,F32 muy,F32 sigmax,F32 sigmay,F32 rho)
    :DistributionMultiVariate(),_sigma(2,2),_mean(2),_standard_normal(0,1)
{
    _mean(0)=mux;
    _mean(1)=muy;

    _sigma(0,0)=sigmax*sigmax;    _sigma(0,1)=sigmax*sigmay*rho;
    _sigma(1,0)=sigmax*sigmay*rho;_sigma(1,1)=sigmay*sigmay;
    _sigma_minus_one=LinearAlgebra::inverseGaussianElimination(_sigma);
    _determinant_sigma = _sigma.determinant();
    _a = LinearAlgebra::AATransposeEqualMDecomposition(_sigma);
}
Ejemplo n.º 2
0
EXPORT

char *meanRating(void) {

    return _char_rating(_mean());

}
Ejemplo n.º 3
0
void petabricks::PetabricksRuntime::runGraphTemplate(){
  int i=0;
  for(; _main!=NULL; _main=_main->nextTemplateMain(),++i){
    double avg = runTrial(GRAPH_MAX_SEC, ACCTRAIN);
    if(theAccuracies.empty()){
      printf("%d %.6f\n", i, avg);
    }else{
      printf("%d %.6f %.6f %.6f\n", i, avg, _main->accuracyTarget(), _mean(theAccuracies));
      theAccuracies.clear();
    }
  }
}
Ejemplo n.º 4
0
void petabricks::PetabricksRuntime::runGraphMode(){
  for(int n=GRAPH_MIN; n<=GRAPH_MAX; n=_incN(n)){
    setSize(n);
    double avg = runTrial(GRAPH_MAX_SEC, ACCTRAIN);
    if(avg<std::numeric_limits<double>::max()){
      if(theAccuracies.empty()){
        printf("%d %.6f\n", n, avg);
      }else{
        printf("%d %.6f %.6f\n", n, avg, _mean(theAccuracies));
        theAccuracies.clear();
      }
    }
    fflush(stdout);
    if(avg > GRAPH_MAX_SEC) break;
  }
}
Ejemplo n.º 5
0
void petabricks::PetabricksRuntime::runGraphParamMode(const std::string& param){
  jalib::JTunable* tunable = jalib::JTunableManager::instance().getReverseMap()[param];
  JASSERT(tunable!=0)(param).Text("parameter not found");
  GRAPH_MIN = std::max(GRAPH_MIN, tunable->min().i());
  GRAPH_MAX = std::min(GRAPH_MAX, tunable->max().i());
  for(int n=GRAPH_MIN; n<=GRAPH_MAX; n=_incN(n)){
    tunable->setValue(n);
    double avg = runTrial(GRAPH_MAX_SEC, ACCTRAIN);
    if(avg<std::numeric_limits<double>::max()){
      if(theAccuracies.empty()){
        printf("%d %.6f\n", n, avg);
      }else{
        printf("%d %.6f %.6f\n", n, avg, _mean(theAccuracies));
        theAccuracies.clear();
      }
    }
    fflush(stdout);
    if(avg > GRAPH_MAX_SEC) break;
  }
}