Rev 4351 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
20 | reyssat | 1 | !if $wims_read_parm!=slib_header |
2 | !goto proc |
||
3 | !endif |
||
4158 | bpr | 4 | |
4351 | bpr | 5 | slib_author=Bernadette, Perrin-Riou |
20 | reyssat | 6 | slib_example= 4,3,3 |
3265 | bpr | 7 | slib_require=pari |
20 | reyssat | 8 | !exit |
9 | |||
10 | :proc |
||
11 | !distribute items $wims_read_parm into slib_size,slib_range,slib_n, slib_ring |
||
12 | !default slib_ring=Q |
||
13 | !bound slib_size between integer 2 and 20 default 2 |
||
14 | !bound slib_n between integer 1 and $slib_size default 2 |
||
7692 | bpr | 15 | !bound slib_range between integer 1 and 1000000 |
16 | !default slib_range=4 |
||
20 | reyssat | 17 | |
18 | |||
19 | !if $slib_ring=Q |
||
20 | !readproc slib/matrix/givenrank $slib_n,$slib_size,$slib_n,$slib_range |
||
21 | !!slib_matrix=!translate internal ; to $\ |
||
22 | $ in $slib_out |
||
23 | |||
24 | slib_matrix=$slib_out |
||
4349 | bpr | 25 | slib_out=!exec pari {slib_A=matid($slib_size);slib_n=$slib_n; \ |
20 | reyssat | 26 | slib_M= Mat([$slib_matrix]);\\ |
4349 | bpr | 27 | for(slib_j=1 , slib_n,slib_vv=slib_M[slib_j,]; slib_A=slib_A*(matid($slib_size)-2/norml2(slib_vv)*slib_vv~*slib_vv));\ |
20 | reyssat | 28 | print(slib_A)} |
29 | |||
30 | slib_out= !trim $slib_out |
||
31 | slib_out=!line -1 of $slib_out |
||
32 | |||
33 | !endif |