|
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.h.
Include dependency graph for lin_alg.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Functions | |
Vector 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\). | |
| c_float | vec_norm_inf (const c_float *a, size_t n) |
| Infinity norm of a vector, \(\|a\|_\infty\). | |
| 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\). | |
| 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_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_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: