⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dtrti2.c

📁 最著名最快的分子模拟软件
💻 C
字号:
#include "gmx_blas.h"#include "gmx_lapack.h"#include "lapack_limits.h"voidF77_FUNC(dtrti2,DTRTI2)(char *uplo,	char *diag, 	int *n, 	double *a,	int *lda,	int *info){    int a_dim1, a_offset, i__1, i__2;    int j;    double ajj;    int upper, nounit;    int c__1 = 1;    a_dim1 = *lda;    a_offset = 1 + a_dim1;    a -= a_offset;    *info = 0;    upper = (*uplo=='U' || *uplo=='u');    nounit = (*diag=='N' || *diag=='n');    if (*info != 0) {	i__1 = -(*info);	return;    }    if (upper) {	i__1 = *n;	for (j = 1; j <= i__1; ++j) {	    if (nounit) {		a[j + j * a_dim1] = 1. / a[j + j * a_dim1];		ajj = -a[j + j * a_dim1];	    } else {		ajj = -1.;	    }	    i__2 = j - 1;	    F77_FUNC(dtrmv,DTRMV)("Upper", "No transpose", diag, &i__2, &a[a_offset], lda, &		    a[j * a_dim1 + 1], &c__1);	    i__2 = j - 1;	    F77_FUNC(dscal,DSCAL)(&i__2, &ajj, &a[j * a_dim1 + 1], &c__1);	}    } else {	for (j = *n; j >= 1; --j) {	    if (nounit) {		a[j + j * a_dim1] = 1. / a[j + j * a_dim1];		ajj = -a[j + j * a_dim1];	    } else {		ajj = -1.;	    }	    if (j < *n) {		i__1 = *n - j;		F77_FUNC(dtrmv,DTRMV)("Lower", "No transpose", diag, &i__1, &a[j + 1 + (j + 			1) * a_dim1], lda, &a[j + 1 + j * a_dim1], &c__1);		i__1 = *n - j;		F77_FUNC(dscal,DSCAL)(&i__1, &ajj, &a[j + 1 + j * a_dim1], &c__1);	    }	}    }    return;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -