Skip to main content

diag

Function diag 

Source
pub fn diag<T: Zero + One + Clone, D: Dim>(
    v: &Slice<T, (D,)>,
) -> Array<T, (D, D)>
Expand description

Creates a diagonal matrix from a 1D slice, placing its elements on the main diagonal.

ยงExamples

use mdarray::{Const, array, view};
use mdarray_linalg::utils::diag;

let v = view![1., 2., 3.];
let d = diag(&v);
assert_eq!(d, array![[1.,0.,0.],[0.,2.,0.],[0.,0.,3.]]);