LADEL main
Sparse LDL factorization package with rank 1 and rowadd/rowdel updates
Functions
ladel_permutation.h File Reference

Detailed Description

Routines to permute vectors and matrices.

Author
Ben Hermans

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...
 

Function Documentation

◆ ladel_inverse_permute_vector()

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]\).

Parameters
xInput vector
pinv(Inverse) permutation vector
sizeSize of the vectors
yOutput vector

Definition at line 12 of file ladel_permutation.c.

◆ ladel_invert_permutation_vector()

void ladel_invert_permutation_vector ( ladel_int p,
ladel_int pinv,
ladel_int  size 
)

Invert a permutation vector, such that \(pinv[p[i]] = i\).

Parameters
pPermutation vector
pinvOutput inverse permutation vector
sizeSize of the vectors

Definition at line 18 of file ladel_permutation.c.

+ Here is the caller graph for this function:

◆ ladel_permute_sparse_vector()

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)\).

Parameters
xInput sparse vector
colThe column of x to permute
pPermutation vector
workLADEL workspace

Definition at line 30 of file ladel_permutation.c.

+ Here is the caller graph for this function:

◆ ladel_permute_symmetric_matrix()

void ladel_permute_symmetric_matrix ( ladel_sparse_matrix M,
ladel_int p,
ladel_sparse_matrix Mpp,
ladel_work work 
)

Compute \(Mpp = M(p,p)\).

Parameters
MInput matrix
pPermutation vector
MppOutput permuted matrix
workLADEL 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:

◆ ladel_permute_vector()

void ladel_permute_vector ( ladel_double x,
ladel_int p,
ladel_int  size,
ladel_double y 
)

Compute y, where \(y[i] = x[p[i]]\).

Parameters
xInput vector
pPermutation vector
sizeSize of the vectors
yOutput vector

Definition at line 6 of file ladel_permutation.c.