Routines to permute vectors and matrices.
Definition in file ladel_permutation.h.
#include "ladel_types.h"
Include dependency graph for ladel_permutation.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Functions | |
| void | ladel_permute_vector (ladel_double *x, ladel_int *p, ladel_int size, ladel_double *y) |
| Compute y, where \(y[i] = x[p[i]]\). More... | |
| void | ladel_inverse_permute_vector (ladel_double *x, ladel_int *pinv, ladel_int size, ladel_double *y) |
| Compute y, where \(y[pinv[i]] = x[i]\). More... | |
| void | ladel_invert_permutation_vector (ladel_int *p, ladel_int *pinv, ladel_int size) |
| Invert a permutation vector, such that \(pinv[p[i]] = i\). More... | |
| void | ladel_permute_symmetric_matrix (ladel_sparse_matrix *M, ladel_int *p, ladel_sparse_matrix *Mpp, ladel_work *work) |
| Compute \(Mpp = M(p,p)\). More... | |
| void | ladel_permute_sparse_vector (ladel_sparse_matrix *x, ladel_int col, ladel_int *p, ladel_work *work) |
| Permute x(:,col) in place, such that on output \(x(:,col) = x(p,col)\). More... | |
| void ladel_inverse_permute_vector | ( | ladel_double * | x, |
| ladel_int * | pinv, | ||
| ladel_int | size, | ||
| ladel_double * | y | ||
| ) |
Compute y, where \(y[pinv[i]] = x[i]\).
| x | Input vector |
| pinv | (Inverse) permutation vector |
| size | Size of the vectors |
| y | Output vector |
Definition at line 12 of file ladel_permutation.c.
Invert a permutation vector, such that \(pinv[p[i]] = i\).
| p | Permutation vector |
| pinv | Output inverse permutation vector |
| size | Size of the vectors |
Definition at line 18 of file ladel_permutation.c.
Here is the caller graph for this function:| void ladel_permute_sparse_vector | ( | ladel_sparse_matrix * | x, |
| ladel_int | col, | ||
| ladel_int * | p, | ||
| ladel_work * | work | ||
| ) |
Permute x(:,col) in place, such that on output \(x(:,col) = x(p,col)\).
| x | Input sparse vector |
| col | The column of x to permute |
| p | Permutation vector |
| work | LADEL workspace |
Definition at line 30 of file ladel_permutation.c.
Here is the caller graph for this function:| void ladel_permute_symmetric_matrix | ( | ladel_sparse_matrix * | M, |
| ladel_int * | p, | ||
| ladel_sparse_matrix * | Mpp, | ||
| ladel_work * | work | ||
| ) |
Compute \(Mpp = M(p,p)\).
| M | Input matrix |
| p | Permutation vector |
| Mpp | Output permuted matrix |
| work | LADEL workspace |
Definition at line 75 of file ladel_permutation.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void ladel_permute_vector | ( | ladel_double * | x, |
| ladel_int * | p, | ||
| ladel_int | size, | ||
| ladel_double * | y | ||
| ) |
Compute y, where \(y[i] = x[p[i]]\).
| x | Input vector |
| p | Permutation vector |
| size | Size of the vectors |
| y | Output vector |
Definition at line 6 of file ladel_permutation.c.