tfe_svd_frule_f64

Function tfe_svd_frule_f64 

Source
#[unsafe(no_mangle)]
pub unsafe extern "C" fn tfe_svd_frule_f64( _tensor: *const TfeTensorF64, _left: *const usize, _left_len: usize, _right: *const usize, _right_len: usize, _max_rank: usize, _cutoff: f64, _tangent: *const TfeTensorF64, _u_out: *mut *mut TfeTensorF64, _s_out: *mut *mut TfeTensorF64, _vt_out: *mut *mut TfeTensorF64, _status: *mut tfe_status_t, )
Expand description

Forward-mode rule (JVP) for SVD.

Computes tangents for U, S, Vt given an input tangent. The tangent parameter may be null (zero tangent).

§Safety

  • tensor must be a valid, non-null tensor pointer.
  • left must point to left_len valid usize values.
  • right must point to right_len valid usize values.
  • tangent may be null (zero tangent).
  • u_out, s_out, vt_out must be valid, non-null pointers to *mut TfeTensorF64.
  • status must be a valid, non-null pointer.

§Examples (C)

size_t left[] = {0};
size_t right[] = {1};
tfe_tensor_f64 *du, *ds, *dvt;
tfe_status_t status;
tfe_svd_frule_f64(
    a, left, 1, right, 1, 0, -1.0,
    da, &du, &ds, &dvt, &status);
tfe_tensor_f64_release(du);
tfe_tensor_f64_release(ds);
tfe_tensor_f64_release(dvt);