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

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

?? gf2exfactoring.txt

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

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

MODULE: GF2EXFactoring

SUMMARY:

Routines are provided for factorization of polynomials over GF2E, as
well as routines for related problems such as testing irreducibility
and constructing irreducible polynomials of given degree.

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

#include <NTL/GF2EX.h>
#include <NTL/pair_GF2EX_long.h>

void SquareFreeDecomp(vec_pair_GF2EX_long& u, const GF2EX& f);
vec_pair_GF2EX_long SquareFreeDecomp(const GF2EX& f);

// Performs square-free decomposition.  f must be monic.  If f =
// prod_i g_i^i, then u is set to a list of pairs (g_i, i).  The list
// is is increasing order of i, with trivial terms (i.e., g_i = 1)
// deleted.


void FindRoots(vec_GF2E& x, const GF2EX& f);
vec_GF2E FindRoots(const GF2EX& f);

// f is monic, and has deg(f) distinct roots.  returns the list of
// roots

void FindRoot(GF2E& root, const GF2EX& f);
GF2E FindRoot(const GF2EX& f);


// finds a single root of f.  assumes that f is monic and splits into
// distinct linear factors


void SFBerlekamp(vec_GF2EX& factors, const GF2EX& f, long verbose=0);
vec_GF2EX  SFBerlekamp(const GF2EX& f, long verbose=0);

// Assumes f is square-free and monic.  returns list of factors of f.
// Uses "Berlekamp" approach, as described in detail in [Shoup,
// J. Symbolic Comp. 20:363-397, 1995].


void berlekamp(vec_pair_GF2EX_long& factors, const GF2EX& f, 
               long verbose=0);

vec_pair_GF2EX_long berlekamp(const GF2EX& f, long verbose=0);


// returns a list of factors, with multiplicities.  f must be monic.
// Calls SFBerlekamp.



void NewDDF(vec_pair_GF2EX_long& factors, const GF2EX& f, const GF2EX& h,
         long verbose=0);

vec_pair_GF2EX_long NewDDF(const GF2EX& f, const GF2EX& h,
         long verbose=0);


// This computes a distinct-degree factorization.  The input must be
// monic and square-free.  factors is set to a list of pairs (g, d),
// where g is the product of all irreducible factors of f of degree d.
// Only nontrivial pairs (i.e., g != 1) are included.  The polynomial
// h is assumed to be equal to X^{2^{GF2E::degree()}} mod f,
// which can be computed efficiently using the function FrobeniusMap 
// (see below).
// This routine  implements the baby step/giant step algorithm 
// of [Kaltofen and Shoup, STOC 1995], 
// further described in [Shoup, J. Symbolic Comp. 20:363-397, 1995].

// NOTE: When factoring "large" polynomials,
// this routine uses external files to store some intermediate
// results, which are removed if the routine terminates normally.
// These files are stored in the current directory under names of the
// form ddf-*-baby-* and ddf-*-giant-*.
// The definition of "large" is controlled by the variable

      extern double GF2EXFileThresh

// which can be set by the user.  If the sizes of the tables
// exceeds GF2EXFileThresh KB, external files are used.
// Initial value is 256.



void EDF(vec_GF2EX& factors, const GF2EX& f, const GF2EX& h,
         long d, long verbose=0);

vec_GF2EX EDF(const GF2EX& f, const GF2EX& h,
         long d, long verbose=0);

// Performs equal-degree factorization.  f is monic, square-free, and
// all irreducible factors have same degree.  
// h = X^{2^{GF2E::degree()}} mod f,
// which can be computed efficiently using the function FrobeniusMap 
// (see below).
// d = degree of irreducible factors of f.  
// This routine implements the algorithm of [von zur Gathen and Shoup,
// Computational Complexity 2:187-224, 1992]

void RootEDF(vec_GF2EX& factors, const GF2EX& f, long verbose=0);
vec_GF2EX RootEDF(const GF2EX& f, long verbose=0);

// EDF for d==1


void SFCanZass(vec_GF2EX& factors, const GF2EX& f, long verbose=0);
vec_GF2EX SFCanZass(const GF2EX& f, long verbose=0);

// Assumes f is monic and square-free.  returns list of factors of f.
// Uses "Cantor/Zassenhaus" approach, using the routines NewDDF and
// EDF above.


void CanZass(vec_pair_GF2EX_long& factors, const GF2EX& f, 
             long verbose=0);

vec_pair_GF2EX_long CanZass(const GF2EX& f, long verbose=0);


// returns a list of factors, with multiplicities.  f must be monic.
// Calls SquareFreeDecomp and SFCanZass.

// NOTE: these routines use modular composition.  The space
// used for the required tables can be controlled by the variable
// GF2EXArgBound (see GF2EX.txt).



void mul(GF2EX& f, const vec_pair_GF2EX_long& v);
GF2EX mul(const vec_pair_GF2EX_long& v);

// multiplies polynomials, with multiplicities


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

                            Irreducible Polynomials

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

long ProbIrredTest(const GF2EX& f, long iter=1);

