| 
    QPALM  
   1.2.1
   Proximal Augmented Lagrangian method for Quadratic Programs 
   | 
 
Linear algebra with vectors.
Common operations, such as vector products, infinity norm, elementwise add/product/division/max etc. are included in this file.
Definition in file lin_alg.c.
#include <qpalm/lin_alg.h>
 Include dependency graph for lin_alg.c:Go to the source code of this file.
Functions | |
| c_float * | vec_copy (const c_float *a, size_t n) | 
| Copy vector a into output.   | |
| void | prea_vec_copy (const c_float *a, c_float *b, size_t n) | 
| Copy vector a into preallocated vector b.   | |
| void | prea_int_vec_copy (const c_int *a, c_int *b, size_t n) | 
| Copy integer vector a into preallocated vector b.   | |
| void | vec_set_scalar (c_float *a, c_float sc, size_t n) | 
| Fill float vector with a scalar value.   | |
| void | vec_set_scalar_int (c_int *a, c_int sc, size_t n) | 
| Fill int vector with a scalar value.   | |
| void | vec_self_mult_scalar (c_float *a, c_float sc, size_t n) | 
| Mulitply vector with a constant scale factor.   | |
| void | vec_mult_scalar (const c_float *a, c_float sc, c_float *b, size_t n) | 
| Mulitply vector with a constant scale factor and store in a different vector.   | |
| c_float | vec_prod (const c_float *a, const c_float *b, size_t n) | 
| Inner product between two vectors, \(a^T \cdot b\).   | |
| c_float | vec_norm_two (const c_float *a, size_t n) | 
| 2-norm of a vector, \(\|a\|_2\).   | |
| void | vec_ew_prod (const c_float *a, const c_float *b, c_float *c, size_t n) | 
| Elementwise product, \(c_i = a_i\cdot b_i\).   | |
| void | vec_ew_div (const c_float *a, const c_float *b, c_float *c, size_t n) | 
| Elementwise division, \(c_i = a_i/b_i\).   | |
| void | vec_add_scaled (const c_float *a, const c_float *b, c_float *c, c_float sc, size_t n) | 
| Scaled addition of one vector to another vector, \(c_i = a_i + sc\cdot b_i\).   | |
| void | vec_mult_add_scaled (c_float *a, const c_float *b, c_float sc1, c_float sc2, size_t n) | 
| Scaled addition of one vector to another vector, both being scaled, \(a_i = sc1\cdot a_i + sc2\cdot b_i\).   | |
| c_float | vec_norm_inf (const c_float *a, size_t n) | 
| Infinity norm of a vector, \(\|a\|_\infty\).   | |
| void | vec_ew_recipr (const c_float *a, c_float *b, size_t n) | 
| Elementwise reciprocal \(b_i = 1/a_i\).   | |
| void | vec_ew_max_vec (const c_float *a, const c_float *b, c_float *c, size_t n) | 
| Elementwise maximum between vectors, \(c_i = \textrm{max}(a_i, b_i)\).   | |
| void | vec_ew_min_vec (const c_float *a, const c_float *b, c_float *c, size_t n) | 
| Elementwise minimum between vectors, \(c_i = \textrm{min}(a_i, b_i)\).   | |
| void | vec_ew_mid_vec (const c_float *a, const c_float *bmin, const c_float *bmax, c_float *c, size_t n) | 
| Elementwise mid between vectors, \(c_i = \textrm{max}(b_{\textrm{min},i}, \textrm{min}(a_i, b_{\textrm{max},i}))\).   | |
| void | vec_ew_sqrt (const c_float *a, c_float *b, size_t n) | 
| Elementwise square root, \(b_i = \sqrt{a_i}\).   | |
Scaled addition of one vector to another vector, both being scaled, \(a_i = sc1\cdot a_i + sc2\cdot b_i\).
| a | Input and Output vector | 
| b | Input vector | 
| sc1 | Scaling value for a | 
| sc2 | Scaling value for b | 
| n | Vector length | 
Definition at line 118 of file lin_alg.c.
 Here is the caller graph for this function: