dsmatrxb.h

来自「ARPACK is a collection of Fortran77 subr」· C头文件 代码 · 共 71 行

H
71
字号
/*   ARPACK++ v1.0 8/1/1997   c++ interface to ARPACK code.   MODULE DSMatrxB.h   Function template for the one dimensional discrete Laplacian   on the interval [0, 1], with zero Dirichlet boundary conditions.   ARPACK Authors      Richard Lehoucq      Danny Sorensen      Chao Yang      Dept. of Computational & Applied Mathematics      Rice University      Houston, Texas*/#ifndef DSMATRXB_H#define DSMATRXB_H#include <math.h>template<class FLOAT, class INT>void DenseMatrixB(INT n, FLOAT* &A, char uplo = 'L'){  // Defining internal variables.  INT    i, j;  FLOAT  h, df, dd;  // Defining constants.  h  = FLOAT(n+1);  dd = 2.0*h;  df = -h;  // Creating matrix A.  A  = new FLOAT[(n*n+n)/2];  if (uplo == 'L') {    for (i=0, j=0; i<n; j+=(n-(i++))) {      A[j] = dd;      if (i != (n-1)) {        A[j+1] = df;      }        }  }  else { // uplo = "U"    for (i=0, j=0; i<n; j+=(++i)) {      A[j+i] = dd;      if (i != 0) {        A[j+i-1] = df;      }        }    }} // DenseMatrixB.#endif // DSMATRXB_H

⌨️ 快捷键说明

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