saddle-stalin.sc

(include "common-stalin")

(let* ((start (list 1.0 1.0))
       (f (lambda (x1 y1 x2 y2)
	   (d- (d+ (sqr x1) (sqr y1)) (d+ (sqr x2) (sqr y2)))))
       (x1*-y1*
	(multivariate-argmin
	 (lambda (x1-y1)
	  (multivariate-max
	   (lambda (x2-y2)
	    (f (car x1-y1) (car (cdr x1-y1)) (car x2-y2) (car (cdr x2-y2))))
	   start))
	 start))
       (x1* (car x1*-y1*))
       (y1* (car (cdr x1*-y1*)))
       (x2*-y2*
	(multivariate-argmax
	 (lambda (x2-y2) (f x1* y1* (car x2-y2) (car (cdr x2-y2)))) start))
       (x2* (car x2*-y2*))
       (y2* (car (cdr x2*-y2*))))
 (list (list (my-write x1*) (my-write y1*))
       (list (my-write x2*) (my-write y2*))))

Generated by GNU enscript 1.6.4.