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

📄 sytrmd.h

📁 完全使用C++写的高效线性代数运算库!还提供了矩阵类。
💻 H
字号:
//      LAPACK++ (V. 1.1)//      (C) 1992-1996 All Rights Reserved.#ifndef _LA_SYMM_TRIDIAG_MAT_DOUBLE_H_#define _LA_SYMM_TRIDIAG_MAT_DOUBLE_H_#include LA_VECTOR_DOUBLE_Hclass LaSymmTridiagMatDouble{           int size_;        LaVectorDouble d_;          /* main diag */        LaVectorDouble dl_;         /* lower diag */        static double outofbounds_; /* return this address, when addresing                                         out of bounds */        static int debug_;        // print debug info.        static int *info_;        // print matrix info only, not values                                  //   originally 0, set to 1, and then                                  //   reset to 0 after use.    public:        // constructors / destructor            inline LaSymmTridiagMatDouble();        inline LaSymmTridiagMatDouble(int N);        inline LaSymmTridiagMatDouble(const LaSymmTridiagMatDouble &);        inline ~LaSymmTridiagMatDouble();        // operators and member functions                double& operator()(int i, int j);                double operator()(int i, int j) const;                LaVectorDouble diag(int); /* 0 main, -1 lower, 1 upper */                LaVectorDouble diag(int) const;        inline LaSymmTridiagMatDouble& ref(LaSymmTridiagMatDouble&);         inline LaSymmTridiagMatDouble& copy(const LaSymmTridiagMatDouble&);         inline const LaSymmTridiagMatDouble& info() const {            int *t = info_;            *t = 1;            return *this;};        inline int debug() const {    // return debug flag.            return debug_;}        inline int size() const;         friend ostream& operator<<(ostream&,const LaSymmTridiagMatDouble&);};    // constructorsinline LaSymmTridiagMatDouble::LaSymmTridiagMatDouble():         d_(), dl_(){    size_ = 0;}inline LaSymmTridiagMatDouble::LaSymmTridiagMatDouble(int N):         d_(N), dl_(N-1){    size_ = N;}    inline LaSymmTridiagMatDouble::LaSymmTridiagMatDouble(const LaSymmTridiagMatDouble& td): d_(td.d_), dl_(td.dl_){    size_ = td.size_;}    // destructorinline LaSymmTridiagMatDouble::~LaSymmTridiagMatDouble(){}    // operators and member functionsinline LaSymmTridiagMatDouble& LaSymmTridiagMatDouble::ref(LaSymmTridiagMatDouble&T) {    d_.ref(T.d_);    dl_.ref(T.dl_);     size_ = T.size_;    return *this;}inline LaSymmTridiagMatDouble& LaSymmTridiagMatDouble::copy(const LaSymmTridiagMatDouble&T) {    d_.copy(T.d_);    dl_.copy(T.dl_);        size_ = T.size_;    return *this;}inline int LaSymmTridiagMatDouble::size() const{    return size_;}#endif // _LA_SYMM_TRIDIAG_MAT_DOUBLE_H_

⌨️ 快捷键说明

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