亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mat_gf2.txt

?? 大數運算類
?? TXT
字號:

/**************************************************************************\

MODULE: mat_GF2

SUMMARY:

The class mat_GF2 implements matrices over GF(2).
Each row is a vec_GF2 of the same length.

For a mat_GF2 M, one may access row i of M as M[i],
indexing from 0, or as M(i), indexing from 1.

Individual elements of M may be accessed as M[i][j],
indexing from 0, or M(i, j), indexing from 1.
Some restrictions apply (see vec_GF2.txt for details).
Alternatively, one may use methods get and put.

\**************************************************************************/


#include <NTL/vec_vec_GF2.h>

class mat_GF2 {  
public:  
  
   mat_GF2(); // initially 0 x 0

   mat_GF2(const mat_GF2& a);  
   mat_GF2& operator=(const mat_GF2& a);  
   ~mat_GF2();
  
   mat_GF2(INIT_SIZE_TYPE, long n, long m);  
   // mat_T(INIT_SIZE, n, m) initializes an n x m matrix, 
   // clearing all bits.

  
  
   void SetDims(long n, long m);
   // M.SetDims(n, m) makes M have dimension n x m.  If the number of
   // columns (m) changes, previous storage is freed, and space for M
   // is reallocated and initialized; otherwise, more rows are
   // allocated as necessary (when number of rows increases),
   // excess rows are retained (when number of rows decreases),
   // and--importantly--the contents do not change.
  
   long NumRows() const;
   // M.NumRows() returns the number of rows of M

   long NumCols() const;
   // M.NumCols() returns the number of columns of M

   vec_GF2& operator[](long i);
   const vec_GF2& operator[](long i) const;
   // access row i, initial index 0.  Any attempt to change the length
   // of this row will raise an error.

  
   vec_GF2& operator()(long i);
   const vec_GF2& operator()(long i) const;
   // access row i, initial index 1.  Any attempt to change the length
   // of this row will raise an error.


   GF2 get(long i, long j) const; 
   // returns entry (i, j), indexing from 0

   void put(long i, long j, GF2 a); 
   void put(long i, long j, long a);
   // set entry (i, j) to a, indexing from 0

   // Here are the subscripting operations defined using
   // the "helper" classes subscript_GF2 and const_subscript_GF2.

   subscript_GF2 operator()(long i, long j);

   const_subscript_GF2 operator()(long i, long j) const;

   long position(const vec_GF2& a) const;
   // returns index of a in matrix, or -1 if not present;
   // equivalent to rep(*this).position(a);

   long position1(const vec_GF2& a) const;
   // returns index of a in matrix, or -1 if not present;
   // equivalent to rep(*this).position1(a);
  
   void kill(); // free space and make 0 x 0.

};  

const vec_vec_GF2& rep(const mat_GF2& a);
// read-only access to underlying representation.
  
void swap(mat_GF2& X, mat_GF2& Y); 
// swap X and Y (fast pointer swap)

void conv(mat_GF2& X, const vec_vec_GF2& A);  
mat_GF2 to_mat_GF2(const vec_vec_GF2& A);  
// convert a vector of vec_GF2's to a matrix

// equality testing:

long operator==(const mat_GF2& A, const mat_GF2& B); 
long operator!=(const mat_GF2& A, const mat_GF2& B); 

// Input/Output:
//    input format is the same as for a vector of vec_GF2s.

istream& operator>>(istream&, mat_GF2&); 
ostream& operator<<(ostream&, const mat_GF2&);  




// procedural arithmetic routines:

void add(mat_GF2& X, const mat_GF2& A, const mat_GF2& B); 
// X = A + B

void sub(mat_GF2& X, const mat_GF2& A, const mat_GF2& B);
// X = A - B = A + B

void negate(mat_GF2& X, const mat_GF2& A);
// X = -A = A 

void mul(mat_GF2& X, const mat_GF2& A, const mat_GF2& B); 
// X = A * B

void mul(vec_GF2& x, const mat_GF2& A, const vec_GF2& b); 
// x = A * b

void mul(vec_GF2& x, const vec_GF2& a, const mat_GF2& B); 
// x = a * B


void mul(mat_GF2& X, const mat_GF2& A, GF2 b);
void mul(mat_GF2& X, const mat_GF2& A, long b);
// X = A * b

void mul(mat_GF2& X, GF2 a, const mat_GF2& B);
void mul(mat_GF2& X, long a, const mat_GF2& B);
// X = a * B

void determinant(GF2& d, const mat_GF2& A);
GF2 determinant(const mat_GF2& A);
// d =  determinant of A

void transpose(mat_GF2& X, const mat_GF2& A);
mat_GF2 transpose(const mat_GF2& A);
// X = transpose of A

void solve(GF2& d, vec_GF2& x, const mat_GF2& A, const vec_GF2& b);
// A is an n x n matrix, b is a length n vector.  Computes d = det(A).  
// If d != 0, solves x*A = b. 

