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