Blame


1 665c255d 2023-08-04 jrmu (defun dot-product (v w)
2 665c255d 2023-08-04 jrmu (accumulate #'+ 0 (mapcar #'* v w)))
3 665c255d 2023-08-04 jrmu (defun matrix-*-vector (m v)
4 665c255d 2023-08-04 jrmu (mapcar
5 665c255d 2023-08-04 jrmu (lambda (row)
6 665c255d 2023-08-04 jrmu (dot-product row v))
7 665c255d 2023-08-04 jrmu m))
8 665c255d 2023-08-04 jrmu (defun transpose (m)
9 665c255d 2023-08-04 jrmu (accumulate-n #'cons nil m))
10 665c255d 2023-08-04 jrmu (defun matrix-*-matrix (m n)
11 665c255d 2023-08-04 jrmu (let ((n-t (transpose n)))
12 665c255d 2023-08-04 jrmu (mapcar (lambda (row)
13 665c255d 2023-08-04 jrmu (matrix-*-vector n-t row))
14 665c255d 2023-08-04 jrmu m)))