void inv(GF2& d, mat_GF2& X, const mat_GF2& A);
// A is an n x n matrix.  Computes d = det(A).  If d != 0,
// computes X = A^{-1}. 

void sqr(mat_GF2& X, const mat_GF2& A);
mat_GF2 sqr(const mat_GF2& A);
// X = A*A   

void inv(mat_GF2& X, const mat_GF2& A);
mat_GF2 inv(const mat_GF2& A);
// X = A^{-1}; error is raised if A is  singular

void power(mat_GF2& X, const mat_GF2& A, const ZZ& e);
mat_GF2 power(const mat_GF2& A, const ZZ& e);

void power(mat_GF2& X, const mat_GF2& A, long e);
mat_GF2 power(const mat_GF2& A, long e);
// X = A^e; e may be negative (in which case A must be nonsingular).


void ident(mat_GF2& X, long n); 
mat_GF2 ident_mat_GF2(long n); 
// X = n x n identity matrix

long IsIdent(const mat_GF2& A, long n);
// test if A is n x n identity matrix


void diag(mat_GF2& X, long n, GF2 d);
mat_GF2 diag(long n, GF2 d);
// X = n x n diagonal matrix with diagonal element d

long IsDiag(const mat_GF2& A, long n, long d);
// test if X is an n x n diagonal matrix with diagonal element (d mod 2)


long gauss(mat_GF2& M);
long gauss(mat_GF2& M, long w);
// Performs unitary row operations so as to bring M into row echelon
// form.  If the optional argument w is supplied, stops when first w
// columns are in echelon form.  The return value is the rank (or the
// rank of the first w columns).

void image(mat_GF2& X, const mat_GF2& A);
// The rows of X are computed as basis of A's row space.  X is is row
// echelon form


void kernel(mat_GF2& X, const mat_GF2& A);
// Computes a basis for the kernel of the map x -> x*A. where x is a
// row vector.

// miscellaneous:


void clear(mat_GF2& X);
// X = 0 (dimension unchanged)

long IsZero(const mat_GF2& A);
// test if A is the zero matrix (any dimension)


// arithmetic operator notation:

mat_GF2 operator+(const mat_GF2& a, const mat_GF2& b);
mat_GF2 operator-(const mat_GF2& a, const mat_GF2& b);
mat_GF2 operator*(const mat_GF2& a, const mat_GF2& b);

mat_GF2 operator-(const mat_GF2& a);


// matrix/scalar multiplication:

mat_GF2 operator*(const mat_GF2& a, GF2 b);
mat_GF2 operator*(const mat_GF2& a, long b);

mat_GF2 operator*(GF2 a, const mat_GF2& b);
mat_GF2 operator*(long a, const mat_GF2& b);

// matrix/vector multiplication:

vec_GF2 operator*(const mat_GF2& a, const vec_GF2& b);

vec_GF2 operator*(const vec_GF2& a, const mat_GF2& b);


// assignment operator notation:

mat_GF2& operator+=(mat_GF2& x, const mat_GF2& a);
mat_GF2& operator-=(mat_GF2& x, const mat_GF2& a);
mat_GF2& operator*=(mat_GF2& x, const mat_GF2& a);

mat_GF2& operator*=(mat_GF2& x, GF2 a);
mat_GF2& operator*=(mat_GF2& x, long a);

