libflame revision_anchor
Functions
FLA_Bsvd.c File Reference

(r)

Functions

FLA_Error FLA_Bsvd (FLA_Uplo uplo, FLA_Obj d, FLA_Obj e, FLA_Obj G, FLA_Obj H, FLA_Svd_type jobu, FLA_Obj U, FLA_Svd_type jobv, FLA_Obj V)
 

Function Documentation

◆ FLA_Bsvd()

FLA_Error FLA_Bsvd ( FLA_Uplo  uplo,
FLA_Obj  d,
FLA_Obj  e,
FLA_Obj  G,
FLA_Obj  H,
FLA_Svd_type  jobu,
FLA_Obj  U,
FLA_Svd_type  jobv,
FLA_Obj  V 
)
17{
19 dim_t n_iter_max = 30;
20 dim_t b_alg = 512;
22 FLA_Obj C; // dummy variable
23
24 // Check parameters.
26 FLA_Bsvd_check( uplo, d, e, G, H, jobu, U, jobv, V );
27
28 // Partition U and V properly to account for the diagonal dimension.
31 FLA_Part_1x2( U, &U, &C, m_d, FLA_LEFT );
32
35 FLA_Part_1x2( V, &V, &C, m_d, FLA_LEFT );
36
37 // The current Bsvd is implemented for the upper triangular matrix only.
38 // If uplo is lower triangular, swap U and V.
39 if ( uplo == FLA_LOWER_TRIANGULAR )
40 exchange( U, V, C );
41
43 jobu, U, jobv, V,
44 FALSE, C,
45 b_alg );
46
47 return r_val;
48}
FLA_Error FLA_Bsvd_check(FLA_Uplo uplo, FLA_Obj d, FLA_Obj e, FLA_Obj G, FLA_Obj H, FLA_Svd_type jobu, FLA_Obj U, FLA_Svd_type jobv, FLA_Obj V)
Definition FLA_Bsvd_check.c:13
FLA_Error FLA_Bsvd_ext_opt_var1(dim_t n_iter_max, FLA_Obj d, FLA_Obj e, FLA_Obj G, FLA_Obj H, FLA_Svd_type jobu, FLA_Obj U, FLA_Svd_type jobv, FLA_Obj V, FLA_Bool apply_Uh2C, FLA_Obj C, dim_t b_alg)
Definition FLA_Bsvd_ext_opt_var1.c:13
FLA_Error FLA_Part_1x2(FLA_Obj A, FLA_Obj *A1, FLA_Obj *A2, dim_t nb, FLA_Side side)
Definition FLA_View.c:110
unsigned int FLA_Check_error_level(void)
Definition FLA_Check.c:18
dim_t FLA_Obj_vector_dim(FLA_Obj obj)
Definition FLA_Query.c:137
int FLA_Error
Definition FLA_type_defs.h:47
unsigned long dim_t
Definition FLA_type_defs.h:71
int i
Definition bl1_axmyv2.c:145
Definition FLA_type_defs.h:159

References FLA_Bsvd_check(), FLA_Bsvd_ext_opt_var1(), FLA_Check_error_level(), FLA_Obj_vector_dim(), FLA_Part_1x2(), and i.