contrib/operatingsystem: Add chdir/mkdir for ABCL.
[maxima.git] / share / lapack / lapack.system
blob68a481630d75cfb922161d18241edfc11cf41b2b
1 ;;; -*- Mode: lisp -*-
3 ;;; Defsystem for building LaPACK for Maxima.
4 ;;;
5 ;;; Use (mk:oos "lapack-interface" :compile) to compile the maxima
6 ;;; interface.
8 (mk:defsystem lapack-package
9   :source-pathname (maxima::maxima-load-pathname-directory)
10   :binary-pathname (maxima::maxima-objdir "share" "lapack")
11   :source-extension "lisp"
12   :components
13   ((:file "lapack-package")))
15 (mk:defsystem blas
16   :source-pathname (maxima::maxima-load-pathname-directory)
17   :binary-pathname (maxima::maxima-objdir "share" "lapack")
18   :source-extension "lisp"
19   :depends-on ("lapack-package")
20   :components
21   ((:module blas
22             :components
23             ((:file "daxpy")
24              (:file "dcopy")
25              (:file "ddot")
26              (:file "dnrm2")
27              (:file "dscal")
28              (:file "idamax")
30              (:file "dasum")
31              (:file "dcabs1")
32              (:file "dgbmv"
33                     :depends-on ("lsame" "xerbla"))
34              (:file "dgemm"
35                     :depends-on ("lsame" "xerbla"))
36              (:file "dgemv"
37                     :depends-on ("lsame" "xerbla"))
38              (:file "dger"
39                     :depends-on ("xerbla"))
40              (:file "drot")
41              (:file "drotg")
42              (:file "dsbmv"
43                     :depends-on ("lsame" "xerbla"))
44              (:file "dspmv"
45                     :depends-on ("lsame" "xerbla"))
46              (:file "dspr"
47                     :depends-on ("lsame" "xerbla"))
48              (:file "dspr2"
49                     :depends-on ("lsame" "xerbla"))
50              (:file "dswap")
51              (:file "dsymm"
52                     :depends-on ("lsame" "xerbla"))
53              (:file "dsymv"
54                     :depends-on ("lsame" "xerbla"))
55              (:file "dsyr"
56                     :depends-on ("lsame" "xerbla"))
57              (:file "dsyr2"
58                     :depends-on ("lsame" "xerbla"))
59              (:file "dsyr2k"
60                     :depends-on ("lsame" "xerbla"))
61              (:file "dsyrk"
62                     :depends-on ("lsame" "xerbla"))
63              (:file "dtbmv"
64                     :depends-on ("lsame" "xerbla"))
65              (:file "dtbsv"
66                     :depends-on ("lsame" "xerbla"))
67              (:file "dtpmv"
68                     :depends-on ("lsame" "xerbla"))
69              (:file "dtpsv"
70                     :depends-on ("lsame" "xerbla"))
71              (:file "dtrmm"
72                     :depends-on ("lsame" "xerbla"))
73              (:file "dtrmv"
74                     :depends-on ("lsame" "xerbla"))
75              (:file "dtrsm"
76                     :depends-on ("lsame" "xerbla"))
77              (:file "dtrsv"
78                     :depends-on ("lsame" "xerbla"))
79              (:file "dzasum"
80                     :depends-on ("dcabs1"))
81              (:file "dznrm2")
82              (:file "icamax")
83              (:file "isamax")
84              (:file "izamax"
85                     :depends-on ("dcabs1"))
86              (:file "lsame")
87              (:file "xerbla")
89              ;; Complex versions.
90              (:file "zaxpy"
91                     :depends-on ("dcabs1"))
92              (:file "zcopy")
93              (:file "zdotc")
94              (:file "zdotu")
95              (:file "zdscal")
96              (:file "zgbmv")
97              (:file "zgemm")
98              (:file "zgemv")
99              (:file "zgerc")
100              (:file "zgeru")
101              (:file "zhbmv")
102              (:file "zhemm")
103              (:file "zhemv")
104              (:file "zher")
105              (:file "zher2")
106              (:file "zher2k")
107              (:file "zherk")
108              (:file "zhpmv")
109              (:file "zhpr")
110              (:file "zhpr2")
111              (:file "zrotg")
112              (:file "zscal")
113              (:file "zswap")
114              (:file "zsymm")
115              (:file "zsyr2k")
116              (:file "zsyrk")
117              (:file "ztbmv")
118              (:file "ztbsv")
119              (:file "ztpmv")
120              (:file "ztpsv")
121              (:file "ztrmm")
122              (:file "ztrmv")
123              (:file "ztrsm")
124              (:file "ztrsv")
125              ))))
127 (mk:defsystem lapack
128   :source-pathname (maxima::maxima-load-pathname-directory)
129   :binary-pathname (maxima::maxima-objdir "share" "lapack")
130   :source-extension "lisp"
131   :depends-on ("lapack-package" "blas")
132   :components
133   (
134    (:module lapack
135     :components
136             ((:file "dgeev"
137               :depends-on ("dlartg" "dlapy2" "dgebak" "dtrevc" "dhseqr"
138                                     "dorghr" "dlacpy" "dgehrd" "dgebal"
139                                     "dlascl" "dlange" "dlabad" "dlamch"
140                                     "ilaenv"))
141              (:file "dgebak")
142              (:file "dgebal")
143              (:file "dgehrd"
144               :depends-on ("dlahrd" "dlarfb" "dgehd2" "ilaenv"))
145              (:file "dhseqr"
146               :depends-on ("dlarfx" "dlarfg" "dlapy2" "dlacpy" "dlanhs"
147                                     "dlabad" "dlamch" "dlahqr" "ilaenv"
148                                     "dlaset"))
149              (:file "dlabad")
150              (:file "dlacpy")
151              (:file "dlamch"
152               :depends-on ("dlamc2" "dlamc3" "dlamc4" "dlamc5"))
153              (:file "dlamc1"
154               :depends-on ("dlamc3"))
155              (:file "dlamc2"
156               :depends-on ("dlamc1" "dlamc3" "dlamc4" "dlamc5"))
157              (:file "dlamc3")
158              (:file "dlamc4")
159              (:file "dlamc5")
160              (:file "dlange"
161               :depends-on ("dlassq"))
162              (:file "dlapy2")
163              (:file "dlartg"
164               :depends-on ("dlamch"))
165              (:file "dlascl"
166               :depends-on ("dlamch"))
167              (:file "dorghr"
168               :depends-on ("dorgqr" "ilaenv"))
169              (:file "dtrevc"
170               :depends-on ("dlabad" "dlamch" "dlaln2"))
171              (:file "ilaenv"
172               :depends-on ("ieeeck"))
173              (:file "dlahrd"
174               :depends-on ("dlarfg"))
175              (:file "dlarfb")
176              (:file "dgehd2"
177               :depends-on ("dlarfg" "dlarf"))
178              (:file "dlaset")
179              (:file "dlahqr"
180               :depends-on ("dlanhs" "dlarfg" "dlanv2" "dlabad" "dlamch"))
181              (:file "dlanhs"
182               :depends-on ("dlassq"))
183              (:file "dlarfg"
184               :depends-on ("dlapy2" "dlamch"))
185              (:file "dlarfx")
186              (:file "dlassq")
187              (:file "dorgqr"
188               :depends-on ("dorg2r" "dlarft" "dlarfb" "ilaenv"))
189              (:file "dlaln2"
190           #+ecl :load-only #+ecl t
191               :depends-on ("dladiv"
192                            "dlamch"))
193              (:file "ieeeck")
194              (:file "dlarf")
195              (:file "dlanv2"
196               :depends-on ("dlapy2" "dlamch"))
197              (:file "dorg2r"
198               :depends-on ("dlarf"))
199              (:file "dlarft")
200              (:file "dladiv")
202              ;; DGEEVX
203              (:file "dgeevx"
204               :depends-on ("dlartg" "dlapy2" "dgebak" "dtrsna" "dtrevc"
205                                     "dhseqr" "dorghr" "dlacpy" "dgehrd"
206                                     "dgebal" "dlascl" "dlange" "dlabad"
207                                     "dlamch" "ilaenv"))
208              (:file "dtrsna"
209               :depends-on ("dtrexc" "dlacon" "dlaqtr"
210                                     "dlacpy" "dlapy2" "dlamch"))
211              (:file "dtrexc"
212               :depends-on ("dlaexc"))
213              (:file "dlacon")
214              (:file "dlaqtr"
215               :depends-on ("dladiv" "dlaln2" "dlange" "dlamch"))
216              (:file "dlaexc"
217               :depends-on ("dlasy2" "dlanv2" "dlarfg" "dlamch" "dlange"
218                                     "dlacpy" "dlartg"))
219              (:file "dlasy2"
220           #+ecl :load-only #+ecl t
221               :depends-on ("dlamch"))
223              ;; DGESV
224              (:file "dgesv"
225               :depends-on ("dgetrf" "dgetrs"))
226              (:file "dgetrf"
227               :depends-on ("dgetf2" "dlaswp" "ilaenv"))
228              (:file "dgetrs"
229               :depends-on ("dlaswp"))
230              (:file "dgetf2")
231              (:file "dlaswp")
233              ;; DGESDD
234              (:file "dgesdd"
235               :depends-on ("dorglq" "dgelqf" "dorgbr" "dormbr" "dorgqr"
236                                     "dlacpy" "dbdsdc" "dgebrd" "dlaset"
237                                     "dgeqrf" "dlascl" "dlange" "dlamch"
238                                     "ilaenv"))
239              (:file "dbdsdc"
240               :depends-on ("dlasr" "dlasda" "dlasd0" "dlamch" "dlascl"
241                                    "dlanst" "dlaset" "dlasdq"
242                                    "dlartg" "ilaenv"))
243              (:file "dgebrd"
244               :depends-on ("dlabrd" "dgebd2" "ilaenv"))
245              (:file "dgelqf"
246               :depends-on ("dgelq2" "dlarfb" "dlarft" "ilaenv"))
247              (:file "dorgbr"
248               :depends-on ("dorglq" "dorgqr" "ilaenv"))
249              (:file "dorglq"
250               :depends-on ("dorgl2" "dlarfb" "dlarft" "ilaenv"))
251              (:file "dorgl2"
252               :depends-on ("dlarf"))
253              (:file "dormbr"
254               :depends-on ("dormqr" "dormlq" "ilaenv"))
255              (:file "dlasdq"
256               :depends-on ("dlasr" "dbdsqr" "dlartg"))
257              (:file "dlanst"
258               :depends-on ("dlassq"))
259              (:file "dlasd0"
260               :depends-on ("dlasdt" "dlasd1" "dlasdq"))
261              (:file "dlasda"
262               :depends-on ("dlasd6" "dlaset" "dlasdq" "dlasdt"))
263              (:file "dlasr")
264              (:file "dlabrd"
265               :depends-on ("dlarfg"))
266              (:file "dgebd2"
267               :depends-on ("dlarf" "dlarfg"))
268              (:file "dgelq2"
269               :depends-on ("dlarf" "dlarfg"))
270              (:file "dormqr"
271               :depends-on ("dorm2r" "dlarfb" "dlarft" "ilaenv"))
272              (:file "dormlq"
273               :depends-on ("dorml2" "dlarfb" "dlarft" "ilaenv"))
274              (:file "dgeqrf"
275               :depends-on ("dgeqr2" "dlarfb" "dlarft" "ilaenv"))
276              (:file "dbdsqr"
277               :depends-on ("dlasq1" "dlasv2" "dlas2" "dlasr" "dlartg"
278                                     "dlamch"))
279              (:file "dlasq1"
280               :depends-on ("dlas2" "dlasrt" "dlasq2" "dlascl"))
281              (:file "dlasv2"
282               :depends-on ("dlamch"))
283              (:file "dlas2")
284              (:file "dlasdt")
285              (:file "dlasd1"
286               :depends-on ("dlasd2" "dlasd3" "dlamrg" "dlascl"))
287              (:file "dlasrt")
288              (:file "dlasq2"
289               :depends-on ("dlasq3" "ilaenv" "dlasrt" "dlamch"))
290              (:file "dlasd2"
291               :depends-on ("dlamrg" "dlacpy" "dlaset" "dlapy2" "dlamch"
292                                     "dlamrg"))
293              (:file "dlasd3"
294               :depends-on ("dlasd4" "dlacpy" "dlascl" "dlamch"))
295              (:file "dlamrg")
296              (:file "dlasd6"
297               :depends-on ("dlasd7" "dlasd8"))
298              (:file "dorml2")
299              (:file "dgeqr2"
300               :depends-on ("dlarf" "dlarfg"))
301              (:file "dorm2r"
302               :depends-on ("dlarf"))
303              (:file "dlasd4"
304               :depends-on ("dlasd5" "dlaed6"))
305              (:file "dlasd7"
306               :depends-on ("dlapy2" "dlamch" "dlamrg"))
307              (:file "dlasd8"
308               :depends-on ("dlasd4" "dlaset" "dlascl" "dlamch"))
309              (:file "dlasq3"
310               :depends-on ("dlasq4" "dlasq5" "dlasq6" "dlamch"))
311              (:file "dlasq4")
312              (:file "dlasq5")
313              (:file "dlasq6"
314               :depends-on ("dlamch"))
315              (:file "dlasd5")
316              (:file "dlaed6"
317               :depends-on ("dlamch"))
319              ;; DGESVD
320              (:file "dgesvd"
321               :depends-on ("dorglq" "dgelqf" "dormbr" "dorgqr" "dlacpy"
322                                     "dbdsqr" "dorgbr" "dgebrd" "dlaset"
323                                     "dgeqrf" "dlascl" "dlange" "dlamch"
324                                     "ilaenv"))
326              ;; For condition numbers of the singular vectors
327              (:file "ddisna")
328              
329              (:file "zlange"
330               :depends-on ("zlassq"))
331              (:file "zlassq")
332              ;; Complex eigen problems
333              (:file "zgeev"
334               :depends-on ("zhseqr" "zlange" "zlascl" "zgebal" "zlacpy" "zunghr"
335                                     "ztrevc" "zgebak" "zgehrd"))
336              (:file "zhseqr"
337               :depends-on ("zlaqr0" "zlaset" "zlahqr" "zlacpy"))
338              (:file "zlange"
339               :depends-on ("zlassq"))
340              (:file "zlascl"
341               :depends-on ("disnan"))
342              (:file "zgebal")
343              (:file "zlacpy"
344               :depends-on ("disnan"))
345              (:file "zunghr"
346               :depends-on ("zungqr"))
347              (:file "ztrevc"
348               :depends-on ("zlatrs"))
349              (:file "zgebak"
350               :depends-on ("zlatrs"))
351              (:file "zlatrs"
352               :depends-on ("zladiv"))
353              (:file "zungqr"
354               :depends-on ("zung2r" "zlarft" "zlarfb"))
355              (:file "disnan"
356               :depends-on ("dlaisnan"))
357              (:file "dlaisnan")
358              (:file "zlassq")
359              (:file "zladiv")
360              (:file "zung2r"
361               :depends-on ("zlarf"))
362              (:file "zlarft"
363               :depends-on ("zlacgv"))
364              (:file "zlarfb"
365               :depends-on ("ilazlr" "ilazlc" "zlacgv"))
366              (:file "ilazlr")
367              (:file "ilazlc")
368              (:file "zlacgv")
369              (:file "zlarf"
370               :depends-on ("ilazlc" "ilazlr"))
371              (:file "zlaqr0"
372               :depends-on ("zlahqr" "zlaqr3" "zlaqr4" "zlaqr5" "zlacpy"))
373              (:file "zlaset")
374              (:file "zlaqr3"
375               :depends-on ("zgehrd" "zunmhr" "zlahqr" "ztrexc" "zlarfg"
376                                     "zlaqr4" "zlacpy" "zlaset"))
377              (:file "zlaqr4"
378               :depends-on ("zlaqr2" "zlahqr" "zlacpy" "zlaqr5"))
379              (:file "zlaqr5"
380               :depends-on ("zlaqr1" "zlarfg" "zlaset" "zlacpy"))
381              (:file "zlaqr1")
382              (:file "zlaqr2"
383               :depends-on ("zunmhr" "ztrexc" "zlacpy" "zlaset"))
384              (:file "zlarfg"
385               :depends-on ("dlapy3" "zladiv"))
386              (:file "zlahqr"
387               :depends-on ("zlarfg" "zladiv"))
388              (:file "zgehrd"
389               :depends-on ("zlahr2" "zgehd2" "zlarfb"))
390              (:file "zunmhr"
391               :depends-on ("zunmqr"))
392              (:file "ztrexc"
393               :depends-on ("zlartg" "zrot" "zunm2r"))
394              (:file "dlapy3")
395              (:file "zlartg")
396              (:file "zrot")
397              (:file "zunmqr"
398               :depends-on ("zunm2r" "zlarft" "zlarfb"))
399              (:file "zlahr2"
400               :depends-on ("zlacgv" "zlacpy"))
401              (:file "zgehd2"
402               :depends-on ("zlarfg" "zlarf"))
403              (:file "zunm2r")
404              ;; zheev
405              (:file "zheev"
406               :depends-on ("dsterf" "zhetrd" "zlanhe" "zsteqr" "zungtr"))
407              (:file "dsterf"
408               :depends-on ("dlae2"))
409              (:file "zhetrd"
410               :depends-on ("zlatrd" "zhetd2"))
411              (:file "zsteqr"
412               :depends-on ("dlaev2" "zlasr" "dlae2"))
413              (:file "zlanhe")
414              (:file "zungtr"
415               :depends-on ("zungql"))
416              (:file "dlae2")
417              (:file "dlaev2")
418              (:file "zhetd2")
419              (:file "zlasr")
420              (:file "zlatrd")
421              (:file "zungql"
422               :depends-on ("zung2l"))
423              (:file "zung2l")
424              ))))
426 (mk:defsystem lapack-interface
427   :source-pathname (maxima::maxima-load-pathname-directory)
428   :binary-pathname (maxima::maxima-objdir "share" "lapack")
429   :source-extension "lisp"
430   :depends-on ("lapack")
431   :components
432   (
433    (:file "eigensys")
434    (:file "dgesv")
435    (:file "dgeqrf")
436    (:file "dgemm")))