### Update

main
parent 7c695b47eb
commit 40fc24500d
1 changed files with 7 additions and 25 deletions

#### 32 carleman.lisp Unescape Escape View File

 `@ -28,24 +28,6 @@` `; look for the compiled file like "convolution.o" and from now on:` `; load("carleman.o")\$` ``` ``` `; Usage` `; -----` `; Two functions are provided here:` `; * carleman(v)` `; * carleman_diag(v)` `; The most important is the second one.` `;` `; Both functions compute the Carleman matrix of a function given as` `; a list of coefficients from its Taylor expansion at 0.` `; For instance: carleman([0,2,1,0,0,0,0,0]); for f(x)=x^2+2x` `;` `; The size of resulting matrices will match the length of the initial list.` `;` `; The second function returns the diagonalized Carleman matrix as a list` `; of three matrices whose dot product is the Carleman matrix.` ``` ``` ``` ``` ``` ``` `; Compute the Carleman matrix for series whose coefficients are in v.` `; Return a list of lists.` `; The vector v contains Maxima objects, but the car '(mlist simp) should` `@ -62,7 +44,7 @@` ` (addn` ` (loop for a in x` ` for b in u` ` collect (mul a b))) s))` ` collect (mul a b)) NIL) s))` ` finally (return s))` ` collect u)))` ``` ``` `@ -84,7 +66,7 @@` ` (addn` ` (loop for e in x` ` for f in u` ` collect (mul e f)))` ` collect (mul e f)) NIL)` ` (sub d1 d2)) x)` ` for d2 = (div d1 d) then (div d2 d)` ` finally (setf (cdr z) r)` `@ -115,7 +97,7 @@` ` (addn` ` (loop for e in x` ` for f in u` ` collect (mul e f)))` ` collect (mul e f)) NIL)` ` (sub d1 d2)) (cdr y))` ` finally (return (append q x)))))` ``` ``` `@ -128,7 +110,7 @@` `(defun \$carleman (v)` ` (simplifya (cons '(\$matrix)` ` (mapcar #'(lambda (x) (simplify (cons '(mlist) x)))` ` (carleman (cdr v))))))` ` (carleman (cdr v)))) NIL))` ``` ``` `; Let M be the Carleman matrix of a function having 0 as a fixed point` `; (ie. f(0)=0) and f'(0) not in {0, 1} ; now, V(M) is such` `@ -148,13 +130,13 @@` ` ; left part` ` (simplifya` ` (cons '(\$matrix) (mapcar #'(lambda (x) (simplify (cons '(mlist) x)))` ` (carleman-diag-left m d))))` ` (carleman-diag-left m d))) NIL)` ` ; diagonal matrix` ` (simplifya` ` (cons '(\$matrix) (mapcar #'(lambda (x) (simplify (cons '(mlist) x)))` ` (carleman-diag-middle m d))))` ` (carleman-diag-middle m d))) NIL)` ` ; right part` ` (simplifya` ` (cons '(\$matrix) (mapcar #'(lambda (x) (simplify (cons '(mlist) x)))` ` (carleman-diag-right m d))))))))` ` (carleman-diag-right m d))) NIL)) NIL)))` ` `