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

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

?? zz_pxfactoring.h

?? 一個比較通用的大數運算庫
?? H
字號:


#ifndef NTL_ZZ_pXFactoring__H
#define NTL_ZZ_pXFactoring__H

#include <NTL/ZZ.h>
#include <NTL/ZZ_p.h>
#include <NTL/ZZ_pX.h>
#include <NTL/pair_ZZ_pX_long.h>

NTL_OPEN_NNS




/************************************************************

                      factorization routines 

************************************************************/





void SquareFreeDecomp(vec_pair_ZZ_pX_long& u, const ZZ_pX& f);
inline vec_pair_ZZ_pX_long SquareFreeDecomp(const ZZ_pX& f)
   { vec_pair_ZZ_pX_long x; SquareFreeDecomp(x, f); return x; }

// Performs square-free decomposition.
// f must be monic.
// If f = prod_i g_i^i, then u is set to a lest 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_ZZ_p& x, const ZZ_pX& f);
inline vec_ZZ_p FindRoots(const ZZ_pX& f)
   { vec_ZZ_p x; FindRoots(x, f); return x; }

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

void FindRoot(ZZ_p& root, const ZZ_pX& f);
inline ZZ_p FindRoot(const ZZ_pX& f)
   { ZZ_p x; FindRoot(x, f); return x; }

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


void SFBerlekamp(vec_ZZ_pX& factors, const ZZ_pX& f, long verbose=0);
inline vec_ZZ_pX SFBerlekamp(const ZZ_pX& f, long verbose=0)
   { vec_ZZ_pX x; SFBerlekamp(x, f, verbose); return x; }

// Assumes f is square-free and monic.
// returns list of factors of f.
// Uses "Berlekamp" appraoch.


void berlekamp(vec_pair_ZZ_pX_long& factors, const ZZ_pX& f, long verbose=0);
inline vec_pair_ZZ_pX_long 
berlekamp(const ZZ_pX& f, long verbose=0)
   { vec_pair_ZZ_pX_long x; berlekamp(x, f, verbose); return x; }

// returns a list of factors, with multiplicities.
// f must be monic.
// Uses "Berlekamp" appraoch.


extern long ZZ_pX_BlockingFactor;
// Controls GCD blocking for DDF.

void DDF(vec_pair_ZZ_pX_long& factors, const ZZ_pX& f, const ZZ_pX& h,
         long verbose=0);

inline vec_pair_ZZ_pX_long DDF(const ZZ_pX& f, const ZZ_pX& h,
         long verbose=0)
   { vec_pair_ZZ_pX_long x; DDF(x, f, h, verbose); return x; }

// Performs distinct-degree factorization.
// Assumes f is monic and square-free,  and h  = X^p mod f
// Obsolete: see NewDDF, below.

extern long ZZ_pX_GCDTableSize; /* = 4 */
// Controls GCD blocking for NewDDF

extern char ZZ_pX_stem[]; 
// Determines filename stem for external storage in NewDDF.

extern double ZZ_pXFileThresh; /* = 128 */
// external files are used for baby/giant steps if size
// of these tables exceeds ZZ_pXFileThresh KB.

void NewDDF(vec_pair_ZZ_pX_long& factors, const ZZ_pX& f, const ZZ_pX& h,
         long verbose=0);

inline vec_pair_ZZ_pX_long NewDDF(const ZZ_pX& f, const ZZ_pX& h,
         long verbose=0)
   { vec_pair_ZZ_pX_long x; NewDDF(x, f, h, verbose); return x; }

// same as above, but uses baby-step/giant-step method


void EDF(vec_ZZ_pX& factors, const ZZ_pX& f, const ZZ_pX& b,
         long d, long verbose=0);

inline vec_ZZ_pX EDF(const ZZ_pX& f, const ZZ_pX& b,
         long d, long verbose=0)
   { vec_ZZ_pX x; EDF(x, f, b, d, verbose); return x; }

// Performs equal-degree factorization.
// f is monic, square-free, and all irreducible factors have same degree.
// b = X^p mod f.
// d = degree of irreducible factors of f
// Space for the trace-map computation can be controlled via ComposeBound.



void RootEDF(vec_ZZ_pX& factors, const ZZ_pX& f, long verbose=0);
inline vec_ZZ_pX RootEDF(const ZZ_pX& f, long verbose=0)
   { vec_ZZ_pX x; RootEDF(x, f, verbose); return x; }

// EDF for d==1

void SFCanZass(vec_ZZ_pX& factors, const ZZ_pX& f, long verbose=0);
inline vec_ZZ_pX SFCanZass(const ZZ_pX& f, long verbose=0)
   { vec_ZZ_pX x; SFCanZass(x, f, verbose); return x; }

// Assumes f is monic and square-free.
// returns list of factors of f.
// Uses "Cantor/Zassenhaus" approach.



void CanZass(vec_pair_ZZ_pX_long& factors, const ZZ_pX& f, 
      long verbose=0);