vec_GF2& operator*=(vec_GF2& x, const mat_GF2& a);


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
尤物av一区二区| 国产乱码字幕精品高清av | 久久久久久久久蜜桃| 91精品国产欧美一区二区| 欧美三级视频在线| 欧美天天综合网| 7777精品伊人久久久大香线蕉最新版| 91久久精品一区二区三| 色综合久久综合网97色综合 | 久久精品视频免费观看| 国产欧美精品一区二区色综合朱莉| 国产亚洲自拍一区| 国产精品久久久久影院| 国产精品国产自产拍在线| 最好看的中文字幕久久| 一区二区三区欧美激情| 午夜精品一区二区三区电影天堂| 日韩综合小视频| 老司机精品视频在线| 丰满白嫩尤物一区二区| 97久久久精品综合88久久| 欧美最新大片在线看| 欧美日韩的一区二区| 精品久久久网站| 国产精品福利在线播放| 亚洲精品视频在线看| 亚洲va欧美va天堂v国产综合| 日本不卡的三区四区五区| 国产在线看一区| 成人av动漫在线| 欧美日韩视频专区在线播放| 日韩欧美123| 欧美国产成人精品| 一区二区三区高清在线| 蜜桃av一区二区| 国产suv精品一区二区883| 欧美中文字幕久久| 欧美tickling挠脚心丨vk| 中文字幕av不卡| 午夜精品久久久久久不卡8050| 久久精品久久99精品久久| 成人动漫av在线| 欧美精品在线一区二区三区| 久久久激情视频| 亚洲高清免费一级二级三级| 国产一区二区三区四区五区入口 | 日韩欧美国产三级| 国产精品久久毛片a| 天天综合网天天综合色| 成人午夜av影视| 欧美精品aⅴ在线视频| 中文字幕精品三区| 日本aⅴ免费视频一区二区三区 | 色婷婷综合久久久久中文| 91精品欧美久久久久久动漫| 专区另类欧美日韩| 久久精品国产99| 欧美三级在线播放| 国产精品国产精品国产专区不蜜| 免费在线成人网| 91高清视频在线| 国产亚洲成aⅴ人片在线观看| 午夜欧美在线一二页| 99久久婷婷国产综合精品电影| 91精品欧美福利在线观看| 亚洲男女毛片无遮挡| 国内一区二区视频| 在线播放视频一区| 亚洲精品综合在线| 国产高清视频一区| 欧美一级欧美三级| 亚洲五月六月丁香激情| 99久久久久久| 久久久www成人免费毛片麻豆| 日韩国产欧美视频| 在线看一区二区| 国产精品免费丝袜| 国产99久久久精品| 精品久久久久久久久久久院品网 | 欧美亚洲综合在线| 国产精品美女久久福利网站| 激情国产一区二区| 91精品国产品国语在线不卡| 亚洲成av人片| 91精品办公室少妇高潮对白| 国产精品福利在线播放| 成人午夜av影视| 中文幕一区二区三区久久蜜桃| 精品在线一区二区| 日韩免费视频一区二区| 日韩精品一二三区| 欧美日韩国产乱码电影| 亚洲中国最大av网站| 91麻豆免费看片| 成人欧美一区二区三区黑人麻豆 | 在线观看国产精品网站| 亚洲视频免费观看| 99re成人在线| 亚洲色图欧洲色图婷婷| 99精品国产视频| √…a在线天堂一区| 99久久99精品久久久久久| 国产精品乱人伦| caoporn国产一区二区| 亚洲天堂av老司机| 色综合久久综合网欧美综合网 | 色婷婷av一区二区三区软件| 亚洲日本青草视频在线怡红院| 91社区在线播放| 一区二区三区四区精品在线视频| 91免费版在线| 一卡二卡欧美日韩| 欧美日韩综合色| 日本女人一区二区三区| 欧美mv和日韩mv国产网站| 国产一区二区调教| 国产精品国产三级国产| 91精彩视频在线观看| 亚洲mv大片欧洲mv大片精品| 日韩欧美精品三级| 国产永久精品大片wwwapp| 亚洲国产精品精华液ab| 91亚洲精华国产精华精华液| 亚洲成人在线网站| 日韩午夜在线播放| 国产xxx精品视频大全| 亚洲免费观看在线观看| 宅男噜噜噜66一区二区66| 国产在线精品一区二区不卡了| 国产精品色眯眯| 欧美三级中文字幕在线观看| 激情五月婷婷综合网| 中日韩免费视频中文字幕| 在线观看日韩电影| 美女网站色91| 国产精品美女一区二区| 欧美日本乱大交xxxxx| 国产揄拍国内精品对白| 亚洲精品视频一区| 精品嫩草影院久久| 99久久er热在这里只有精品15| 日韩黄色一级片| 国产精品美女久久久久久久网站| 欧美色男人天堂| 国产精品99久| 亚洲国产精品久久人人爱蜜臀| 日韩欧美国产电影| 99国产精品久久久久久久久久久| 婷婷国产v国产偷v亚洲高清| 久久精品视频在线看| 欧美日韩精品免费观看视频| 国产麻豆成人传媒免费观看| 亚洲一区二区视频在线观看| 久久网站热最新地址| 欧美在线观看视频一区二区| 国产精品综合在线视频| 亚洲国产精品一区二区久久| 精品国产自在久精品国产| 在线看国产一区| 国产一区日韩二区欧美三区| 午夜精品久久久久久久| 国产精品久久久久精k8| 日韩欧美电影一二三| 欧洲另类一二三四区| 国产白丝网站精品污在线入口| 日韩精品福利网| 亚洲日本一区二区| 国产拍揄自揄精品视频麻豆| 欧美福利视频导航| 色综合天天视频在线观看 | 久久嫩草精品久久久久| 欧美日韩久久久久久| 91麻豆精品秘密| 国产成人午夜片在线观看高清观看| 午夜精品久久久久久久99樱桃| 亚洲日本免费电影| 中文字幕av资源一区| 久久中文字幕电影| 欧美一级淫片007| 欧美日韩视频专区在线播放| 91视视频在线直接观看在线看网页在线看| 久99久精品视频免费观看| 亚洲成av人在线观看| 玉足女爽爽91| **性色生活片久久毛片| 久久九九久精品国产免费直播| 欧美一级二级三级蜜桃| 欧美猛男超大videosgay| 欧美亚洲另类激情小说| 99久久99久久免费精品蜜臀| 成人成人成人在线视频| 福利一区二区在线| 黑人精品欧美一区二区蜜桃| 欧美a一区二区| 日韩福利视频网| 日韩av一区二区三区| 五月天亚洲婷婷| 亚洲成在人线免费| 日日欢夜夜爽一区| 日韩vs国产vs欧美|