// performs a fast, probabilistic irreduciblity test.  The test can
// err only if f is reducible, and the error probability is bounded by
// 2^{-iter*GF2E::degree()}.  This implements an algorithm from [Shoup,
// J. Symbolic Comp. 17:371-391, 1994].

long DetIrredTest(const GF2EX& f);

// performs a recursive deterministic irreducibility test.  Fast in
// the worst-case (when input is irreducible).  This implements an
// algorithm from [Shoup, J. Symbolic Comp. 17:371-391, 1994].

long IterIrredTest(const GF2EX& f);

// performs an iterative deterministic irreducibility test, based on
// DDF.  Fast on average (when f has a small factor).

void BuildIrred(GF2EX& f, long n);
GF2EX BuildIrred_GF2EX(long n);

// Build a monic irreducible poly of degree n. 

void BuildRandomIrred(GF2EX& f, const GF2EX& g);
GF2EX BuildRandomIrred(const GF2EX& g);

// g is a monic irreducible polynomial.  Constructs a random monic
// irreducible polynomial f of the same degree.

void FrobeniusMap(GF2EX& h, const GF2EXModulus& F);
GF2EX FrobeniusMap(const GF2EXModulus& F);

// Computes h = X^{2^{GF2E::degree()}} mod F, 
// by either iterated squaring or modular
// composition.  The latter method is based on a technique developed
// in Kaltofen & Shoup (Faster polynomial factorization over high
// algebraic extensions of finite fields, ISSAC 1997).  This method is
// faster than iterated squaring when deg(F) is large relative to
// GF2E::degree().


long IterComputeDegree(const GF2EX& h, const GF2EXModulus& F);

// f is assumed to be an "equal degree" polynomial, and h =
// X^{2^{GF2E::degree()}} mod f (see function FrobeniusMap above) 
// The common degree of the irreducible factors
// of f is computed.  Uses a "baby step/giant step" algorithm, similar
// to NewDDF.  Although asymptotocally slower than RecComputeDegree
// (below), it is faster for reasonably sized inputs.

long RecComputeDegree(const GF2EX& h, const GF2EXModulus& F);

// f is assumed to be an "equal degree" polynomial, h = X^{2^{GF2E::degree()}}
// mod f (see function FrobeniusMap above).  
// The common degree of the irreducible factors of f is
// computed. Uses a recursive algorithm similar to DetIrredTest.

void TraceMap(GF2EX& w, const GF2EX& a, long d, const GF2EXModulus& F,
              const GF2EX& h);

GF2EX TraceMap(const GF2EX& a, long d, const GF2EXModulus& F,
              const GF2EX& h);

// Computes w = a+a^q+...+^{q^{d-1}} mod f; it is assumed that d >= 0,
// and h = X^q mod f, q a power of 2^{GF2E::degree()}.  This routine
// implements an algorithm from [von zur Gathen and Shoup,
// Computational Complexity 2:187-224, 1992].
// If q = 2^{GF2E::degree()}, then h can be computed most efficiently
// by using the function FrobeniusMap above.

void PowerCompose(GF2EX& w, const GF2EX& h, long d, const GF2EXModulus& F);

GF2EX PowerCompose(const GF2EX& h, long d, const GF2EXModulus& F);

