anchor.diff:          (sqrt (loop for i from 0 to (1- len) sum
                      (expt (- (elt p1 i) (elt p2 i)) 2))))))
   
  -(defmacro *min (l)
  -  (let ((ll (gensym)))
  -  `(let ((,ll (coerce ,l 'list)))
  -     (min ,@ll)
  -     )))
  +(defmacro point-distance-multi (pn)
  +  (let* ((len (length pn))
  +         (symbols (loop for i from 1 to len collect
  +                       (gensym)))) ;(print len) (print symbols)
  +    `(map 'SIMPLE-VECTOR (lambda (,@symbols) (/ (+ ,@symbols) ,len))
  +            ,@pn)))
   
   (defun org-matrix (matrix arrayList)
     (let* ((len (length arrayList))
  
positive.code:                                    (point-distance thisArray (nth a arrayList))))
                  (minVal (car (sort (copy-seq distanceList) #'<)))
                  (po (position minVal distanceList)))
             (print "here")
             (setf (nth po arraysReList) (push thisArray (nth po arraysReList)))
             (print distanceList)
             (print po)
             (print arraysReList)
                  ))))
  
  #|
  (defun K-mean (matrix K &key (iterTime 1000))
    "matrix is input matrix included all train data set, K is cluster number"
    (let ((result '())   ;result is a list for all cluster center point
  
negative.code:         (colNum (array-dimension matrix 1))
          (initKArray (loop for i from 0 to (1- K) collect
                               (array-slice matrix (random rowNum *random-state*)))))
      (do* ((i 1 (incf i))
            (poitsList initKArray  
  
  