int compare_ints(const void* a, const void* b);
int nacti (double **pole1, double **pole2, double **pole3,int *velikost);
double interpoluj(double x1, double x2, double *polex1, double *polex2, double *poley, int size);
double nahodnehledani(double *polex1, double *polex2,double *poley,double *bodmin, int size);
double evolucnistrategie(double *polex1, double *polex2,double *poley, double *bodmin, int size);
double vzdalenost(double *boda, double *bodb, double theta, double ph, int size);
int maticeR(double *polebodu, double matrixR[100][100], int pocetbodu, int rad);
double LUdeterminant(double a[100][100], int rad);
double determinant(double a[100][100], int k);
double Determinant(double **a,int n);
void trans(double num[100][100], double fac[100][100], double invMatrix[100][100],int r);
void cofactors(double num[100][100], double invMatrix[100][100],int f);
void multiply (double matice1[100][100], double matice2[100][100], double maticevys[100][100], int pocr1, int pocs1, int pocr2, int pocs2);
void fjednotkovaMatice(double matrixR[100][100], int rad);
double mi(double *poleznamychbodu, double invMatrixR[100][100], int size, int rad);
double predictor(double *odhadovanybod, double *poleznamychbodu, double invMatrixR[100][100], int size, int rad);
double sigma(double *poleznamychbodu, double invMatrixR[100][100], int size, int rad);
double meansquarederror(double *odhadovanybod, double *poleznamychbodu, double invMatrixR[100][100], int size, int rad);
double expectedimprovement(double *odhadovanybod, double *poleznamychbodu, double invMatrixR[100][100], int size, int rad);
double expectedimprovementBB(double *poleznamychbodu, double invMatrixR[100][100], double yprediktor, double s2chyba, int size, int rad);
double polynom(double x);
void BBoptimalizace2D(double *vzorky,double *interval, int size, int rad);