Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!
  • Rust

Idiom #193 Transpose a two-dimensional matrix

Declare two two-dimensional arrays a and b of dimension n*m and m*n, respectively. Assign to b the transpose of a (i.e. the value with index interchange).

use nalgebra::DMatrix;
use rand::prelude::*;
let a = DMatrix::<u8>::from_fn(n, m, |_, _| rand::thread_rng().gen());
let b = a.transpose();

DMatrix is an alias for Matrix which has dynamic dimensions.
(def a [[1 2 3] [4 5 6] [7 8 9]])
(def b (apply (partial mapv vector) a))

New implementation...
< >
tkoenig