libflame  revision_anchor
FLA_Bsvd_v.h
Go to the documentation of this file.
1 /*
2 
3  Copyright (C) 2014, The University of Texas at Austin
4 
5  This file is part of libflame and is available under the 3-Clause
6  BSD license, which can be found in the LICENSE file at the top-level
7  directory, or at http://opensource.org/licenses/BSD-3-Clause
8 
9 */
10 
11 #include "FLA_Bsvd_iteracc_v.h"
12 #include "FLA_Bsvd_sinval_v.h"
13 #include "FLA_Bsvd_francis_v.h"
14 
15 // --- FLA_Bsvd_compute_shift() ------------------------------------------------
16 
19  float tol,
20  float sminl,
21  float smax,
22  float* buff_d, int inc_d,
23  float* buff_e, int inc_e,
24  float* shift );
26  double tol,
27  double sminl,
28  double smax,
29  double* buff_d, int inc_d,
30  double* buff_e, int inc_e,
31  double* shift );
32 
33 // --- FLA_Bsvd_compute_tol_thresh() -------------------------------------------
34 
37  float tolmul,
38  float maxit,
39  float* buff_d, int inc_d,
40  float* buff_e, int inc_e,
41  float* tol,
42  float* thresh );
44  double tolmul,
45  double maxit,
46  double* buff_d, int inc_d,
47  double* buff_e, int inc_e,
48  double* tol,
49  double* thresh );
50 
51 // --- FLA_Bsvd_find_converged() -----------------------------------------------
52 
55  float tol,
56  float* buff_d, int inc_d,
57  float* buff_e, int inc_e,
58  float* sminl );
60  double tol,
61  double* buff_d, int inc_d,
62  double* buff_e, int inc_e,
63  double* sminl );
64 
65 // --- FLA_Bsvd_find_max_min() -------------------------------------------------
66 
69  float* buff_d, int inc_d,
70  float* buff_e, int inc_e,
71  float* smax,
72  float* smin );
74  double* buff_d, int inc_d,
75  double* buff_e, int inc_e,
76  double* smax,
77  double* smin );
78 
79 // --- FLA_Bsvd_find_submatrix() -----------------------------------------------
80 
82  int ij_begin,
83  float* buff_d, int inc_d,
84  float* buff_e, int inc_e,
85  int* ijTL,
86  int* ijBR );
88  int ij_begin,
89  double* buff_d, int inc_d,
90  double* buff_e, int inc_e,
91  int* ijTL,
92  int* ijBR );
93 
94 // --- FLA_Bsvd_v_opt_var1() ---------------------------------------------------
95 
96 FLA_Error FLA_Bsvd_v_opt_var1( dim_t n_iter_max, FLA_Obj d, FLA_Obj e, FLA_Obj G, FLA_Obj H, FLA_Obj U, FLA_Obj V, dim_t b_alg );
97 FLA_Error FLA_Bsvd_v_ops_var1( int min_m_n,
98  int m_U,
99  int m_V,
100  int n_GH,
101  int n_iter_max,
102  float* buff_d, int inc_d,
103  float* buff_e, int inc_e,
104  scomplex* buff_G, int rs_G, int cs_G,
105  scomplex* buff_H, int rs_H, int cs_H,
106  float* buff_U, int rs_U, int cs_U,
107  float* buff_V, int rs_V, int cs_V,
108  int b_alg );
109 FLA_Error FLA_Bsvd_v_opd_var1( int min_m_n,
110  int m_U,
111  int m_V,
112  int n_GH,
113  int n_iter_max,
114  double* buff_d, int inc_d,
115  double* buff_e, int inc_e,
116  dcomplex* buff_G, int rs_G, int cs_G,
117  dcomplex* buff_H, int rs_H, int cs_H,
118  double* buff_U, int rs_U, int cs_U,
119  double* buff_V, int rs_V, int cs_V,
120  int b_alg );
121 FLA_Error FLA_Bsvd_v_opc_var1( int min_m_n,
122  int m_U,
123  int m_V,
124  int n_GH,
125  int n_iter_max,
126  float* buff_d, int inc_d,
127  float* buff_e, int inc_e,
128  scomplex* buff_G, int rs_G, int cs_G,
129  scomplex* buff_H, int rs_H, int cs_H,
130  scomplex* buff_U, int rs_U, int cs_U,
131  scomplex* buff_V, int rs_V, int cs_V,
132  int b_alg );
133 FLA_Error FLA_Bsvd_v_opz_var1( int min_m_n,
134  int m_U,
135  int m_V,
136  int n_GH,
137  int n_iter_max,
138  double* buff_d, int inc_d,
139  double* buff_e, int inc_e,
140  dcomplex* buff_G, int rs_G, int cs_G,
141  dcomplex* buff_H, int rs_H, int cs_H,
142  dcomplex* buff_U, int rs_U, int cs_U,
143  dcomplex* buff_V, int rs_V, int cs_V,
144  int b_alg );
145 
146 // --- FLA_Bsvd_v_opt_var2() ---------------------------------------------------
147 
148 FLA_Error FLA_Bsvd_v_opt_var2( dim_t n_iter_max, FLA_Obj d, FLA_Obj e, FLA_Obj G, FLA_Obj H, FLA_Obj RG, FLA_Obj RH, FLA_Obj W, FLA_Obj U, FLA_Obj V, dim_t b_alg );
149 FLA_Error FLA_Bsvd_v_ops_var2( int min_m_n,
150  int m_U,
151  int m_V,
152  int n_GH,
153  int n_iter_max,
154  float* buff_d, int inc_d,
155  float* buff_e, int inc_e,
156  scomplex* buff_G, int rs_G, int cs_G,
157  scomplex* buff_H, int rs_H, int cs_H,
158  float* buff_RG, int rs_RG, int cs_RG,
159  float* buff_RH, int rs_RH, int cs_RH,
160  float* buff_W, int rs_W, int cs_W,
161  float* buff_U, int rs_U, int cs_U,
162  float* buff_V, int rs_V, int cs_V,
163  int b_alg );
164 FLA_Error FLA_Bsvd_v_opd_var2( int min_m_n,
165  int m_U,
166  int m_V,
167  int n_GH,
168  int n_iter_max,
169  double* buff_d, int inc_d,
170  double* buff_e, int inc_e,
171  dcomplex* buff_G, int rs_G, int cs_G,
172  dcomplex* buff_H, int rs_H, int cs_H,
173  double* buff_RG, int rs_RG, int cs_RG,
174  double* buff_RH, int rs_RH, int cs_RH,
175  double* buff_W, int rs_W, int cs_W,
176  double* buff_U, int rs_U, int cs_U,
177  double* buff_V, int rs_V, int cs_V,
178  int b_alg );
179 FLA_Error FLA_Bsvd_v_opc_var2( int min_m_n,
180  int m_U,
181  int m_V,
182  int n_GH,
183  int n_iter_max,
184  float* buff_d, int inc_d,
185  float* buff_e, int inc_e,
186  scomplex* buff_G, int rs_G, int cs_G,
187  scomplex* buff_H, int rs_H, int cs_H,
188  float* buff_RG, int rs_RG, int cs_RG,
189  float* buff_RH, int rs_RH, int cs_RH,
190  scomplex* buff_W, int rs_W, int cs_W,
191  scomplex* buff_U, int rs_U, int cs_U,
192  scomplex* buff_V, int rs_V, int cs_V,
193  int b_alg );
194 FLA_Error FLA_Bsvd_v_opz_var2( int min_m_n,
195  int m_U,
196  int m_V,
197  int n_GH,
198  int n_iter_max,
199  double* buff_d, int inc_d,
200  double* buff_e, int inc_e,
201  dcomplex* buff_G, int rs_G, int cs_G,
202  dcomplex* buff_H, int rs_H, int cs_H,
203  double* buff_RG, int rs_RG, int cs_RG,
204  double* buff_RH, int rs_RH, int cs_RH,
205  dcomplex* buff_W, int rs_W, int cs_W,
206  dcomplex* buff_U, int rs_U, int cs_U,
207  dcomplex* buff_V, int rs_V, int cs_V,
208  int b_alg );
209 
FLA_Error FLA_Bsvd_v_opd_var2(int min_m_n, int m_U, int m_V, int n_GH, int n_iter_max, double *buff_d, int inc_d, double *buff_e, int inc_e, dcomplex *buff_G, int rs_G, int cs_G, dcomplex *buff_H, int rs_H, int cs_H, double *buff_RG, int rs_RG, int cs_RG, double *buff_RH, int rs_RH, int cs_RH, double *buff_W, int rs_W, int cs_W, double *buff_U, int rs_U, int cs_U, double *buff_V, int rs_V, int cs_V, int b_alg)
Definition: FLA_Bsvd_v_opt_var2.c:214
FLA_Error FLA_Bsvd_find_converged_ops(int m_A, float tol, float *buff_d, int inc_d, float *buff_e, int inc_e, float *sminl)
Definition: FLA_Bsvd_find_converged.c:68
FLA_Error FLA_Bsvd_compute_tol_thresh(FLA_Obj tolmul, FLA_Obj maxit, FLA_Obj d, FLA_Obj e, FLA_Obj tol, FLA_Obj thresh)
Definition: FLA_Bsvd_compute_tol_thresh.c:13
FLA_Error FLA_Bsvd_find_converged_opd(int m_A, double tol, double *buff_d, int inc_d, double *buff_e, int inc_e, double *sminl)
Definition: FLA_Bsvd_find_converged.c:117
FLA_Error FLA_Bsvd_v_opd_var1(int min_m_n, int m_U, int m_V, int n_GH, int n_iter_max, double *buff_d, int inc_d, double *buff_e, int inc_e, dcomplex *buff_G, int rs_G, int cs_G, dcomplex *buff_H, int rs_H, int cs_H, double *buff_U, int rs_U, int cs_U, double *buff_V, int rs_V, int cs_V, int b_alg)
Definition: FLA_Bsvd_v_opt_var1.c:397
FLA_Error FLA_Bsvd_compute_tol_thresh_ops(int m_A, float tolmul, float maxit, float *buff_d, int inc_d, float *buff_e, int inc_e, float *tol, float *thresh)
Definition: FLA_Bsvd_compute_tol_thresh.c:78
FLA_Error FLA_Bsvd_v_opc_var1(int min_m_n, int m_U, int m_V, int n_GH, int n_iter_max, float *buff_d, int inc_d, float *buff_e, int inc_e, scomplex *buff_G, int rs_G, int cs_G, scomplex *buff_H, int rs_H, int cs_H, scomplex *buff_U, int rs_U, int cs_U, scomplex *buff_V, int rs_V, int cs_V, int b_alg)
Definition: FLA_Bsvd_v_opt_var1.c:674
FLA_Error FLA_Bsvd_compute_shift(FLA_Obj tol, FLA_Obj sminl, FLA_Obj smax, FLA_Obj d, FLA_Obj e, FLA_Obj shift)
Definition: FLA_Bsvd_compute_shift.c:13
FLA_Error FLA_Bsvd_v_ops_var2(int min_m_n, int m_U, int m_V, int n_GH, int n_iter_max, float *buff_d, int inc_d, float *buff_e, int inc_e, scomplex *buff_G, int rs_G, int cs_G, scomplex *buff_H, int rs_H, int cs_H, float *buff_RG, int rs_RG, int cs_RG, float *buff_RH, int rs_RH, int cs_RH, float *buff_W, int rs_W, int cs_W, float *buff_U, int rs_U, int cs_U, float *buff_V, int rs_V, int cs_V, int b_alg)
Definition: FLA_Bsvd_v_opt_var2.c:191
FLA_Error FLA_Bsvd_v_opz_var1(int min_m_n, int m_U, int m_V, int n_GH, int n_iter_max, double *buff_d, int inc_d, double *buff_e, int inc_e, dcomplex *buff_G, int rs_G, int cs_G, dcomplex *buff_H, int rs_H, int cs_H, dcomplex *buff_U, int rs_U, int cs_U, dcomplex *buff_V, int rs_V, int cs_V, int b_alg)
Definition: FLA_Bsvd_v_opt_var1.c:912
FLA_Error FLA_Bsvd_find_submatrix_ops(int mn_A, int ij_begin, float *buff_d, int inc_d, float *buff_e, int inc_e, int *ijTL, int *ijBR)
Definition: FLA_Bsvd_find_submatrix.c:14
FLA_Error FLA_Bsvd_find_max_min(FLA_Obj d, FLA_Obj e, FLA_Obj smax, FLA_Obj smin)
FLA_Error FLA_Bsvd_compute_shift_opd(int m_A, double tol, double sminl, double smax, double *buff_d, int inc_d, double *buff_e, int inc_e, double *shift)
Definition: FLA_Bsvd_compute_shift.c:130
FLA_Error FLA_Bsvd_v_opt_var2(dim_t n_iter_max, FLA_Obj d, FLA_Obj e, FLA_Obj G, FLA_Obj H, FLA_Obj RG, FLA_Obj RH, FLA_Obj W, FLA_Obj U, FLA_Obj V, dim_t b_alg)
Definition: FLA_Bsvd_v_opt_var2.c:13
FLA_Error FLA_Bsvd_v_opc_var2(int min_m_n, int m_U, int m_V, int n_GH, int n_iter_max, float *buff_d, int inc_d, float *buff_e, int inc_e, scomplex *buff_G, int rs_G, int cs_G, scomplex *buff_H, int rs_H, int cs_H, float *buff_RG, int rs_RG, int cs_RG, float *buff_RH, int rs_RH, int cs_RH, scomplex *buff_W, int rs_W, int cs_W, scomplex *buff_U, int rs_U, int cs_U, scomplex *buff_V, int rs_V, int cs_V, int b_alg)
Definition: FLA_Bsvd_v_opt_var2.c:529
FLA_Error FLA_Bsvd_find_max_min_opd(int m_A, double *buff_d, int inc_d, double *buff_e, int inc_e, double *smax, double *smin)
Definition: FLA_Bsvd_find_max_min.c:103
FLA_Error FLA_Bsvd_find_max_min_ops(int m_A, float *buff_d, int inc_d, float *buff_e, int inc_e, float *smax, float *smin)
Definition: FLA_Bsvd_find_max_min.c:68
FLA_Error FLA_Bsvd_compute_tol_thresh_opd(int m_A, double tolmul, double maxit, double *buff_d, int inc_d, double *buff_e, int inc_e, double *tol, double *thresh)
Definition: FLA_Bsvd_compute_tol_thresh.c:137
FLA_Error FLA_Bsvd_v_opz_var2(int min_m_n, int m_U, int m_V, int n_GH, int n_iter_max, double *buff_d, int inc_d, double *buff_e, int inc_e, dcomplex *buff_G, int rs_G, int cs_G, dcomplex *buff_H, int rs_H, int cs_H, double *buff_RG, int rs_RG, int cs_RG, double *buff_RH, int rs_RH, int cs_RH, dcomplex *buff_W, int rs_W, int cs_W, dcomplex *buff_U, int rs_U, int cs_U, dcomplex *buff_V, int rs_V, int cs_V, int b_alg)
Definition: FLA_Bsvd_v_opt_var2.c:550
FLA_Error FLA_Bsvd_find_submatrix_opd(int mn_A, int ij_begin, double *buff_d, int inc_d, double *buff_e, int inc_e, int *ijTL, int *ijBR)
Definition: FLA_Bsvd_find_submatrix.c:73
FLA_Error FLA_Bsvd_v_ops_var1(int min_m_n, int m_U, int m_V, int n_GH, int n_iter_max, float *buff_d, int inc_d, float *buff_e, int inc_e, scomplex *buff_G, int rs_G, int cs_G, scomplex *buff_H, int rs_H, int cs_H, float *buff_U, int rs_U, int cs_U, float *buff_V, int rs_V, int cs_V, int b_alg)
Definition: FLA_Bsvd_v_opt_var1.c:157
FLA_Error FLA_Bsvd_v_opt_var1(dim_t n_iter_max, FLA_Obj d, FLA_Obj e, FLA_Obj G, FLA_Obj H, FLA_Obj U, FLA_Obj V, dim_t b_alg)
Definition: FLA_Bsvd_v_opt_var1.c:15
FLA_Error FLA_Bsvd_find_converged(FLA_Obj tol, FLA_Obj d, FLA_Obj e, FLA_Obj sminl)
Definition: FLA_Bsvd_find_converged.c:13
FLA_Error FLA_Bsvd_compute_shift_ops(int m_A, float tol, float sminl, float smax, float *buff_d, int inc_d, float *buff_e, int inc_e, float *shift)
Definition: FLA_Bsvd_compute_shift.c:75
int FLA_Error
Definition: FLA_type_defs.h:47
unsigned long dim_t
Definition: FLA_type_defs.h:71
Definition: FLA_type_defs.h:159
Definition: blis_type_defs.h:138
Definition: blis_type_defs.h:133