pub fn diagonal_mut<R, T, B, D>(
tensor: &mut TensorAny<R, T, B, D>,
diagonal_args: impl Into<DiagonalArgs>,
) -> TensorMut<'_, T, B, D::SmallerOne>where
D: DimAPI + DimSmallerOneAPI,
D::SmallerOne: DimAPI,
R: DataMutAPI<Data = B::Raw>,
B: DeviceAPI<T>,