FFLAS-FFPACK
Functions
ffpack.C File Reference

C functions calls for FFPACK in ffpack-c.h. More...

#include "fflas-ffpack/interfaces/libs/ffpack_c.h"
#include "fflas-ffpack/fflas/fflas.h"
#include "fflas-ffpack/ffpack/ffpack.h"
#include "givaro//modular-balanced.h"
#include "givaro//modular.h"

Functions

void LAPACKPerm2MathPerm (size_t *MathP, const size_t *LapackP, const size_t N)
 Conversion of a permutation from LAPACK format to Math format.
 
void MathPerm2LAPACKPerm (size_t *LapackP, const size_t *MathP, const size_t N)
 Conversion of a permutation from Maths format to LAPACK format.
 
void composePermutationsLLM (size_t *MathP, const size_t *P1, const size_t *P2, const size_t R, const size_t N)
 Computes P1 x Diag (I_R, P2) where P1 is a LAPACK and P2 a LAPACK permutation and store the result in MathP as a MathPermutation format. More...
 
void composePermutationsLLL (size_t *P1, const size_t *P2, const size_t R, const size_t N)
 Computes P1 x Diag (I_R, P2) where P1 is a LAPACK and P2 a LAPACK permutation and store the result in P1 as a LAPACK permutation. More...
 
void composePermutationsMLM (size_t *MathP1, const size_t *P2, const size_t R, const size_t N)
 Computes MathP1 x Diag (I_R, P2) where MathP1 is a MathPermutation and P2 a LAPACK permutation and store the result in MathP1 as a MathPermutation format. More...
 
size_t LeadingSubmatrixRankProfiles (const size_t M, const size_t N, const size_t R, const size_t LSm, const size_t LSn, const size_t *P, const size_t *Q, size_t *RRP, size_t *CRP)
 Recovers the row and column rank profiles of any leading submatrix from the PLUQ decomposition. More...
 
void PLUQtoEchelonPermutation (const size_t N, const size_t R, const size_t *P, size_t *outPerm)
 Auxiliary routine: determines the permutation that changes a PLUQ decomposition into a echelon form revealing PLUQ decomposition.
 

Detailed Description

C functions calls for FFPACK in ffpack-c.h.

Author
Brice Boyer
See also
ffpack/ffpack.h

Function Documentation

◆ composePermutationsLLM()

void composePermutationsLLM ( size_t *  MathP,
const size_t *  P1,
const size_t *  P2,
const size_t  R,
const size_t  N 
)
inline

Computes P1 x Diag (I_R, P2) where P1 is a LAPACK and P2 a LAPACK permutation and store the result in MathP as a MathPermutation format.

Parameters
[out]

◆ composePermutationsLLL()

void composePermutationsLLL ( size_t *  P1,
const size_t *  P2,
const size_t  R,
const size_t  N 
)
inline

Computes P1 x Diag (I_R, P2) where P1 is a LAPACK and P2 a LAPACK permutation and store the result in P1 as a LAPACK permutation.

Parameters
[in,out]P1a LAPACK permutation of size N
P2a LAPACK permutation of size N-R

◆ composePermutationsMLM()

void composePermutationsMLM ( size_t *  MathP1,
const size_t *  P2,
const size_t  R,
const size_t  N 
)
inline

Computes MathP1 x Diag (I_R, P2) where MathP1 is a MathPermutation and P2 a LAPACK permutation and store the result in MathP1 as a MathPermutation format.

Parameters
[in,out]MathP1a MathPermutation of size N
P2a LAPACK permutation of size N-R

◆ LeadingSubmatrixRankProfiles()

size_t LeadingSubmatrixRankProfiles ( const size_t  M,
const size_t  N,
const size_t  R,
const size_t  LSm,
const size_t  LSn,
const size_t *  P,
const size_t *  Q,
size_t *  RRP,
size_t *  CRP 
)
inline

Recovers the row and column rank profiles of any leading submatrix from the PLUQ decomposition.

Only works with the PLUQ decomposition Assumes that the output vectors containing the rank profiles are already allocated.

Parameters
Pthe permutation carrying the rank profile information
Mthe row dimension of the initial matrix
Nthe column dimension of the initial matrix
Rthe rank of the initial matrix
LSmthe row dimension of the leading submatrix considered
LSnthe column dimension of the leading submatrix considered
Pthe row permutation of the PLUQ decomposition
Qthe column permutation of the PLUQ decomposition
RRPreturn the row rank profile of the leading submatrix
Returns
the rank of the LSm x LSn leading submatrix

A is modified

Bibliography:
  • Dumas J-G., Pernet C., and Sultan Z. Simultaneous computation of the row and column rank profiles , ISSAC'13.