1load_package listvecops;
2
3
4
5a := {a1,a2,a3,a4};
6
7
8a := {a1,a2,a3,a4}
9
10
11b := {b1,b2,b3,b4};
12
13
14b := {b1,b2,b3,b4}
15
16
17a + b;
18
19
20{a1 + b1,
21
22 a2 + b2,
23
24 a3 + b3,
25
26 a4 + b4}
27
28
29a - b;
30
31
32{a1 - b1,
33
34 a2 - b2,
35
36 a3 - b3,
37
38 a4 - b4}
39
40
41-a;
42
43
44{ - a1, - a2, - a3, - a4}
45
46
473*x*a +7*y*b;
48
49
50{3*a1*x + 7*b1*y,
51
52 3*a2*x + 7*b2*y,
53
54 3*a3*x + 7*b3*y,
55
56 3*a4*x + 7*b4*y}
57
58
59{a,b} + {b,a};
60
61
62{{a1 + b1,
63
64  a2 + b2,
65
66  a3 + b3,
67
68  a4 + b4},
69
70 {a1 + b1,
71
72  a2 + b2,
73
74  a3 + b3,
75
76  a4 + b4}}
77
78
79{a,b} - {b,a};
80
81
82{{a1 - b1,
83
84  a2 - b2,
85
86  a3 - b3,
87
88  a4 - b4},
89
90 { - a1 + b1,
91
92   - a2 + b2,
93
94   - a3 + b3,
95
96   - a4 + b4}}
97
98
99a*b;
100
101
102{a1*b1,
103
104 a2*b2,
105
106 a3*b3,
107
108 a4*b4}
109
110
111{a*b,{x,y}}*{{1,1,1,1},{3,5}};
112
113
114{{a1*b1,
115
116  a2*b2,
117
118  a3*b3,
119
120  a4*b4},
121
122 {3*x,5*y}}
123
124
125a/b + b/a;
126
127
128    2     2
129  a1  + b1
130{-----------,
131    a1*b1
132
133    2     2
134  a2  + b2
135 -----------,
136    a2*b2
137
138    2     2
139  a3  + b3
140 -----------,
141    a3*b3
142
143    2     2
144  a4  + b4
145 -----------}
146    a4*b4
147
148
1493*a/{1,2,3,4} + {x,y,z,u}*5;
150
151
152{3*a1 + 5*x,
153
154  3*a2 + 10*y
155 -------------,
156       2
157
158 a3 + 5*z,
159
160  3*a4 + 20*u
161 -------------}
162       4
163
164
1651/a;
166
167
168  1    1    1    1
169{----,----,----,----}
170  a1   a2   a3   a4
171
172
173a^3;
174
175
176   3   3   3   3
177{a1 ,a2 ,a3 ,a4 }
178
179
180a^b;
181
182
183   b1
184{a1  ,
185
186   b2
187 a2  ,
188
189   b3
190 a3  ,
191
192   b4
193 a4  }
194
195
196x^a + b;
197
198
199  a1
200{x   + b1,
201
202  a2
203 x   + b2,
204
205  a3
206 x   + b3,
207
208  a4
209 x   + b4}
210
211
212a^b;
213
214
215   b1
216{a1  ,
217
218   b2
219 a2  ,
220
221   b3
222 a3  ,
223
224   b4
225 a4  }
226
227
228a *. b;
229
230
231a1*b1 + a2*b2 + a3*b3 + a4*b4
232
233
234{a,{3,5,7,9}} *. {{2,4,6,8},b};
235
236
2372*a1 + 4*a2 + 6*a3 + 8*a4 + 3*b1 + 5*b2 + 7*b3 + 9*b4
238
239
240a *. log b;
241
242
243log(b1)*a1 + log(b2)*a2 + log(b3)*a3 + log(b4)*a4
244
245
246df({sin x*y,x^3*cos y},x,2,y);
247
248
249{ - sin(x), - 6*sin(y)*x}
250
251
252int({sin x,cos x},x);
253
254
255{ - cos(x),sin(x)}
256
257
258% Example of a list-valued procedure.
259
260listproc spat3(u,v,w);
261   begin scalar x,y;
262     x := u *. w;
263     y := u *. v;
264     return v*x - w*y
265   end;
266
267
268spat3
269
270
271u := {ux,uy,uz};
272
273
274u := {ux,uy,uz}
275
276v := {vx,vy,vz};
277
278
279v := {vx,vy,vz}
280
281w := {wx,wy,wz};
282
283
284w := {wx,wy,wz}
285
286
287z := spat3(u,v,w) - 3*spat3(v,u,w);
288
289
290z := { - 3*ux*vy*wy - 3*ux*vz*wz + uy*vx*wy + 2*uy*vy*wx + uz*vx*wz + 2*uz*vz*wx
291
292      ,
293
294      2*ux*vx*wy + ux*vy*wx - 3*uy*vx*wx - 3*uy*vz*wz + uz*vy*wz + 2*uz*vz*wy,
295
296      2*ux*vx*wz + ux*vz*wx + 2*uy*vy*wz + uy*vz*wy - 3*uz*vx*wx - 3*uz*vy*wy}
297
298
299spat3(u,v,w)+spat3(u,w,v);
300
301
302{0,0,0}
303
304
305% Accesing list elements with infix operator _ .
306
307l := {1,{2,3},4};
308
309
310l := {1,{2,3},4}
311
312
313l _2*3;
314
315
316{6,9}
317
318
319l _2 _2;
320
321
3223
323
324
325
326end;
327
328Tested on x86_64-pc-windows CSL
329Time (counter 1): 0 ms  plus GC time: 16 ms
330
331End of Lisp run after 0.00+0.06 seconds
332real 0.21
333user 0.01
334sys 0.07
335