Subversion Repositories wimsdev

Rev

Rev 3265 | Go to most recent revision | Details | 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
4
!set slib_title=simplify a linear combination with tex data
5
slib_parms=2\
6
, numerical list\
7
, symbol list\
8
slib_author=Bernadette PERRIN-RIOU
9
slib_out=a1 V1+a2 V2+  
10
slib_comment= simplify the expression (if a1=0, negative); the numbers of items is bounded by 25
11
!exit
12
 
13
:proc
14
slib_data=$wims_read_parm
15
!if [ isin $slib_data
16
slib_data=!items2lines $slib_data
17
slib_1=!line 1 of $slib_data
18
slib_1=!declosing $slib_1
19
slib_2=!line 2 of $slib_data
20
slib_2=!declosing $slib_2
21
slib_data=$slib_1\\
22
$slib_2
23
!endif
24
slib_data=!translate internal ; to $\
25
$ in $slib_data
26
 
27
!distribute items  sliba ,slibb,slibc,slibd,slibe,slibf,slibg,slibh,slibi,slibj,slibk,slibl,slibm,slibn,slibo,slibp,slibq,slibr,slibs,slibt,slibu,slibv,slibw,slibx,sliby,slibz into slib_N1,slib_N2,slib_N3,slib_N4,slib_N5,slib_N6,slib_N7,slib_N8,slib_N9,slib_N10,slib_N11,slib_N12,slib_N13,slib_N14,slib_N15,slib_N16,slib_N17,slib_N18,slib_N19,slib_N20,slib_N21,slib_N22,slib_N23,slib_N24,slib_N25
28
 
29
!distribute line $slib_data into  slib_liste, slib_text
30
 
31
slib_cnt1=!itemcnt $slib_liste
32
slib_cnt2=!itemcnt $slib_text
33
!if $slib_cnt1<=$slib_cnt2
34
slib_cnt=$slib_cnt1
35
!else
36
slib_cnt=$slib_cnt2
37
!endif
38
!if $slib_cnt>25
39
slib_cnt=25
40
!endif
41
slib_a=0
42
!for slib_i=1 to $slib_cnt
43
slib_A=!item $slib_i of $slib_liste
44
slib_a=$slib_a+($slib_A)*$(slib_N$[$slib_cnt1+1-$slib_i])
45
!next slib_i
46
slib_a=!exec maxima $slib_a
47
 
48
slib_a=!replace internal * by  in $slib_a
49
 
50
!for slib_i=1 to $slib_cnt1
51
slib_A=!item $slib_i of $slib_text
52
slib_a=!replace internal $(slib_N$[$slib_cnt1+1-$slib_i]) by $slib_A in $slib_a
53
!next slib_i
54
slib_out =$slib_a
55
 
56
slib_out= !trim $slib_out
57
slib_out=!line -1 of $slib_out
58
!endif
59