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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? lll.txt

?? 一個(gè)比較通用的大數(shù)運(yùn)算庫(kù)
?? TXT
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):

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

MODULE: LLL

SUMMARY:

Routines are provided for lattice basis reduction, including both
exact-aritmetic variants (slow but sure) and floating-point variants
(fast but only approximate).

For an introduction to the basics of LLL reduction, see
[H. Cohen, A Course in Computational Algebraic Number Theory, Springer, 1993].

The LLL algorithm was introduced in [A. K. Lenstra, H. W. Lenstra, and
L. Lovasz, Math. Ann. 261 (1982), 515-534].

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




#include <NTL/mat_ZZ.h>



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

                         Exact Arithmetic Variants

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




long LLL(ZZ& det2, mat_ZZ& B, long verbose = 0);
long LLL(ZZ& det2, mat_ZZ& B, mat_ZZ& U, long verbose = 0);

long LLL(ZZ& det2, mat_ZZ& B, long a, long b, long verbose = 0);
long LLL(ZZ& det2, mat_ZZ& B, mat_ZZ& U, long a, long b, long verbose = 0);


// performs LLL reduction.

// B is an m x n matrix, viewed as m rows of n-vectors.  m may be less
// than, equal to, or greater than n, and the rows need not be
// linearly independent.  B is transformed into an LLL-reduced basis,
// and the return value is the rank r of B.  The first m-r rows of B
// are zero.  

// More specifically, elementary row transformations are performed on
// B so that the non-zero rows of new-B form an LLL-reduced basis
// for the lattice spanned by the rows of old-B.
// The default reduction parameter is delta=3/4, which means
// that the squared length of the first non-zero basis vector
// is no more than 2^{r-1} times that of the shortest vector in
// the lattice.

// det2 is calculated as the *square* of the determinant
// of the lattice---note that sqrt(det2) is in general an integer
// only when r = n.

// In the second version, U is set to the transformation matrix, so
// that U is a unimodular m x m matrix with U * old-B = new-B.
// Note that the first m-r rows of U form a basis (as a lattice)
// for the kernel of old-B. 

// The third and fourth versions allow an arbitrary reduction
// parameter delta=a/b, where 1/4 < a/b <= 1, where a and b are positive
// integers.
// For a basis reduced with parameter delta, the squared length
// of the first non-zero basis vector is no more than 
// 1/(delta-1/4)^{r-1} times that of the shortest vector in the
// lattice (see, e.g., the article by Schnorr and Euchner mentioned below).

// The algorithm employed here is essentially the one in Cohen's book.


// Some variations:

long LLL_plus(vec_ZZ& D, mat_ZZ& B, long verbose = 0);
long LLL_plus(vec_ZZ& D, mat_ZZ& B, mat_ZZ& U, long verbose = 0);

long LLL_plus(vec_ZZ& D, mat_ZZ& B, long a, long b, long verbose = 0);
long LLL_plus(vec_ZZ& D, mat_ZZ& B, mat_ZZ& U, long a, long b, 
              long verbose = 0);

// These are variations that return a bit more information about the
// reduced basis.  If r is the rank of B, then D is a vector of length
// r+1, such that D[0] = 1, and for i = 1..r, D[i]/D[i-1] is equal to
// the square of the length of the i-th vector of the Gram-Schmidt basis
// corresponding to the (non-zero) rows of the LLL reduced basis B.
// In particular, D[r] is equal to the value det2 computed by the
// plain LLL routines.

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

                      Computing Images and Kernels

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


long image(ZZ& det2, mat_ZZ& B, long verbose = 0);
long image(ZZ& det2, mat_ZZ& B, mat_ZZ& U, long verbose = 0);

// This computes the image of B using a "cheap" version of the LLL:
// it performs the usual "size reduction", but it only swaps
// vectors when linear dependencies are found.
// I haven't seen this described in the literature, but it works 
// fairly well in practice, and can also easily be shown
// to run in a reasonable amount of time with reasonably bounded
// numbers.

// As in the above LLL routines, the return value is the rank r of B, and the
// first m-r rows will be zero.  U is a unimodular m x m matrix with 
// U * old-B = new-B.  det2 has the same meaning as above.

// Note that the first m-r rows of U form a basis (as a lattice)
// for the kernel of old-B. 
// This is a reasonably practical algorithm for computing kernels.
// One can also apply image() to the kernel to get somewhat
// shorter basis vectors for the kernels (there are no linear
// dependencies, but the size reduction may anyway help).
// For even shorter kernel basis vectors, on can apply
// LLL(). 


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

                    Finding a vector in a lattice 

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

long LatticeSolve(vec_ZZ& x, const mat_ZZ& A, const vec_ZZ& y, long reduce=0);

