28 #ifndef SCS_LINALG_H_GUARD
29 #define SCS_LINALG_H_GUARD
scs_int scs_qr_workspace_size(scs_int m, scs_int n)
Compute the optimal size of workspace for scs_qrls.
scs_int scs_svdls(scs_int m, scs_int n, scs_float *RESTRICT A, scs_float *RESTRICT b, scs_float *RESTRICT wspace, scs_int wsize, scs_float rcond, scs_float *RESTRICT singular_values, scs_int *RESTRICT rank)
Solves a least squares problem using the SVD factorization.
#define RESTRICT
Definition: glbopts.h:44
scs_int scs_cgls(scs_int m, scs_int n, const scs_float *RESTRICT A, const scs_float *RESTRICT b, scs_float *RESTRICT x, scs_float tol, scs_int *RESTRICT maxiter, scs_float *RESTRICT wspace)
void scs_add_array(scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int n)
void scs_add_scaled_array(scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int n, const scs_float sc)
void scs_axpy(scs_float *RESTRICT x, const scs_float *RESTRICT u, const scs_float *RESTRICT v, scs_float a, scs_float b, scs_int n)
scs_float scs_norm_infinity(const scs_float *RESTRICT a, scs_int l)
void scs_matrix_transpose_multiply(scs_int rows_A, scs_int cols_B, scs_int cols_A, scs_float alpha, const scs_float *RESTRICT A, scs_float beta, const scs_float *RESTRICT B, scs_float *C)
void scs_set_as_scaled_array(scs_float *RESTRICT x, const scs_float *RESTRICT a, const scs_float b, scs_int len)
scs_float scs_norm_infinity_difference(const scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int l)
int scs_int
Definition: glbopts.h:96
void scs_matrix_multiply(scs_int rows_A, scs_int cols_B, scs_int cols_A, scs_float alpha, const scs_float *RESTRICT A, scs_float beta, const scs_float *RESTRICT B, scs_float *C)
scs_float scs_norm_difference(const scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int l)
void scs_subtract_array(scs_float *RESTRICT a, const scs_float *RESTRICT b, scs_int n)
scs_int scs_svd_workspace_size(scs_int m, scs_int n)
Computes the optimal workspace size for scs_svdls.
scs_float scs_inner_product(const scs_float *RESTRICT x, const scs_float *RESTRICT y, scs_int len)
double scs_float
Definition: glbopts.h:100
scs_int scs_qrls(scs_int m, scs_int n, scs_float *RESTRICT A, scs_float *RESTRICT b, scs_float *RESTRICT wspace, scs_int wsize)
Solves a least squares problem using the QR factorization.
scs_float scs_norm(const scs_float *RESTRICT v, scs_int len)
scs_float scs_norm_squared(const scs_float *RESTRICT v, scs_int len)
scs_float * scs_cgls_malloc_workspace(scs_int m, scs_int n)
void scs_scale_array(scs_float *RESTRICT a, const scs_float b, scs_int len)