Matrix transposition: Difference between revisions

→‎{{header|Common Lisp}}: Transpose a matrix given as a array.
(→‎{{header|Common Lisp}}: Transpose a matrix given as a array.)
Line 603:
 
=={{header|Common Lisp}}==
<lang lisp>(defunIf transposethe (m)matrix is given as a list:
 
(defun transpose (m)
(apply #'mapcar #'list m))</lang>
 
If the matrix A is given as a 2D array:
 
<lang lisp>
;; Transpose a mxn matrix A to a nxm matrix B=A'.
(defun mtp (A)
(let* ((m (car (array-dimensions A)))
(n (cadr (array-dimensions A)))
(B (make-array `(,n ,m) :initial-element 0)))
(loop for i from 0 to (- m 1) do
(loop for j from 0 to (- n 1) do
(setf (aref B j i)
(aref A i j))))
B))</lang>
 
=={{header|D}}==
69

edits