Subversion Repositories wimsdev

Rev

Rev 20 | Rev 4158 | 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
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
3265 bpr 11
slib_require=maxima
20 reyssat 12
!exit
13
 
14
:proc
15
slib_data=$wims_read_parm
16
!if [ isin $slib_data
17
slib_data=!items2lines $slib_data
18
slib_1=!line 1 of $slib_data
19
slib_1=!declosing $slib_1
20
slib_2=!line 2 of $slib_data
21
slib_2=!declosing $slib_2
22
slib_data=$slib_1\\
23
$slib_2
24
!endif
25
slib_data=!translate internal ; to $\
26
$ in $slib_data
27
 
28
!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
29
 
30
!distribute line $slib_data into  slib_liste, slib_text
31
 
32
slib_cnt1=!itemcnt $slib_liste
33
slib_cnt2=!itemcnt $slib_text
34
!if $slib_cnt1<=$slib_cnt2
35
slib_cnt=$slib_cnt1
36
!else
37
slib_cnt=$slib_cnt2
38
!endif
39
!if $slib_cnt>25
40
slib_cnt=25
41
!endif
42
slib_a=0
43
!for slib_i=1 to $slib_cnt
44
slib_A=!item $slib_i of $slib_liste
45
slib_a=$slib_a+($slib_A)*$(slib_N$[$slib_cnt1+1-$slib_i])
46
!next slib_i
47
slib_a=!exec maxima $slib_a
48
 
49
slib_a=!replace internal * by  in $slib_a
50
 
51
!for slib_i=1 to $slib_cnt1
52
slib_A=!item $slib_i of $slib_text
53
slib_a=!replace internal $(slib_N$[$slib_cnt1+1-$slib_i]) by $slib_A in $slib_a
54
!next slib_i
55
slib_out =$slib_a
56
 
57
slib_out= !trim $slib_out
58
slib_out=!line -1 of $slib_out
59
!endif
60