
Clear.
What is
k? What issuitably large? I already have large numbers.
I tried this WITHOUT k:
l = {{257919033808285386982723138014073293916017582745217658572688730, 1, 0, 0, 0,
0}, {96867973320263572974115044506030258341444464854943648267515408, 0, 1, 0, 0,
0}, {214758871433111497694995539195891916824955066662252282354181736, 0, 0, 1, 0,
0}, {178844682241391008034534910988268609252058699869308978135021308, 0, 0, 0, 1,
0}, {71733070775806610412706498828294541707518193810809428776054804, 0, 0, 0, 0, 1}}
LatticeReduce[l]
Then I get
{{0, -1365671033120, 545322066131, 436640563446, 1229893282094, -199684715714}, {0, 866429285712, 2201930198201, -1701760529785, -629220915678, 574851531904}, {-2504853201882, 457178461453, 187071007770, -1221360285756, -142958107186, 2116583547143}, {-1403276934308, 1405303909932, 1893904650270, -561119435707, -967865797993, -3517349825058}, {0, 949922988714, -1339433516640, -3217456270186, 3769708645892, -1372729142485}}
And remove first component from each vector and remove vectors that doesn't have '0' at the first position:
{{-1365671033120, 545322066131, 436640563446, 1229893282094, -199684715714},
{866429285712, 2201930198201, -1701760529785, -629220915678, 574851531904},
{949922988714, -1339433516640, -3217456270186, 3769708645892, 1372729142485}}
b_1,1...b_l-2,1- means that I should take first element in each vector and paste it in the first row? I meana_n,m, where n - is a column, m - is a row?
and the matrix looks like:
{{-1365671033120,866429285712,949922988714,1,0,0,0,0},
{545322066131,2201930198201,-1339433516640,0,1,0,0,0},
{436640563446,-1701760529785,-3217456270186,0,0,1,0,0},
{1229893282094,-629220915678,3769708645892,0,0,0,1,0},
{-199684715714,574851531904,-1372729142485,0,0,0,0,1}}
LatticeReduce[k]
And I get
{{-8420349, 697170, -12106726, 14903570, 7006595, 12609061, 8539170, -2627280}, {24559242, 7478123, -1193768, -1648108, -2882806, -1692731, 1741079, 10421138}, {-12381450, 30655040, 10519029, -1983832, -1821438, -1804204, -4431, 4621051}, {18435788, -10167847, 22696964, 9681481, 7146820, 8558281, 2240963, -14179160}, {701255, -4498071, 17194245, 8153258, -2535483, 5996610, 12784479, 29168907}}
And remove all, except last l components of each vector:
{{14903570, 7006595, 12609061, 8539170, -2627280},
{-1648108, -2882806, -1692731, 1741079, 10421138},
{-1983832, -1821438, -1804204, -4431, 4621051},
{9681481, 7146820, 8558281,2240963, -14179160},
{8153258, -2535483, 5996610, 12784479, 29168907}}
Q1: Why at the end of 3 step I got matrix 5x5. Where is my {x',y'}?
Q2: In the 4th step, why I get vectorS z, but not one vector? I mean x = 2*{1,2}+3*{0,1} = {2,7} isn't it?
Update:
I updated matrixes at the 2 and 3 steps.
HermiteDecomposition method gives me the same result at the 2 step, as I tried without k.
There are still two questions, please, tell me am I on the right way? I mean, steps 2 and 3 are seems to be right? And what about {x',y'}?
Out[334]= {{-4, 0, 0, 0, 23}, {-3, 0, 0, 23, 0}, {-2, 0, 23, 0, 0}, {-1, 23, 0, 0, 0}}`
– Daniel Lichtblau Jan 10 '15 at 20:41k. This is because the instructions are incomplete: you only take those vecotrs for which the first component is 0 (the rest of the vector providing the null relation part). Notice that you do not have 4 such vectors, but only 3, so your null space is not completely generated by the "correct" vectors. And if you took all of them then some are not in the null space. – Daniel Lichtblau Jan 10 '15 at 22:24HermiteDecompositionand then useLatticeReduceon those. The advantage is you do not need to guess at the size of thatkmultiplier (or work out the math) do that it will guarantee obtaining a full basis of the null space. – Daniel Lichtblau Jan 10 '15 at 22:26kin this case is actually the kappa appearing in the post, in parts 2 and 3 (though there is not enough context for me to say whether those must be the same values). As for thekof LLL, actually there's a system option for that.. – Daniel Lichtblau Jan 10 '15 at 22:32HermiteDecompositionand removing vectors that has no zero at the first position. – user3360601 Jan 10 '15 at 22:59latticeReduce, (2) UseFactorInteger, and to answer one that you did not ask, (3) Don't useLatticeReduceto factor integers (it can be used to factor polynomials; it was in fact invented with that purpose in mind). I think I have seen but one article on factoring integers with LLL, and that was from around 30 years ago. LLL might be quite useful in a crypto setting, but for straight integer factorization it has not seen much work. – Daniel Lichtblau Jan 11 '15 at 20:40