// This tests if for given A and y, there exists x such that x*A = y;
// if so, x is set to a solution, and the value 1 is returned;
// otherwise, x is left unchanged, and the value 0 is returned.

// The optional parameter reduce controls the 'quality' of the
// solution vector;  if the rows of A are linearly dependent, 
// there are many solutions, if there are any at all.
// The value of reduce controls the amount of effort that goes
// into finding a 'short' solution vector x.

//    reduce = 0: No particular effort is made to find a short solution.

//    reduce = 1: A simple 'size reduction' algorithm is run on kernel(A);
//                this is fast, and may yield somewhat shorter
//                solutions than the default, but not necessarily
//                very close at all to optimal.

//    reduce = 2: the LLL algorithm is run on kernel(A);
//                this may be significantly slower than the other options,
//                but yields solutions that are provably close to optimal.
//                More precisely, if kernel(A) has rank k,
//                then the squared length of the obtained solution
//                is no more than max(1, 2^(k-2)) times that of 
//                the optimal solution.  This makes use of slight
//                variation of Babai's approximately nearest vector algorithm.

// Of course, if the the rows of A are linearly independent, then
// the value of reduce is irrelevant: the solution, if it exists,
// is unique.

// Note that regardless of the value of reduce, the algorithm
// runs in polynomial time, and hence the bit-length of the solution
// vector is bounded by a polynomial in the bit-length of the inputs.




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

                   Floating Point Variants

There are a number of floating point LLL variants available:
you can choose the precision, the orthogonalization strategy,
and the reduction condition.

The wide variety of choices may seem a bit bewildering.
See below the discussion "How to choose?".

*** Precision:

  FP -- double
  QP -- quad_float (quasi quadruple precision)
        this is useful when roundoff errors can cause problems
  XD -- xdouble (extended exponent doubles)
        this is useful when numbers get too big
  RR -- RR (arbitrary precision floating point)
        this is useful for large precision and magnitudes

  Generally speaking, the choice FP will be the fastest,
  but may be prone to roundoff errors and/or overflow.
  

*** Orthogonalization Strategy: 

  -- Classical Gramm-Schmidt Orthogonalization.
     This choice uses classical methods for computing
     the Gramm-Schmidt othogonalization.
     It is fast but prone to stability problems.
     This strategy was first proposed by Schnorr and Euchner
     [C. P. Schnorr and M. Euchner, Proc. Fundamentals of Computation Theory, 
     LNCS 529, pp. 68-85, 1991].  
     The version implemented here is substantially different, improving
     both stability and performance.

  -- Givens Orthogonalization.
     This is a bit slower, but generally much more stable,
     and is really the preferred orthogonalization strategy.
     For a nice description of this, see Chapter 5 of  
     [G. Golub and C. van Loan, Matrix Computations, 3rd edition,
     Johns Hopkins Univ. Press, 1996].