inline vec_pair_ZZ_pX_long CanZass(const ZZ_pX& f, long verbose=0)
   { vec_pair_ZZ_pX_long x; CanZass(x, f, verbose); return x; }

// returns a list of factors, with multiplicities.
// f must be monic.
// Uses "Cantor/Zassenhaus" approach.


void mul(ZZ_pX& f, const vec_pair_ZZ_pX_long& v);
inline ZZ_pX mul(const vec_pair_ZZ_pX_long& v)
   { ZZ_pX x; mul(x, v); return x; }

// multiplies polynomials, with multiplicities


/*************************************************************

            irreducible poly's:  tests and constructions

**************************************************************/

long ProbIrredTest(const ZZ_pX& 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 p^{-iter}.

long DetIrredTest(const ZZ_pX& f);

// performs a recursive deterministic irreducibility test
// fast in the worst-case (when input is irreducible).

long IterIrredTest(const ZZ_pX& f);

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

void BuildIrred(ZZ_pX& f, long n);
inline ZZ_pX BuildIrred_ZZ_pX(long n)
   { ZZ_pX x; BuildIrred(x, n); NTL_OPT_RETURN(ZZ_pX, x); }

// Build a monic irreducible poly of degree n.

void BuildRandomIrred(ZZ_pX& f, const ZZ_pX& g);
inline ZZ_pX BuildRandomIrred(const ZZ_pX& g)
   { ZZ_pX x; BuildRandomIrred(x, g); NTL_OPT_RETURN(ZZ_pX, x); }

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


long ComputeDegree(const ZZ_pX& h, const ZZ_pXModulus& F);

// f = F.f is assumed to be an "equal degree" polynomial
// h = X^p mod f
// the common degree of the irreducible factors of f is computed
// This routine is useful in counting points on elliptic curves

long ProbComputeDegree(const ZZ_pX& h, const ZZ_pXModulus& F);

// same as above, but uses a slightly faster probabilistic algorithm
// the return value may be 0 or may be too big, but for large p
// (relative to n), this happens with very low probability.



void TraceMap(ZZ_pX& w, const ZZ_pX& a, long d, const ZZ_pXModulus& F,
              const ZZ_pX& b);

inline ZZ_pX TraceMap(const ZZ_pX& a, long d, const ZZ_pXModulus& F,
              const ZZ_pX& b)
   { ZZ_pX x; TraceMap(x, a, d, F, b); return x; }

// w = a+a^q+...+^{q^{d-1}} mod f;
// it is assumed that d >= 0, and b = X^q mod f, q a power of p
// Space allocation can be controlled via ComposeBound (see <NTL/ZZ_pX.h>)



void PowerCompose(ZZ_pX& w, const ZZ_pX& a, long d, const ZZ_pXModulus& F);
inline ZZ_pX PowerCompose(const ZZ_pX& a, long d, const ZZ_pXModulus& F)
   { ZZ_pX x; PowerCompose(x, a, d, F); return x; }

// w = X^{q^d} mod f;
// it is assumed that d >= 0, and b = X^q mod f, q a power of p
// Space allocation can be controlled via ComposeBound (see <NTL/ZZ_pX.h>)


NTL_CLOSE_NNS

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级免费观看| 欧美日韩你懂得| 美女网站色91| 婷婷开心久久网| 亚洲国产日日夜夜| 五月天丁香久久| 日韩电影在线免费看| 日韩精品午夜视频| 免费三级欧美电影| 国内精品伊人久久久久av一坑| 激情六月婷婷久久| 国产超碰在线一区| 成人av动漫网站| 欧美午夜精品一区二区三区| 欧美日韩久久久久久| 欧美一区欧美二区| 久久婷婷综合激情| 亚洲色图欧洲色图| 日韩成人午夜电影| 国产在线一区二区| 成人黄动漫网站免费app| 色综合天天视频在线观看| 欧洲av一区二区嗯嗯嗯啊| 51精品国自产在线| 精品福利av导航| ●精品国产综合乱码久久久久| 一区二区三区影院| 老司机精品视频一区二区三区| 国产精品一区二区三区四区| 久久久久成人黄色影片| 日本韩国精品一区二区在线观看| 99久久婷婷国产| 在线综合亚洲欧美在线视频| 久久综合精品国产一区二区三区| 国产精品久久久久aaaa樱花 | 日韩1区2区日韩1区2区| 国产乱码字幕精品高清av| 精品国产一区二区三区av性色| 美女视频一区二区三区| 国产精品综合在线视频| 91一区二区在线观看| 欧美亚洲一区二区在线| 欧美一区二区三区免费| 欧美国产视频在线| 日韩国产欧美在线播放| 91视频免费观看| 精品久久五月天| 亚洲一区二区在线观看视频| 国产风韵犹存在线视精品| 欧美美女网站色| 亚洲欧美中日韩| 久久91精品久久久久久秒播| 欧美天天综合网| 成人免费一区二区三区视频| 久久国产精品无码网站| 欧美天堂一区二区三区| 国产精品成人一区二区艾草 | 成人性视频网站| 99久久国产综合精品女不卡| 精品噜噜噜噜久久久久久久久试看 | 国产一区二区三区蝌蚪| 欧美色男人天堂| 国产精品理论片| 国产一区二区不卡在线| 日韩精品资源二区在线| 亚洲一线二线三线视频| 99久久久国产精品免费蜜臀| 久久精品无码一区二区三区| 国产欧美1区2区3区| 国产成人三级在线观看| 8x8x8国产精品| 亚洲午夜成aⅴ人片| 色婷婷激情一区二区三区| 国产精品视频一二三| 福利一区二区在线| 国产精品无圣光一区二区| 国产在线国偷精品免费看| 日韩欧美成人一区二区| 日本女人一区二区三区| 久久综合视频网| 蜜桃视频一区二区三区| 精品欧美一区二区三区精品久久| 日韩电影在线观看一区| 日韩免费一区二区| 国产精品夜夜爽| 中文字幕不卡在线观看| 91视频www| 亚洲人123区| 欧美日韩视频在线第一区| 亚洲一区二区高清| 欧美一区二区在线不卡| 麻豆精品久久久| 日本一区二区三区四区在线视频 | 欧美性色欧美a在线播放| 亚洲激情六月丁香| 欧美日韩一区不卡| 麻豆久久久久久| 国产日韩亚洲欧美综合| 99精品视频在线免费观看| 亚洲制服丝袜在线| 精品国产乱码久久久久久牛牛| 国产美女在线精品| 亚洲免费色视频| 欧美一区二区三区视频在线观看| 久久国产尿小便嘘嘘尿| 中文字幕一区二区5566日韩| 欧美日韩在线播放一区| 国产伦精品一区二区三区免费 | 国产一区二区影院| 亚洲日本韩国一区| 欧美一区二区三区的| 成人丝袜高跟foot| 视频一区视频二区中文| 亚洲国产高清aⅴ视频| 欧美日韩久久久一区| 懂色av一区二区三区免费观看| 亚洲一区二区三区四区在线观看| 欧美成人性战久久| 欧美中文字幕亚洲一区二区va在线| 日韩制服丝袜av| 日韩一区有码在线| 日韩你懂的在线播放| 欧美在线综合视频| 国产综合色精品一区二区三区| 依依成人综合视频| 欧美激情一区在线| 欧美成人艳星乳罩| 色狠狠综合天天综合综合| 国产精品国产三级国产普通话99 | 一片黄亚洲嫩模| www精品美女久久久tv| 欧美日韩一区二区在线视频| 成人精品免费视频| 麻豆精品视频在线观看视频| 一区二区欧美在线观看| 欧美国产精品一区二区三区| 日韩精品在线一区二区| 欧美在线一区二区三区| 91丝袜国产在线播放| 成人一区二区三区在线观看| 狠狠色丁香久久婷婷综合丁香| 午夜日韩在线观看| 亚洲综合一区在线| 亚洲三级电影网站| 中文字幕中文乱码欧美一区二区| www成人在线观看| 日韩欧美国产1| 日韩欧美国产一区二区三区| 欧美久久久久久久久久| 欧洲激情一区二区| 欧美日韩免费一区二区三区 | 国产精品自拍av| 国内成+人亚洲+欧美+综合在线| 丝袜美腿亚洲综合| 午夜精品久久久久久久| 天天影视色香欲综合网老头| 一区二区三区日韩欧美精品 | 美女一区二区久久| 麻豆精品一区二区综合av| 精品精品欲导航| 亚洲精品在线免费播放| 91精品福利在线一区二区三区| 欧美影视一区在线| 欧美三区在线观看| 欧美日韩国产123区| 日韩一本二本av| 亚洲精品一区二区三区影院| 亚洲精品一线二线三线无人区| 久久九九国产精品| 椎名由奈av一区二区三区| 一区二区三区在线播放| 日韩精彩视频在线观看| 国模套图日韩精品一区二区 | 日韩欧美国产一区在线观看| 久久新电视剧免费观看| 国产精品成人在线观看 | 91精品国产福利| xfplay精品久久| 亚洲人成网站色在线观看| 日日噜噜夜夜狠狠视频欧美人| 男人操女人的视频在线观看欧美| 九九久久精品视频| 成人毛片在线观看| 日本高清成人免费播放| 欧美不卡一二三| 中文字幕一区二区在线播放| 亚洲成人www| 丰满少妇久久久久久久| 欧美无乱码久久久免费午夜一区| 欧美成人乱码一区二区三区| 中文字幕一区不卡| 麻豆精品精品国产自在97香蕉| 成人黄色电影在线 | 欧美色图在线观看| 国产午夜亚洲精品理论片色戒 | 97久久人人超碰| 欧美一区二区三区在线视频| 自拍av一区二区三区| 国产一区二区三区蝌蚪| 7777女厕盗摄久久久|