FflasFfpack
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)
 
void MathPerm2LAPACKPerm (size_t *LapackP, const size_t *MathP, const size_t N)
 
void MatrixApplyS_modular_double (const double p, double *A, const size_t lda, const size_t width, const size_t M2, const size_t R1, const size_t R2, const size_t R3, const size_t R4, bool positive)
 
void PermApplyS_double (double *A, const size_t lda, const size_t width, const size_t M2, const size_t R1, const size_t R2, const size_t R3, const size_t R4)
 
void MatrixApplyT_modular_double (const double p, double *A, const size_t lda, const size_t width, const size_t N2, const size_t R1, const size_t R2, const size_t R3, const size_t R4, bool positive)
 
void PermApplyT_double (double *A, const size_t lda, const size_t width, const size_t N2, const size_t R1, const size_t R2, const size_t R3, const size_t R4)
 
void composePermutationsLLM (size_t *MathP, const size_t *P1, const size_t *P2, const size_t R, const size_t N)
 
void composePermutationsLLL (size_t *P1, const size_t *P2, const size_t R, const size_t N)
 
void composePermutationsMLM (size_t *MathP1, const size_t *P2, const size_t R, const size_t N)
 
void cyclic_shift_mathPerm (size_t *P, const size_t s)
 
void cyclic_shift_row_modular_double (const double p, double *A, size_t m, size_t n, size_t lda, bool positive)
 
void cyclic_shift_col_modular_double (const double p, double *A, size_t m, size_t n, size_t lda, bool positive)
 
void applyP_modular_double (const double p, const enum FFLAS::FFLAS_SIDE Side, const enum FFLAS::FFLAS_TRANSPOSE Trans, const size_t M, const size_t ibeg, const size_t iend, double *A, const size_t lda, const size_t *P, bool positive)
 
void fgetrsin_modular_double (const double p, const enum FFLAS::FFLAS_SIDE Side, const size_t M, const size_t N, const size_t R, double *A, const size_t lda, const size_t *P, const size_t *Q, double *B, const size_t ldb, int *info, bool positive)
 
double * fgetrsv_modular_double (const double p, const enum FFLAS::FFLAS_SIDE Side, const size_t M, const size_t N, const size_t NRHS, const size_t R, double *A, const size_t lda, const size_t *P, const size_t *Q, double *X, const size_t ldx, const double *B, const size_t ldb, int *info, bool positive)
 
size_t fgesvin_modular_double (const double p, const enum FFLAS::FFLAS_SIDE Side, const size_t M, const size_t N, double *A, const size_t lda, double *B, const size_t ldb, int *info, bool positive)
 
size_t fgesv_modular_double (const double p, const enum FFLAS::FFLAS_SIDE Side, const size_t M, const size_t N, const size_t NRHS, double *A, const size_t lda, double *X, const size_t ldx, const double *B, const size_t ldb, int *info, bool positive)
 
void ftrtri_modular_double (const double p, const enum FFLAS::FFLAS_UPLO Uplo, const enum FFLAS::FFLAS_DIAG Diag, const size_t N, double *A, const size_t lda, bool positive)
 
void trinv_left_modular_double (const double p, const size_t N, const double *L, const size_t ldl, double *X, const size_t ldx, bool positive)
 
void ftrtrm_modular_double (const double p, const FFLAS::FFLAS_SIDE side, const enum FFLAS::FFLAS_DIAG Diag, const size_t N, double *A, const size_t lda, bool positive)
 
size_t PLUQ_modular_double (const double p, const enum FFLAS::FFLAS_DIAG Diag, const size_t M, const size_t N, double *A, const size_t lda, size_t *P, size_t *Q, bool positive)
 
size_t LUdivine_modular_double (const double p, const enum FFLAS::FFLAS_DIAG Diag, const enum FFLAS::FFLAS_TRANSPOSE Trans, const size_t M, const size_t N, double *A, const size_t lda, size_t *P, size_t *Qt, const enum FFPACK_C_LU_TAG LuTag, const size_t cutoff, bool positive)
 
