(def start '(-3 -1 -3 -1)) (defun wood-func (x) (let ( (x1 (elt x 0)) (x2 (elt x 1)) (x3 (elt x 2)) (x4 (elt x 3)) ) (let ( (t1 (* 100 (^ (- (^ x1 2) x2) 2))) (t2 (^ (- 1 x1) 2)) (t3 (* 90 (^ (- (^ x3 2) x4) 2))) (t4 (^ (- 1 x3) 2)) (t5 (* 10.1 (+ (^ (- 1 x2) 2) (^ (- 1 x4) 2)))) (t6 (* 19.8 (- 1 x2) (- 1 x4))) ) (- (+ t1 t2 t3 t4 t5 t6)) ))) (defun wood-grad (x) (let ( (x1 (elt x 0)) (x2 (elt x 1)) (x3 (elt x 2)) (x4 (elt x 3)) ) (let ( (g1 (- (* 200 (- (^ x1 2) x2) (* 2 x1)) (* 2 (- 1 x1)))) (g2 (+ (* -200 (- (^ x1 2) x2)) (* -20.2 (- 1 x2)) (* -19.8 (- 1 x4)))) (g3 (- (* 180 (- (^ x3 2) x4) (* 2 x3)) (* 2 (- 1 x3)))) (g4 (+ (* -180 (- (^ x3 2) x4)) (* -20.2 (- 1 x4)) (* -19.8 (- 1 x2)))) ) (- (list g1 g2 g3 g4)) ))) (defun wood (x) (list (wood-func x) (wood-grad x)))