Skip to main content

gesvd

Function gesvd 

Source
pub fn gesvd<T: SolverScalar>(
    handle: &DnHandle,
    jobu: u8,
    jobvt: u8,
    m: i32,
    n: i32,
    a: &mut DeviceBuffer<T>,
    lda: i32,
    s: &mut DeviceBuffer<T::Real>,
    u: &mut DeviceBuffer<T>,
    ldu: i32,
    vt: &mut DeviceBuffer<T>,
    ldvt: i32,
    rwork: &mut DeviceBuffer<T::Real>,
    info: &mut DeviceBuffer<i32>,
) -> Result<()>
Expand description

Full SVD: A = U * Σ * Vᵀ. jobu/jobvt are LAPACK-style single-byte selectors (b’A’ = all, b’S’ = economy, b’N’ = none, b’O’ = overwrite A).

rwork must be provided for complex element types; pass an empty buffer for real types (pointer is still non-null; cuSOLVER ignores it).