size_t ColumnEchelonForm_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, size_t *P, size_t *Qt, bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t RowEchelonForm_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t ReducedColumnEchelonForm_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t ReducedRowEchelonForm_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t ColumnEchelonForm_modular_float (const float p, const size_t M, const size_t N, float *A, const size_t lda, size_t *P, size_t *Qt, bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t RowEchelonForm_modular_float (const float p, const size_t M, const size_t N, float *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t ReducedColumnEchelonForm_modular_float (const float p, const size_t M, const size_t N, float *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t ReducedRowEchelonForm_modular_float (const float p, const size_t M, const size_t N, float *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t ColumnEchelonForm_modular_int32_t (const int32_t p, const size_t M, const size_t N, int32_t *A, const size_t lda, size_t *P, size_t *Qt, bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t RowEchelonForm_modular_int32_t (const int32_t p, const size_t M, const size_t N, int32_t *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t ReducedColumnEchelonForm_modular_int32_t (const int32_t p, const size_t M, const size_t N, int32_t *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t ReducedRowEchelonForm_modular_int32_t (const int32_t p, const size_t M, const size_t N, int32_t *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t pColumnEchelonForm_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, size_t *P, size_t *Qt, bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t pRowEchelonForm_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t pReducedColumnEchelonForm_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t pReducedRowEchelonForm_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t pColumnEchelonForm_modular_float (const float p, const size_t M, const size_t N, float *A, const size_t lda, size_t *P, size_t *Qt, bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t pRowEchelonForm_modular_float (const float p, const size_t M, const size_t N, float *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t pReducedColumnEchelonForm_modular_float (const float p, const size_t M, const size_t N, float *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t pReducedRowEchelonForm_modular_float (const float p, const size_t M, const size_t N, float *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t pColumnEchelonForm_modular_int32_t (const int32_t p, const size_t M, const size_t N, int32_t *A, const size_t lda, size_t *P, size_t *Qt, bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t pRowEchelonForm_modular_int32_t (const int32_t p, const size_t M, const size_t N, int32_t *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t pReducedColumnEchelonForm_modular_int32_t (const int32_t p, const size_t M, const size_t N, int32_t *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t pReducedRowEchelonForm_modular_int32_t (const int32_t p, const size_t M, const size_t N, int32_t *A, const size_t lda, size_t *P, size_t *Qt, const bool transform, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
double * Invertin_modular_double (const double p, const size_t M, double *A, const size_t lda, int *nullity, bool positive)
 
double * Invert_modular_double (const double p, const size_t M, const double *A, const size_t lda, double *X, const size_t ldx, int *nullity, bool positive)
 
double * Invert2_modular_double (const double p, const size_t M, double *A, const size_t lda, double *X, const size_t ldx, int *nullity, bool positive)
 
size_t KrylovElim_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, size_t *P, size_t *Q, const size_t deg, size_t *iterates, size_t *inviterates, const size_t maxit, size_t virt, bool positive)
 
size_t SpecRankProfile_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, const size_t deg, size_t *rankProfile, bool positive)
 
size_t Rank_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, bool positive)
 
bool IsSingular_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, bool positive)
 
double Det_modular_double (const double p, const size_t N, double *A, const size_t lda, bool positive)
 
double * Solve_modular_double (const double p, const size_t M, double *A, const size_t lda, double *x, const int incx, const double *b, const int incb, bool positive)
 
void solveLB_modular_double (const double p, const enum FFLAS::FFLAS_SIDE Side, const size_t M, const size_t N, const size_t R, double *L, const size_t ldl, const size_t *Q, double *B, const size_t ldb, bool positive)
 
void solveLB2_modular_double (const double p, const enum FFLAS::FFLAS_SIDE Side, const size_t M, const size_t N, const size_t R, double *L, const size_t ldl, const size_t *Q, double *B, const size_t ldb, bool positive)
 
void RandomNullSpaceVector_modular_double (const double p, const enum FFLAS::FFLAS_SIDE Side, const size_t M, const size_t N, double *A, const size_t lda, double *X, const size_t incX, bool positive)
 
size_t NullSpaceBasis_modular_double (const double p, const enum FFLAS::FFLAS_SIDE Side, const size_t M, const size_t N, double *A, const size_t lda, double **NS, size_t *ldn, size_t *NSdim, bool positive)
 
size_t RowRankProfile_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, size_t **rkprofile, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
size_t ColumnRankProfile_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, size_t **rkprofile, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
void RankProfileFromLU (const size_t *P, const size_t N, const size_t R, size_t *rkprofile, const enum FFPACK_C_LU_TAG LuTag)
 
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)
 
size_t RowRankProfileSubmatrixIndices_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, size_t **rowindices, size_t **colindices, size_t *R, bool positive)
 
size_t ColRankProfileSubmatrixIndices_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, size_t **rowindices, size_t **colindices, size_t *R, bool positive)
 
size_t RowRankProfileSubmatrix_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, double **X, size_t *R, bool positive)
 
size_t ColRankProfileSubmatrix_modular_double (const double p, const size_t M, const size_t N, double *A, const size_t lda, double **X, size_t *R, bool positive)
 
void getTriangular_modular_double (const double p, const enum FFLAS::FFLAS_UPLO Uplo, const enum FFLAS::FFLAS_DIAG Diag, const size_t M, const size_t N, const size_t R, const double *A, const size_t lda, double *T, const size_t ldt, const bool OnlyNonZeroVectors, bool positive)
 
void getTriangularin_modular_double (const double p, const enum FFLAS::FFLAS_UPLO Uplo, const enum FFLAS::FFLAS_DIAG Diag, const size_t M, const size_t N, const size_t R, double *A, const size_t lda, bool positive)
 
void getEchelonForm_modular_double (const double p, const enum FFLAS::FFLAS_UPLO Uplo, const enum FFLAS::FFLAS_DIAG Diag, const size_t M, const size_t N, const size_t R, const size_t *P, const double *A, const size_t lda, double *T, const size_t ldt, const bool OnlyNonZeroVectors, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
void getEchelonFormin_modular_double (const double p, const enum FFLAS::FFLAS_UPLO Uplo, const enum FFLAS::FFLAS_DIAG Diag, const size_t M, const size_t N, const size_t R, const size_t *P, double *A, const size_t lda, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
void getEchelonTransform_modular_double (const double p, const enum FFLAS::FFLAS_UPLO Uplo, const enum FFLAS::FFLAS_DIAG Diag, const size_t M, const size_t N, const size_t R, const size_t *P, const size_t *Q, const double *A, const size_t lda, double *T, const size_t ldt, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
void getReducedEchelonForm_modular_double (const double p, const enum FFLAS::FFLAS_UPLO Uplo, const size_t M, const size_t N, const size_t R, const size_t *P, const double *A, const size_t lda, double *T, const size_t ldt, const bool OnlyNonZeroVectors, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
void getReducedEchelonFormin_modular_double (const double p, const enum FFLAS::FFLAS_UPLO Uplo, const size_t M, const size_t N, const size_t R, const size_t *P, double *A, const size_t lda, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
void getReducedEchelonTransform_modular_double (const double p, const enum FFLAS::FFLAS_UPLO Uplo, const size_t M, const size_t N, const size_t R, const size_t *P, const size_t *Q, const double *A, const size_t lda, double *T, const size_t ldt, const enum FFPACK_C_LU_TAG LuTag, bool positive)
 
void PLUQtoEchelonPermutation (const size_t N, const size_t R, const size_t *P, size_t *outPerm)
 

Detailed Description

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

Author
Brice Boyer
See also
ffpack/ffpack.h

Function Documentation

◆ LAPACKPerm2MathPerm()

void LAPACKPerm2MathPerm ( size_t *  MathP,
const size_t *  LapackP,
const size_t  N 
)

◆ MathPerm2LAPACKPerm()

void MathPerm2LAPACKPerm ( size_t *  LapackP,
const size_t *  MathP,
const size_t  N 
)

◆ MatrixApplyS_modular_double()

void MatrixApplyS_modular_double ( const double  p,
double *  A,
const size_t  lda,
const size_t  width,
const size_t  M2,
const size_t  R1,
const size_t  R2,
const size_t  R3,
const size_t  R4,
bool  positive 
)

◆ PermApplyS_double()

void PermApplyS_double ( double *  A,
const size_t  lda,
const size_t  width,
const size_t  M2,
const size_t  R1,
const size_t  R2,
const size_t  R3,
const size_t  R4 
)

◆ MatrixApplyT_modular_double()

void MatrixApplyT_modular_double ( const double  p,
double *  A,
const size_t  lda,
const size_t  width,
const size_t  N2,
const size_t  R1,
const size_t  R2,
const size_t  R3,
const size_t  R4,
bool  positive 
)

◆ PermApplyT_double()

void PermApplyT_double ( double *  A,
const size_t  lda,
const size_t  width,
const size_t  N2,
const size_t  R1,
const size_t  R2,
const size_t  R3,
const size_t  R4 
)

◆ composePermutationsLLM()

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

◆ composePermutationsLLL()

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

◆ composePermutationsMLM()

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

◆ cyclic_shift_mathPerm()

void cyclic_shift_mathPerm ( size_t *  P,
const size_t  s 
)

◆ cyclic_shift_row_modular_double()

void cyclic_shift_row_modular_double ( const double  p,
double *  A,
size_t  m,
size_t  n,
size_t  lda,
bool  positive 
)

◆ cyclic_shift_col_modular_double()

void cyclic_shift_col_modular_double ( const double  p,
double *  A,
size_t  m,
size_t  n,
size_t  lda,
bool  positive 
)

◆ applyP_modular_double()

void applyP_modular_double ( const double  p,
const enum FFLAS::FFLAS_SIDE  Side,
const enum FFLAS::FFLAS_TRANSPOSE  Trans,
const size_t  M,
const size_t  ibeg,
const size_t  iend,
double *  A,
const size_t  lda,
const size_t *  P,
bool  positive 
)

◆ fgetrsin_modular_double()

void fgetrsin_modular_double ( const double  p,
const enum FFLAS::FFLAS_SIDE  Side,
const size_t  M,
const size_t  N,
const size_t  R,
double *  A,
const size_t  lda,
const size_t *  P,
const size_t *  Q,
double *  B,
const size_t  ldb,
int *  info,
bool  positive 
)

◆ fgetrsv_modular_double()

double * fgetrsv_modular_double ( const double  p,
const enum FFLAS::FFLAS_SIDE  Side,
const size_t  M,
const size_t  N,
const size_t  NRHS,
const size_t  R,
double *  A,
const size_t  lda,
const size_t *  P,
const size_t *  Q,
double *  X,
const size_t  ldx,
const double *  B,
const size_t  ldb,
int *  info,
bool  positive 
)

◆ fgesvin_modular_double()

size_t fgesvin_modular_double ( const double  p,
const enum FFLAS::FFLAS_SIDE  Side,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
double *  B,
const size_t  ldb,
int *  info,
bool  positive 
)

◆ fgesv_modular_double()

size_t fgesv_modular_double ( const double  p,
const enum FFLAS::FFLAS_SIDE  Side,
const size_t  M,
const size_t  N,
const size_t  NRHS,
double *  A,
const size_t  lda,
double *  X,
const size_t  ldx,
const double *  B,
const size_t  ldb,
int *  info,
bool  positive 
)

◆ ftrtri_modular_double()

void ftrtri_modular_double ( const double  p,
const enum FFLAS::FFLAS_UPLO  Uplo,
const enum FFLAS::FFLAS_DIAG  Diag,
const size_t  N,
double *  A,
const size_t  lda,
bool  positive 
)

◆ trinv_left_modular_double()

void trinv_left_modular_double ( const double  p,
const size_t  N,
const double *  L,
const size_t  ldl,
double *  X,
const size_t  ldx,
bool  positive 
)

◆ ftrtrm_modular_double()

void ftrtrm_modular_double ( const double  p,
const FFLAS::FFLAS_SIDE  side,
const enum FFLAS::FFLAS_DIAG  Diag,
const size_t  N,
double *  A,
const size_t  lda,
bool  positive 
)

◆ PLUQ_modular_double()

size_t PLUQ_modular_double ( const double  p,
const enum FFLAS::FFLAS_DIAG  Diag,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
size_t *  P,
size_t *  Q,
bool  positive 
)

◆ LUdivine_modular_double()

size_t LUdivine_modular_double ( const double  p,
const enum FFLAS::FFLAS_DIAG  Diag,
const enum FFLAS::FFLAS_TRANSPOSE  Trans,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const enum FFPACK_C_LU_TAG  LuTag,
const size_t  cutoff,
bool  positive 
)

◆ ColumnEchelonForm_modular_double()

size_t ColumnEchelonForm_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ RowEchelonForm_modular_double()

size_t RowEchelonForm_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ ReducedColumnEchelonForm_modular_double()

size_t ReducedColumnEchelonForm_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ ReducedRowEchelonForm_modular_double()

size_t ReducedRowEchelonForm_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ ColumnEchelonForm_modular_float()

size_t ColumnEchelonForm_modular_float ( const float  p,
const size_t  M,
const size_t  N,
float *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ RowEchelonForm_modular_float()

size_t RowEchelonForm_modular_float ( const float  p,
const size_t  M,
const size_t  N,
float *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ ReducedColumnEchelonForm_modular_float()

size_t ReducedColumnEchelonForm_modular_float ( const float  p,
const size_t  M,
const size_t  N,
float *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ ReducedRowEchelonForm_modular_float()

size_t ReducedRowEchelonForm_modular_float ( const float  p,
const size_t  M,
const size_t  N,
float *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ ColumnEchelonForm_modular_int32_t()

size_t ColumnEchelonForm_modular_int32_t ( const int32_t  p,
const size_t  M,
const size_t  N,
int32_t *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ RowEchelonForm_modular_int32_t()

size_t RowEchelonForm_modular_int32_t ( const int32_t  p,
const size_t  M,
const size_t  N,
int32_t *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ ReducedColumnEchelonForm_modular_int32_t()

size_t ReducedColumnEchelonForm_modular_int32_t ( const int32_t  p,
const size_t  M,
const size_t  N,
int32_t *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ ReducedRowEchelonForm_modular_int32_t()

size_t ReducedRowEchelonForm_modular_int32_t ( const int32_t  p,
const size_t  M,
const size_t  N,
int32_t *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ pColumnEchelonForm_modular_double()

size_t pColumnEchelonForm_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ pRowEchelonForm_modular_double()

size_t pRowEchelonForm_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ pReducedColumnEchelonForm_modular_double()

size_t pReducedColumnEchelonForm_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ pReducedRowEchelonForm_modular_double()

size_t pReducedRowEchelonForm_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ pColumnEchelonForm_modular_float()

size_t pColumnEchelonForm_modular_float ( const float  p,
const size_t  M,
const size_t  N,
float *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ pRowEchelonForm_modular_float()

size_t pRowEchelonForm_modular_float ( const float  p,
const size_t  M,
const size_t  N,
float *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ pReducedColumnEchelonForm_modular_float()

size_t pReducedColumnEchelonForm_modular_float ( const float  p,
const size_t  M,
const size_t  N,
float *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ pReducedRowEchelonForm_modular_float()

size_t pReducedRowEchelonForm_modular_float ( const float  p,
const size_t  M,
const size_t  N,
float *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ pColumnEchelonForm_modular_int32_t()

size_t pColumnEchelonForm_modular_int32_t ( const int32_t  p,
const size_t  M,
const size_t  N,
int32_t *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ pRowEchelonForm_modular_int32_t()

size_t pRowEchelonForm_modular_int32_t ( const int32_t  p,
const size_t  M,
const size_t  N,
int32_t *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ pReducedColumnEchelonForm_modular_int32_t()

size_t pReducedColumnEchelonForm_modular_int32_t ( const int32_t  p,
const size_t  M,
const size_t  N,
int32_t *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ pReducedRowEchelonForm_modular_int32_t()

size_t pReducedRowEchelonForm_modular_int32_t ( const int32_t  p,
const size_t  M,
const size_t  N,
int32_t *  A,
const size_t  lda,
size_t *  P,
size_t *  Qt,
const bool  transform,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ Invertin_modular_double()

double * Invertin_modular_double ( const double  p,
const size_t  M,
double *  A,
const size_t  lda,
int *  nullity,
bool  positive 
)

◆ Invert_modular_double()

double * Invert_modular_double ( const double  p,
const size_t  M,
const double *  A,
const size_t  lda,
double *  X,
const size_t  ldx,
int *  nullity,
bool  positive 
)

◆ Invert2_modular_double()

double * Invert2_modular_double ( const double  p,
const size_t  M,
double *  A,
const size_t  lda,
double *  X,
const size_t  ldx,
int *  nullity,
bool  positive 
)

◆ KrylovElim_modular_double()

size_t KrylovElim_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
size_t *  P,
size_t *  Q,
const size_t  deg,
size_t *  iterates,
size_t *  inviterates,
const size_t  maxit,
size_t  virt,
bool  positive 
)

◆ SpecRankProfile_modular_double()

size_t SpecRankProfile_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
const size_t  deg,
size_t *  rankProfile,
bool  positive 
)

◆ Rank_modular_double()

size_t Rank_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
bool  positive 
)

◆ IsSingular_modular_double()

bool IsSingular_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
bool  positive 
)

◆ Det_modular_double()

double Det_modular_double ( const double  p,
const size_t  N,
double *  A,
const size_t  lda,
bool  positive 
)

◆ Solve_modular_double()

double * Solve_modular_double ( const double  p,
const size_t  M,
double *  A,
const size_t  lda,
double *  x,
const int  incx,
const double *  b,
const int  incb,
bool  positive 
)

◆ solveLB_modular_double()

void solveLB_modular_double ( const double  p,
const enum FFLAS::FFLAS_SIDE  Side,
const size_t  M,
const size_t  N,
const size_t  R,
double *  L,
const size_t  ldl,
const size_t *  Q,
double *  B,
const size_t  ldb,
bool  positive 
)

◆ solveLB2_modular_double()

void solveLB2_modular_double ( const double  p,
const enum FFLAS::FFLAS_SIDE  Side,
const size_t  M,
const size_t  N,
const size_t  R,
double *  L,
const size_t  ldl,
const size_t *  Q,
double *  B,
const size_t  ldb,
bool  positive 
)

◆ RandomNullSpaceVector_modular_double()

void RandomNullSpaceVector_modular_double ( const double  p,
const enum FFLAS::FFLAS_SIDE  Side,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
double *  X,
const size_t  incX,
bool  positive 
)

◆ NullSpaceBasis_modular_double()

size_t NullSpaceBasis_modular_double ( const double  p,
const enum FFLAS::FFLAS_SIDE  Side,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
double **  NS,
size_t *  ldn,
size_t *  NSdim,
bool  positive 
)

◆ RowRankProfile_modular_double()

size_t RowRankProfile_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
size_t **  rkprofile,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ ColumnRankProfile_modular_double()

size_t ColumnRankProfile_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
size_t **  rkprofile,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ RankProfileFromLU()

void RankProfileFromLU ( const size_t *  P,
const size_t  N,
const size_t  R,
size_t *  rkprofile,
const enum FFPACK_C_LU_TAG  LuTag 
)

◆ 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 
)

◆ RowRankProfileSubmatrixIndices_modular_double()

size_t RowRankProfileSubmatrixIndices_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
size_t **  rowindices,
size_t **  colindices,
size_t *  R,
bool  positive 
)

◆ ColRankProfileSubmatrixIndices_modular_double()

size_t ColRankProfileSubmatrixIndices_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
size_t **  rowindices,
size_t **  colindices,
size_t *  R,
bool  positive 
)

◆ RowRankProfileSubmatrix_modular_double()

size_t RowRankProfileSubmatrix_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
double **  X,
size_t *  R,
bool  positive 
)

◆ ColRankProfileSubmatrix_modular_double()

size_t ColRankProfileSubmatrix_modular_double ( const double  p,
const size_t  M,
const size_t  N,
double *  A,
const size_t  lda,
double **  X,
size_t *  R,
bool  positive 
)

◆ getTriangular_modular_double()

void getTriangular_modular_double ( const double  p,
const enum FFLAS::FFLAS_UPLO  Uplo,
const enum FFLAS::FFLAS_DIAG  Diag,
const size_t  M,
const size_t  N,
const size_t  R,
const double *  A,
const size_t  lda,
double *  T,
const size_t  ldt,
const bool  OnlyNonZeroVectors,
bool  positive 
)

◆ getTriangularin_modular_double()

void getTriangularin_modular_double ( const double  p,
const enum FFLAS::FFLAS_UPLO  Uplo,
const enum FFLAS::FFLAS_DIAG  Diag,
const size_t  M,
const size_t  N,
const size_t  R,
double *  A,
const size_t  lda,
bool  positive 
)

◆ getEchelonForm_modular_double()

void getEchelonForm_modular_double ( const double  p,
const enum FFLAS::FFLAS_UPLO  Uplo,
const enum FFLAS::FFLAS_DIAG  Diag,
const size_t  M,
const size_t  N,
const size_t  R,
const size_t *  P,
const double *  A,
const size_t  lda,
double *  T,
const size_t  ldt,
const bool  OnlyNonZeroVectors,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ getEchelonFormin_modular_double()

void getEchelonFormin_modular_double ( const double  p,
const enum FFLAS::FFLAS_UPLO  Uplo,
const enum FFLAS::FFLAS_DIAG  Diag,
const size_t  M,
const size_t  N,
const size_t  R,
const size_t *  P,
double *  A,
const size_t  lda,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ getEchelonTransform_modular_double()

void getEchelonTransform_modular_double ( const double  p,
const enum FFLAS::FFLAS_UPLO  Uplo,
const enum FFLAS::FFLAS_DIAG  Diag,
const size_t  M,
const size_t  N,
const size_t  R,
const size_t *  P,
const size_t *  Q,
const double *  A,
const size_t  lda,
double *  T,
const size_t  ldt,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ getReducedEchelonForm_modular_double()

void getReducedEchelonForm_modular_double ( const double  p,
const enum FFLAS::FFLAS_UPLO  Uplo,
const size_t  M,
const size_t  N,
const size_t  R,
const size_t *  P,
const double *  A,
const size_t  lda,
double *  T,
const size_t  ldt,
const bool  OnlyNonZeroVectors,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ getReducedEchelonFormin_modular_double()

void getReducedEchelonFormin_modular_double ( const double  p,
const enum FFLAS::FFLAS_UPLO  Uplo,
const size_t  M,
const size_t  N,
const size_t  R,
const size_t *  P,
double *  A,
const size_t  lda,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ getReducedEchelonTransform_modular_double()

void getReducedEchelonTransform_modular_double ( const double  p,
const enum FFLAS::FFLAS_UPLO  Uplo,
const size_t  M,
const size_t  N,
const size_t  R,
const size_t *  P,
const size_t *  Q,
const double *  A,
const size_t  lda,
double *  T,
const size_t  ldt,
const enum FFPACK_C_LU_TAG  LuTag,
bool  positive 
)

◆ PLUQtoEchelonPermutation()

void PLUQtoEchelonPermutation ( const size_t  N,
const size_t  R,
const size_t *  P,
size_t *  outPerm 
)