?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久久久久| 欧美精品三级日韩久久| 亚洲国产cao| 国产色产综合产在线视频| 欧美日韩你懂得| 成人精品国产一区二区4080| 日韩va亚洲va欧美va久久| 国产精品久久久久天堂| 337p粉嫩大胆色噜噜噜噜亚洲| 日本道在线观看一区二区| 国产一区二区伦理| 日本女人一区二区三区| 亚洲美女区一区| 国产精品福利av| 国产亚洲欧美一区在线观看| 亚洲欧美另类小说视频| 日本一区二区三级电影在线观看| 欧美一区二区三区四区视频| 色综合久久88色综合天天| 国产馆精品极品| 激情欧美一区二区| 蜜桃一区二区三区四区| 午夜日韩在线观看| 一区二区三区不卡在线观看| 中文字幕日韩av资源站| 久久蜜臀精品av| 久久精品一级爱片| 亚洲精品一区在线观看| 日韩久久精品一区| 制服丝袜成人动漫| 欧美日韩高清一区二区不卡| 欧美特级限制片免费在线观看| 91丨九色丨黑人外教| 色综合一区二区| 99久久99久久精品免费看蜜桃| 国产成人av电影在线| 国产夫妻精品视频| 成人午夜电影网站| 成人黄色网址在线观看| 不卡电影一区二区三区| 99re热这里只有精品视频| 99久久免费精品高清特色大片| 成人av手机在线观看| 97精品国产露脸对白| 91蝌蚪porny九色| 色狠狠色狠狠综合| 欧美日韩高清在线播放| 欧美久久久久久久久中文字幕| 制服丝袜一区二区三区| 日韩免费高清视频| 国产午夜亚洲精品羞羞网站| 欧美激情中文字幕一区二区| 国产精品福利电影一区二区三区四区| 亚洲欧美精品午睡沙发| 亚洲综合激情另类小说区| 亚洲h在线观看| 久久国产精品区| 国产91精品露脸国语对白| 99r国产精品| 在线观看91精品国产入口| 欧美日韩免费观看一区三区| 欧美一区二区三区婷婷月色| 精品成人一区二区三区四区| 国产精品久久久久久久久免费樱桃| 国产精品国产三级国产普通话蜜臀| 亚洲蜜臀av乱码久久精品| 天天色天天爱天天射综合| 青椒成人免费视频| 成人综合日日夜夜| 欧美视频在线一区二区三区| 日韩午夜av电影| 中文在线资源观看网站视频免费不卡| 亚洲人精品午夜| 美国十次了思思久久精品导航| 国产精品白丝jk黑袜喷水| 91小视频免费看| 日韩一级完整毛片| 国产精品沙发午睡系列990531| 亚洲综合一二区| 日韩一级免费观看| 中文字幕二三区不卡| 亚洲美女电影在线| 国产一区二区在线看| 色成人在线视频| 久久欧美一区二区| 亚洲永久精品国产| 国产99精品视频| 6080yy午夜一二三区久久| 国产精品久久久久久久久久久免费看| 亚洲成人一区二区在线观看| 国产乱妇无码大片在线观看| 欧美日韩一区二区三区不卡| 国产欧美久久久精品影院| 日本不卡的三区四区五区| 不卡的av电影| 欧美精品一区二区三区视频| 亚洲激情av在线| 国内久久精品视频| 欧美久久久久久久久| 亚洲欧洲日韩一区二区三区| 免费欧美日韩国产三级电影| 日本电影欧美片| 国产精品国产成人国产三级| 国产在线国偷精品免费看| 欧美日韩成人综合在线一区二区 | 欧美mv日韩mv国产网站app| 亚洲欧美在线aaa| 国产一区二区免费视频| 欧美日韩aaa| 亚洲最新视频在线播放| 成人av先锋影音| 国产欧美1区2区3区| 麻豆专区一区二区三区四区五区| 欧美中文字幕一区二区三区| 中文字幕亚洲综合久久菠萝蜜| 激情欧美日韩一区二区| 欧美一区二区三区小说| 午夜精品在线视频一区| 欧美性受xxxx| 亚洲免费在线观看视频| 91女神在线视频| 国产精品成人一区二区艾草| 丁香一区二区三区| 国产性色一区二区| 国产大片一区二区| 久久久久久麻豆| 国产不卡视频在线播放| 久久精品人人做| 国产精品一二三| 国产午夜久久久久| 国产成a人亚洲精品| 欧美国产日韩一二三区| 成人网男人的天堂| 中文字幕高清不卡| 97se亚洲国产综合自在线观| 国产精品久久精品日日| 成人h精品动漫一区二区三区| 国产欧美日韩另类一区| 成人自拍视频在线| 亚洲视频在线一区| 在线亚洲一区二区| 性做久久久久久免费观看| 欧美丰满美乳xxx高潮www| 日韩高清中文字幕一区| 欧美一级生活片| 久久精品国产**网站演员| 久久精品人人做人人综合| 成人少妇影院yyyy| 一区二区三区日本| 欧美日韩国产一级| 蜜桃一区二区三区四区| 久久视频一区二区| 97国产一区二区| 亚洲成人av福利| 欧美一区二区三区播放老司机| 久久精品国产第一区二区三区| 久久亚洲一区二区三区明星换脸| 国产高清久久久久| 亚洲视频免费在线观看| 中文字幕一区二区在线播放| 91年精品国产| 免费亚洲电影在线| 中文字幕在线免费不卡| 欧美午夜精品久久久久久孕妇| 秋霞午夜鲁丝一区二区老狼| 2020国产成人综合网| 91麻豆123| 久久国产视频网| 国产精品理伦片| 6080午夜不卡| 国产91清纯白嫩初高中在线观看 | 国产视频一区在线观看| gogogo免费视频观看亚洲一| 亚洲成人福利片| 久久精品人人做人人综合| 在线亚洲人成电影网站色www| 日本aⅴ精品一区二区三区| 国产欧美精品在线观看| 欧美日韩精品一区二区三区 | 日韩欧美在线网站| 成人污视频在线观看| 五月激情综合色| 国产欧美日韩亚州综合 | 欧美日韩国产片| 国产精品一二三四| 亚洲777理论| 国产精品成人午夜| 日韩一卡二卡三卡| 日本韩国欧美三级| 国产精品一区三区| 婷婷综合五月天| 最新欧美精品一区二区三区| 欧美一区二区在线视频| 97se亚洲国产综合自在线观| 久久精品国产秦先生| 亚洲国产精品久久久久婷婷884| 国产午夜精品福利| 在线综合视频播放| 日本黄色一区二区| 成人sese在线|