39int main(
int argc,
char **argv) {
52 for( i = 1; i < argc; i++ ) {
53 if( strcmp( argv[i],
"-n" ) == 0 ) {
57 if( strcmp( argv[i],
"-nrhs" ) == 0 ) {
58 nrhs = atoi(argv[i+1]);
65 A = (
double *)malloc(n*n*
sizeof(
double)) ;
66 if (A==NULL){ printf(
"error of memory allocation\n"); exit(0); }
67 b = (
double *)malloc(n*nrhs*
sizeof(
double)) ;
68 if (b==NULL){ printf(
"error of memory allocation\n"); exit(0); }
70 if (ipiv==NULL){ printf(
"error of memory allocation\n"); exit(0); }
72 for( i = 0; i < n; i++ ) {
73 for( j = 0; j < n; j++ ) A[i*lda+j] = ((
double) rand()) / ((double) RAND_MAX) - 0.5;
77 b[i] = ((
double) rand()) / ((
double) RAND_MAX) - 0.5;
85 printf(
"LAPACKE_dgesv (row-major, high-level) Example Program Results\n" );
91 printf(
"The diagonal element of the triangular factor of A,\n" );
93 printf(
"the solution could not be computed.\n" );
96 if (info <0) exit( 1 );
lapack_int LAPACKE_dgesv(int matrix_layout, lapack_int n, lapack_int nrhs, double *a, lapack_int lda, lapack_int *ipiv, double *b, lapack_int ldb)
void print_matrix_rowmajor(char *desc, lapack_int m, lapack_int n, double *mat, lapack_int ldm)
void print_vector(char *desc, lapack_int n, lapack_int *vec)