1
사용 :행렬 곱셈 내가 두 GSL 행렬, <code>AT</code> 및 <code>A</code>이 GSL
gsl_matrix *A; /* coefficient matrix A */
gsl_matrix *AT; /* coefficient matrix A' */
AT = gsl_matrix_alloc(nc, nr); /* Data matrix */
A = gsl_matrix_alloc(nr, nc); /* Data matrix */
/* Initialize A */
for(i = 0; i < nr; i++){
gsl_matrix_set(A, i, 0, 1.0);
}
for(i = 0; i < nr; i++){
for(j = 1; j < nc; j++){
gsl_matrix_set(A, i, j, 1.0/(double)(i + j + 1));
}
}
gsl_matrix_transpose_memcpy(AT, A);
나는이 행렬을 곱 행렬 ATA
에 결과를 저장하고 싶습니다,하지만 난 문제가 GSL BLAS 문서를 이해하는 데 .
나는 ATA
행렬을 초기화 한 :
gsl_matrix *ATA; /* coefficient matrix A'A */
ATA = gsl_matrix_alloc(nc, nc); /* Data matrix */
나는 복잡한 매트릭스를 곱 gsl_blas_zgemm
를 사용할 수있는 참조하지만, 이러한 행렬은 복잡하지 않습니다. 나는 이것에 대해 어떻게 갈 것인가?
내가 시도
UPDATE : 그것은 다음과 같은 오류의 원인
gsl_blas_dgemm(CblasNoTrans, CblasNoTrans, 1.0, A, AT, 0.0, ATA);
:
gsl: blas.c:1354: ERROR: invalid length Default GSL error handler invoked. Aborted (core dumped)