// Computes w = X^{q^d} mod f; it is assumed that d >= 0, and h = X^q
// mod f, q a power of 2^{GF2E::degree()}.  This routine implements an
// algorithm from [von zur Gathen and Shoup, Computational Complexity
// 2:187-224, 1992].
// If q = 2^{GF2E::degree()}, then h can be computed most efficiently
// by using the function FrobeniusMap above.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲五码中文字幕| 久久精品国产亚洲高清剧情介绍| 国产精品欧美一区喷水| 国产精品久久一卡二卡| 日韩福利电影在线| 国产成人免费在线| 久久久久国产精品厨房| 亚洲一区二区三区视频在线| 成人一区二区三区中文字幕| 欧美伊人久久久久久久久影院 | 99久久精品情趣| 91精品一区二区三区在线观看| 国产亚洲欧美中文| 国内精品写真在线观看| 日韩精品资源二区在线| 婷婷综合久久一区二区三区| 欧美日韩不卡一区二区| 亚洲www啪成人一区二区麻豆| 欧美日韩精品电影| 91色|porny| 日韩电影在线免费看| 一区二区三区高清| 7777精品久久久大香线蕉| 91久久精品一区二区二区| 一区2区3区在线看| 亚洲男人的天堂在线观看| 日本高清不卡视频| 色综合夜色一区| 亚洲国产人成综合网站| 亚洲一二三区视频在线观看| 亚洲激情综合网| 欧美成人性福生活免费看| 国产九色sp调教91| 亚洲精品一卡二卡| 亚洲观看高清完整版在线观看 | 亚洲国产精品一区二区www| 亚洲色图欧美偷拍| 久久久久国产精品人| 国产精品污www在线观看| 亚洲欧美国产毛片在线| 亚洲成人综合网站| 91免费版在线| 欧美成人a在线| 亚洲欧洲精品一区二区精品久久久 | 天天av天天翘天天综合网色鬼国产| 亚洲网友自拍偷拍| 韩国毛片一区二区三区| 99久久精品国产网站| 国产黄色成人av| 欧美性xxxxxx少妇| 国产精品第五页| 麻豆成人久久精品二区三区红 | 91久色porny | 成人理论电影网| 久久精品网站免费观看| 欧美午夜精品久久久久久超碰| 26uuu国产一区二区三区| 日本精品视频一区二区| 久久精品一区四区| 无码av免费一区二区三区试看| 99国产精品一区| 国产嫩草影院久久久久| 久久久久9999亚洲精品| 一区二区三区欧美久久| 色噜噜久久综合| 最新国产精品久久精品| 不卡av电影在线播放| 成人免费视频caoporn| 欧美精品一区二区蜜臀亚洲| 欧美国产国产综合| 一片黄亚洲嫩模| 欧美视频一区二区在线观看| 一片黄亚洲嫩模| 欧美一区二区三区在线| 国产亚洲午夜高清国产拍精品| 久久精品999| 久久久久久久久久久黄色| 国产成人免费视频一区| 中文字幕第一区二区| 91麻豆国产精品久久| 偷偷要91色婷婷| 精品成人免费观看| 成人午夜av影视| 午夜视频一区二区| 国产性做久久久久久| 91成人看片片| 国产精品资源网站| 午夜精品福利久久久| 国产精品久久一卡二卡| 欧美日韩电影在线播放| 国产suv一区二区三区88区| 91精品国产黑色紧身裤美女| 岛国一区二区三区| 亚洲成av人片在线观看无码| 久久尤物电影视频在线观看| 欧美自拍偷拍一区| 一级中文字幕一区二区| 国产婷婷色一区二区三区| 欧美精品一二三| 日韩av一二三| 亚洲观看高清完整版在线观看 | 中文字幕在线一区二区三区| 欧美精品在线观看一区二区| 91黄色激情网站| 91亚洲国产成人精品一区二三| 国产麻豆精品一区二区| 国产视频一区二区三区在线观看| 欧美无砖砖区免费| 欧美亚洲精品一区| 日韩精品在线网站| 日韩欧美视频在线| 精品欧美久久久| 久久久久综合网| 国产精品麻豆99久久久久久| 久久久噜噜噜久久中文字幕色伊伊| 欧美精品一区二区三| 国产亚洲成av人在线观看导航 | 欧美一区二区三级| 日韩视频免费观看高清完整版在线观看| 日本成人在线网站| 久久99精品国产.久久久久| 国产精品对白交换视频 | 日韩欧美激情四射| 欧美一级淫片007| 国产农村妇女精品| 亚洲一区二区三区国产| 精品一区二区在线视频| 97精品视频在线观看自产线路二| 色噜噜夜夜夜综合网| www成人在线观看| 一区二区成人在线| kk眼镜猥琐国模调教系列一区二区| 亚洲一区二区3| 国产乱码字幕精品高清av | 欧美性一区二区| 国产亚洲精久久久久久| 污片在线观看一区二区| 99综合影院在线| 亚洲伦理在线免费看| 免费不卡在线视频| 亚洲成人黄色小说| 99视频有精品| 国产精品女上位| 国产老肥熟一区二区三区| 欧美日韩一区二区不卡| 欧美色综合久久| 樱花影视一区二区| 91丨国产丨九色丨pron| 中文字幕一区二区三区在线播放 | 国产一区二区在线免费观看| 欧美精品99久久久**| 午夜精品久久久久久不卡8050| 色综合天天综合| 亚洲国产一区二区三区| 欧美熟乱第一页| 一区二区三区美女| 欧美日韩免费一区二区三区| 亚洲成人激情自拍| 欧美成人高清电影在线| 国产精品一区久久久久| 久久久久国产成人精品亚洲午夜| 国产91丝袜在线观看| 国产日本亚洲高清| 色一情一伦一子一伦一区| 欧美一区二区三区思思人 | 99视频热这里只有精品免费| 亚洲老司机在线| 欧美成人国产一区二区| 成人丝袜高跟foot| 亚洲精品ww久久久久久p站| 日韩欧美国产系列| 欧美午夜精品电影| 国产不卡视频在线播放| 亚洲一区在线观看免费观看电影高清| 欧美一区二区在线播放| youjizz国产精品| 精品一区二区三区香蕉蜜桃| 综合欧美亚洲日本| 久久综合久久鬼色| 欧美日本不卡视频| 色综合久久中文综合久久97| 国产久卡久卡久卡久卡视频精品| 亚洲午夜在线电影| 亚洲精品视频免费观看| 久久久久久一级片| 欧美xxxx在线观看| 欧美日韩午夜影院| 日本高清不卡视频| 色先锋aa成人| 成人一区二区三区| 国产成人一级电影| 成人午夜av电影| 国产很黄免费观看久久| 久久精品噜噜噜成人av农村| 午夜精品久久一牛影视| 亚洲久本草在线中文字幕| 亚洲精品国产无套在线观| 一区二区三区四区不卡在线| 自拍偷拍国产亚洲| 洋洋成人永久网站入口|