Lines Matching refs:n
24 static void posdef_gen(double *A, int n) { in posdef_gen() argument
26 double *L = (double *)calloc(sizeof(double), n * n); in posdef_gen()
29 double *LT = (double *)calloc(sizeof(double), n * n); in posdef_gen()
32 memset(A, 0, sizeof(double) * n * n); in posdef_gen()
35 for (int j = 0; j < n; ++j) { in posdef_gen()
38 L[k * n + j] = in posdef_gen()
39 (((j * k) / ((double)(j + 1)) / ((double)(k + 2)) * 2.0) - 1.0) / ((double)n); in posdef_gen()
42 L[j * n + j] = 1; in posdef_gen()
46 for (int i = 0; i < n; ++i) { in posdef_gen()
47 for (int j = 0; j < n; ++j) { in posdef_gen()
48 LT[j * n + i] = L[i * n + j]; in posdef_gen()
51 cblas_dgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, n, n, n, 1, L, n, LT, n, 0, A, n); in posdef_gen()
58 void matrix_init(double *&A, int &n, const char *fname) { in matrix_init() argument
69 if (fscanf(fp, "%d", &n) <= 0) { in matrix_init()
73 A = (double *)calloc(sizeof(double), n * n); in matrix_init()
74 for (i = 0; i < n; ++i) { in matrix_init()
76 if (fscanf(fp, "%lf ", &A[i * n + j]) <= 0) { in matrix_init()
81 A[j * n + i] = A[i * n + j]; in matrix_init()
88 A = (double *)calloc(sizeof(double), n * n); in matrix_init()
89 posdef_gen(A, n); in matrix_init()
94 void matrix_write(double *A, int n, const char *fname, bool is_triangular = false) { in matrix_write() argument
105 fprintf(fp, "%d\n", n); in matrix_write()
106 for (i = 0; i < n; ++i) { in matrix_write()
108 fprintf(fp, "%lf ", A[j * n + i]); in matrix_write()
111 for (; j < n; ++j) { in matrix_write()
112 fprintf(fp, "%lf ", A[i * n + j]); in matrix_write()
116 for (; j < n; ++j) { in matrix_write()
124 for (i = 0; i < n; ++i) { in matrix_write()
128 for (; j < n; ++j) { in matrix_write()
129 fprintf(fp, "%lf ", A[i * n + j]); in matrix_write()