File: gauss.lisp

package info (click to toggle)
maxima-sage 5.45.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 113,788 kB
  • sloc: lisp: 440,833; fortran: 14,665; perl: 14,369; tcl: 10,997; sh: 4,475; makefile: 2,520; ansic: 447; python: 262; xml: 59; awk: 37; sed: 17
file content (57 lines) | stat: -rw-r--r-- 1,616 bytes parent folder | download | duplicates (15)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
;; Author Barton Willis
;; University of Nebraska at Kearney
;; Copyright (C) 2004, Barton Willis

;; Brief Description: Maxima code for linear homogeneous second order
;; differential equations.

;; Maxima odelin is free software; you can redistribute it and/or
;; modify it under the terms of the GNU General Public License,
;; http://www.gnu.org/copyleft/gpl.html.

;; Maxima odelin has NO WARRANTY, not even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

($put '$gauss 1 '$version)

(putprop '$gauss_a
	 `((a b c x)
	   ((unk) "$first" "$gauss_a")
	   ((unk) "$second" "$gauss_a")
	   ((unk) "$third" "$gauss_a")
	   (($dgauss_a) a b c x))
	 'grad)

(putprop '$dgauss_a
	 `((a b c x)
	   ((unk) "$first" "$dgauss_a")
	   ((unk) "$second" "$dgauss_a")
	   ((unk) "$third" "$dgauss_a")
	   ((mtimes) ((mexpt) ((mplus) 1 ((mtimes) -1 x)) -1)
	    ((mexpt) x -1)
	    ((mplus) ((mtimes) a (($gauss_a) a b c x) b)
	     ((mtimes) (($dgauss_a) a b c x)
	      ((mplus) ((mtimes) -1 c)
	       ((mtimes) ((mplus) 1 a b) x))))))
	 'grad)

(putprop '$gauss_b
	 `((a b c x)
	   ((unk) "$first" "$gauss_b")
	   ((unk) "$second" "$gauss_b")
	   ((unk) "$third" "$gauss_b")
	   (($dgauss_b) a b c x))
	 'grad)

(putprop '$dgauss_b
	 `((a b c x)
	   ((unk) "$first" "$dgauss_b")
	   ((unk) "$second" "$dgauss_b")
	   ((unk) "$third" "$dgauss_b")
	   ((mtimes) ((mexpt) ((mplus) 1 ((mtimes) -1 x)) -1)
	    ((mexpt) x -1)
	    ((mplus) ((mtimes) a (($gauss_b) a b c x) b)
	     ((mtimes) (($dgauss_b) a b c x)
	      ((mplus) ((mtimes) -1 c)
	       ((mtimes) ((mplus) 1 a b) x))))))
	 'grad)