SALSA Analysis Modules
|
Prototypes for using the standard modules. More...
#include "petsc.h"
Go to the source code of this file.
Prototypes for using the standard modules.
Definition in file anamodsalsamodules.h.
#define DIAGONAL_INDEFINITE 0 |
Definition at line 41 of file anamodsalsamodules.h.
Referenced by ComputeDiagonal().
#define DIAGONAL_INDEFINITE_WITH_ZEROS 11 |
Definition at line 45 of file anamodsalsamodules.h.
#define DIAGONAL_NEGATIVE -2 |
Definition at line 43 of file anamodsalsamodules.h.
Referenced by ComputeDiagonal().
#define DIAGONAL_NONNEGATIVE 1 |
Definition at line 40 of file anamodsalsamodules.h.
Referenced by ComputeDiagonal().
#define DIAGONAL_NONPOSITIVE -1 |
Definition at line 42 of file anamodsalsamodules.h.
Referenced by ComputeDiagonal().
#define DIAGONAL_POSITIVE 2 |
Definition at line 39 of file anamodsalsamodules.h.
Referenced by ComputeDiagonal().
#define DIAGONAL_ZERO 10 |
Definition at line 44 of file anamodsalsamodules.h.
Referenced by ComputeDiagonal().
PetscErrorCode AnaModDeregisterSalsaModules | ( | void | ) |
Definition at line 30 of file anamodsalsa.c.
References DeRegisterSimpleModules(), DeregisterSpectrumModules(), DeRegisterStructureModules(), and DeRegisterVarianceModules().
Referenced by main().
{ PetscErrorCode ierr; PetscFunctionBegin; ierr = DeRegisterSimpleModules(); CHKERRQ(ierr); ierr = DeRegisterVarianceModules(); CHKERRQ(ierr); ierr = DeRegisterStructureModules(); CHKERRQ(ierr); ierr = DeregisterSpectrumModules(); CHKERRQ(ierr); PetscFunctionReturn(0); }
PetscErrorCode AnaModRegisterSalsaModules | ( | void | ) |
Definition at line 7 of file anamodsalsa.c.
References CommutatorNormFAllowSqrtTimes(), RegisterIprsModules(), RegisterJPLModules(), RegisterLapackModules(), RegisterNormalityModules(), RegisterSimpleModules(), RegisterSpectrumModules(), RegisterStructureModules(), RegisterVarianceModules(), and SpectrumComputeUnpreconditionedSpectrum().
Referenced by main().
{ PetscErrorCode ierr; PetscFunctionBegin; ierr = RegisterSimpleModules(); CHKERRQ(ierr); ierr = RegisterVarianceModules(); CHKERRQ(ierr); ierr = RegisterNormalityModules(); CHKERRQ(ierr); ierr = CommutatorNormFAllowSqrtTimes(10); ierr = RegisterStructureModules(); CHKERRQ(ierr); ierr = RegisterSpectrumModules(); CHKERRQ(ierr); ierr = SpectrumComputeUnpreconditionedSpectrum(); CHKERRQ(ierr); ierr = RegisterJPLModules(); CHKERRQ(ierr); ierr = RegisterIprsModules(); CHKERRQ(ierr); #if defined(HAVE_LAPACK) ierr = RegisterLapackModules(); CHKERRQ(ierr); #endif PetscFunctionReturn(0); }
PetscErrorCode CommutatorNormFAllowSqrtTimes | ( | int | n | ) |
Definition at line 281 of file normal.c.
Referenced by AnaModRegisterSalsaModules().
{ sqrt_times = n; return 0; }
PetscErrorCode DeRegisterSimpleModules | ( | void | ) |
Definition at line 692 of file simple.c.
Referenced by AnaModDeregisterSalsaModules().
{ PetscFunctionBegin; PetscFunctionReturn(0); }
PetscErrorCode DeregisterSpectrumModules | ( | void | ) |
Definition at line 1413 of file spectrum.c.
Referenced by AnaModDeregisterSalsaModules().
{ #if defined(HAVE_SLEPC) PetscErrorCode ierr; PetscFunctionBegin; ierr = SlepcFinalize(); CHKERRQ(ierr); PetscFunctionReturn(0); #else PetscFunctionBegin; PetscFunctionReturn(0); #endif }
PetscErrorCode DeRegisterStructureModules | ( | void | ) |
Definition at line 718 of file structure.c.
Referenced by AnaModDeregisterSalsaModules().
{ PetscFunctionBegin; PetscFunctionReturn(0); }
PetscErrorCode DeRegisterVarianceModules | ( | void | ) |
Definition at line 333 of file variance.c.
Referenced by AnaModDeregisterSalsaModules().
{ PetscFunctionBegin; PetscFunctionReturn(0); }
PetscErrorCode RegisterIprsModules | ( | void | ) |
Definition at line 524 of file iprs.c.
References ANALYSISDOUBLE, ANALYSISINTEGER, AvgDiagDist(), AvgNnzpRow(), LoBand(), NDiags(), Nnz(), NnzDia(), NnzLow(), NnzUp(), RegisterModule(), RelSymm(), SigmaDiagDist(), and UpBand().
Referenced by AnaModRegisterSalsaModules(), and AnaModRegisterStandardModules().
{ PetscErrorCode ierr; PetscFunctionBegin; ierr = RegisterModule ("iprs","nnzup",ANALYSISINTEGER,&NnzUp); CHKERRQ(ierr); ierr = RegisterModule ("iprs","nnzlow",ANALYSISINTEGER,&NnzLow); CHKERRQ(ierr); ierr = RegisterModule ("iprs","nnzdia",ANALYSISINTEGER,&NnzDia); CHKERRQ(ierr); ierr = RegisterModule ("iprs","nnz",ANALYSISINTEGER,&Nnz); CHKERRQ(ierr); ierr = RegisterModule ("iprs","avgnnzprow",ANALYSISINTEGER,&AvgNnzpRow); CHKERRQ(ierr); ierr = RegisterModule ("iprs","avgdistfromdiag",ANALYSISINTEGER,&AvgNnzpRow); CHKERRQ(ierr); ierr = RegisterModule ("iprs","relsymm",ANALYSISDOUBLE,&RelSymm); CHKERRQ(ierr); ierr = RegisterModule ("iprs","upband",ANALYSISINTEGER,&UpBand); CHKERRQ(ierr); ierr = RegisterModule ("iprs","loband",ANALYSISINTEGER,&LoBand); CHKERRQ(ierr); ierr = RegisterModule ("iprs","n-nonzero-diags",ANALYSISINTEGER,&NDiags); CHKERRQ(ierr); ierr = RegisterModule ("iprs","avg-diag-dist",ANALYSISDOUBLE,&AvgDiagDist); CHKERRQ(ierr); ierr = RegisterModule ("iprs","sigma-diag-dist",ANALYSISDOUBLE,&SigmaDiagDist); CHKERRQ(ierr); PetscFunctionReturn(0); }
PetscErrorCode RegisterJPLModules | ( | void | ) |
Definition at line 523 of file jpl.c.
References ANALYSISINTARRAY, ANALYSISINTEGER, ColourOffsets(), Colours(), ColourSizes(), NColours(), and RegisterModule().
Referenced by AnaModRegisterSalsaModules(), and AnaModRegisterStandardModules().
{ PetscErrorCode ierr; PetscFunctionBegin; ierr = RegisterModule ("jpl","n-colours",ANALYSISINTEGER,&NColours); CHKERRQ(ierr); ierr = RegisterModule ("jpl","colour-set-sizes",ANALYSISINTARRAY,&ColourSizes); CHKERRQ(ierr); ierr = RegisterModule ("jpl","colour-offsets",ANALYSISINTARRAY,&ColourOffsets); CHKERRQ(ierr); ierr = RegisterModule ("jpl","colours",ANALYSISINTARRAY,&Colours); CHKERRQ(ierr); PetscFunctionReturn(0); }
PetscErrorCode RegisterNormalityModules | ( | void | ) |
Definition at line 581 of file normal.c.
References ANALYSISDOUBLE, Commutator(), DepartureLee95(), DepartureLee96L(), DepartureLee96U(), DepartureRuhe75(), RegisterModule(), and TraceA2().
Referenced by AnaModRegisterSalsaModules(), and AnaModRegisterStandardModules().
{ PetscErrorCode ierr; PetscFunctionBegin; ierr = RegisterModule ("normal","trace-asquared",ANALYSISDOUBLE,&TraceA2); CHKERRQ(ierr); ierr = RegisterModule ("normal","commutator-normF",ANALYSISDOUBLE,&Commutator); CHKERRQ(ierr); ierr = RegisterModule ("normal","ruhe75-bound",ANALYSISDOUBLE,&DepartureRuhe75); CHKERRQ(ierr); ierr = RegisterModule ("normal","lee95-bound",ANALYSISDOUBLE,&DepartureLee95); CHKERRQ(ierr); ierr = RegisterModule ("normal","lee96-ubound",ANALYSISDOUBLE,&DepartureLee96U); CHKERRQ(ierr); ierr = RegisterModule ("normal","lee96-lbound",ANALYSISDOUBLE,&DepartureLee96L); CHKERRQ(ierr); PetscFunctionReturn(0); }
PetscErrorCode RegisterSimpleModules | ( | void | ) |
Declare norm-like modules that can be performed with simple calculations.
Definition at line 655 of file simple.c.
References ANALYSISDOUBLE, ANALYSISINTEGER, DiagonalDominance(), norm1(), normF(), normInf(), NUnstruct(), RegisterModule(), SymmetryANorm(), SymmetryFANorm(), SymmetryFSNorm(), SymmetrySNorm(), Trace(), and TraceAbs().
Referenced by AnaModRegisterSalsaModules(), and AnaModRegisterStandardModules().
{ PetscErrorCode ierr; PetscFunctionBegin; ierr = RegisterModule ("simple","trace",ANALYSISDOUBLE,&Trace); CHKERRQ(ierr); ierr = RegisterModule ("simple","trace-abs",ANALYSISDOUBLE,&TraceAbs); CHKERRQ(ierr); ierr = RegisterModule ("simple","norm1",ANALYSISDOUBLE,&norm1); CHKERRQ(ierr); ierr = RegisterModule ("simple","normInf",ANALYSISDOUBLE,&normInf); CHKERRQ(ierr); ierr = RegisterModule ("simple","normF",ANALYSISDOUBLE,&normF); CHKERRQ(ierr); ierr = RegisterModule ("simple","diagonal-dominance",ANALYSISDOUBLE,&DiagonalDominance); CHKERRQ(ierr); ierr = RegisterModule ("simple","symmetry-snorm",ANALYSISDOUBLE,&SymmetrySNorm); CHKERRQ(ierr); ierr = RegisterModule ("simple","symmetry-anorm",ANALYSISDOUBLE,&SymmetryANorm); CHKERRQ(ierr); ierr = RegisterModule ("simple","symmetry-fsnorm",ANALYSISDOUBLE,&SymmetryFSNorm); CHKERRQ(ierr); ierr = RegisterModule ("simple","symmetry-fanorm",ANALYSISDOUBLE,&SymmetryFANorm); CHKERRQ(ierr); ierr = RegisterModule ("structure","n-struct-unsymm",ANALYSISINTEGER,&NUnstruct); CHKERRQ(ierr); PetscFunctionReturn(0); }
PetscErrorCode RegisterSpectrumModules | ( | void | ) |
Definition at line 1342 of file spectrum.c.
References ANALYSISDBLARRAY, ANALYSISDOUBLE, ANALYSISINTEGER, DeclareCategoryOptionFunction(), Kappa(), MaxEVbyImIm(), MaxEVbyImRe(), MaxEVbyMagIm(), MaxEVbyMagRe(), MaxEVbyRealIm(), MaxEVbyRealRe(), MinEVbyMagIm(), MinEVbyMagRe(), NRitzValues(), PosFraction(), RegisterModule(), RitzValuesC(), RitzValuesR(), SigmaMax(), SigmaMin(), SpectrumAX(), SpectrumAY(), SpectrumCX(), SpectrumCY(), and SpectrumOptions().
Referenced by AnaModRegisterSalsaModules(), and AnaModRegisterStandardModules().
{ PetscErrorCode ierr; PetscFunctionBegin; #if defined(HAVE_SLEPC) ierr = SlepcInitialize(0,0,0,0); CHKERRQ(ierr); #endif ierr = RegisterModule ("spectrum","n-ritz-values",ANALYSISINTEGER,&NRitzValues); CHKERRQ(ierr); ierr = RegisterModule ("spectrum","ritz-values-r",ANALYSISDBLARRAY,&RitzValuesR); CHKERRQ(ierr); ierr = RegisterModule ("spectrum","ritz-values-c",ANALYSISDBLARRAY,&RitzValuesC); CHKERRQ(ierr); /* ierr = RegisterModule ("spectrum","hessenberg",ANALYSISDBLARRAY,&Hessenberg); CHKERRQ(ierr); */ ierr = RegisterModule ("spectrum","ellipse-ax",ANALYSISDOUBLE,&SpectrumAX); CHKERRQ(ierr); ierr = RegisterModule ("spectrum","ellipse-ay",ANALYSISDOUBLE,&SpectrumAY); CHKERRQ(ierr); ierr = RegisterModule ("spectrum","ellipse-cx",ANALYSISDOUBLE,&SpectrumCX); CHKERRQ(ierr); ierr = RegisterModule ("spectrum","ellipse-cy",ANALYSISDOUBLE,&SpectrumCY); CHKERRQ(ierr); ierr = RegisterModule ("spectrum","kappa",ANALYSISDOUBLE,&Kappa); CHKERRQ(ierr); ierr = RegisterModule ("spectrum","positive-fraction",ANALYSISDOUBLE,&PosFraction); CHKERRQ(ierr); ierr = RegisterModule ("spectrum","sigma-max",ANALYSISDOUBLE,&SigmaMax); CHKERRQ(ierr); ierr = RegisterModule ("spectrum","sigma-min",ANALYSISDOUBLE,&SigmaMin); CHKERRQ(ierr); ierr = RegisterModule ("spectrum","lambda-max-by-magnitude-re", ANALYSISDOUBLE,&MaxEVbyMagRe); CHKERRQ(ierr); ierr = RegisterModule ("spectrum","lambda-max-by-magnitude-im", ANALYSISDOUBLE,&MaxEVbyMagIm); CHKERRQ(ierr); ierr = RegisterModule ("spectrum","lambda-min-by-magnitude-re", ANALYSISDOUBLE,&MinEVbyMagRe); CHKERRQ(ierr); ierr = RegisterModule ("spectrum","lambda-min-by-magnitude-im", ANALYSISDOUBLE,&MinEVbyMagIm); CHKERRQ(ierr); ierr = RegisterModule ("spectrum","lambda-max-by-real-part-re", ANALYSISDOUBLE,&MaxEVbyRealRe); CHKERRQ(ierr); ierr = RegisterModule ("spectrum","lambda-max-by-real-part-im", ANALYSISDOUBLE,&MaxEVbyRealIm); CHKERRQ(ierr); ierr = RegisterModule ("spectrum","lambda-max-by-im-part-re", ANALYSISDOUBLE,&MaxEVbyImRe); CHKERRQ(ierr); ierr = RegisterModule ("spectrum","lambda-max-by-im-part-im", ANALYSISDOUBLE,&MaxEVbyImIm); CHKERRQ(ierr); ierr = DeclareCategoryOptionFunction ("spectrum",&SpectrumOptions); CHKERRQ(ierr); PetscFunctionReturn(0); }
PetscErrorCode RegisterStructureModules | ( | void | ) |
Definition at line 669 of file structure.c.
References ANALYSISINTARRAY, ANALYSISINTEGER, BlockSize(), DiagDefinite(), DiagZeroStart(), DummyRows(), DummyRowsKind(), LBandWidth(), LeftSkyline(), MaxNNonZerosPerRow(), MinNNonZerosPerRow(), NDummyRows(), NNonZeros(), nRows(), RBandWidth(), RegisterModule(), RightSkyline(), and Symmetry().
Referenced by AnaModRegisterSalsaModules(), and AnaModRegisterStandardModules().
{ PetscErrorCode ierr; PetscFunctionBegin; ierr = RegisterModule ("structure","nrows",ANALYSISINTEGER,&nRows); CHKERRQ(ierr); ierr = RegisterModule ("structure","symmetry",ANALYSISINTEGER,&Symmetry); CHKERRQ(ierr); ierr = RegisterModule ("structure","nnzeros",ANALYSISINTEGER,&NNonZeros); CHKERRQ(ierr); ierr = RegisterModule ("structure","max-nnzeros-per-row",ANALYSISINTEGER, &MaxNNonZerosPerRow); CHKERRQ(ierr); ierr = RegisterModule ("structure","min-nnzeros-per-row",ANALYSISINTEGER, &MinNNonZerosPerRow); CHKERRQ(ierr); ierr = RegisterModule ("structure","left-bandwidth",ANALYSISINTEGER,&LBandWidth); CHKERRQ(ierr); ierr = RegisterModule ("structure","right-bandwidth",ANALYSISINTEGER,&RBandWidth); CHKERRQ(ierr); ierr = RegisterModule ("structure","left-skyline",ANALYSISINTARRAY,&LeftSkyline); CHKERRQ(ierr); ierr = RegisterModule ("structure","right-skyline",ANALYSISINTARRAY,&RightSkyline); CHKERRQ(ierr); ierr = RegisterModule ("structure","n-dummy-rows",ANALYSISINTEGER,&NDummyRows); CHKERRQ(ierr); ierr = RegisterModule ("structure","dummy-rows-kind",ANALYSISINTEGER,&DummyRowsKind); CHKERRQ(ierr); ierr = RegisterModule ("structure","dummy-rows",ANALYSISINTARRAY,&DummyRows); CHKERRQ(ierr); ierr = RegisterModule ("structure","diag-zerostart",ANALYSISINTEGER,&DiagZeroStart); CHKERRQ(ierr); ierr = RegisterModule ("structure","diag-definite",ANALYSISINTEGER,&DiagDefinite); CHKERRQ(ierr); ierr = RegisterModule ("structure","blocksize",ANALYSISINTEGER,&BlockSize); CHKERRQ(ierr); PetscFunctionReturn(0); }
PetscErrorCode RegisterVarianceModules | ( | void | ) |
Definition at line 311 of file variance.c.
References ANALYSISDOUBLE, ANALYSISINTEGER, ColVariability(), DiagonalAverage(), DiagonalSign(), DiagonalVariance(), RegisterModule(), and RowVariability().
Referenced by AnaModRegisterSalsaModules(), and AnaModRegisterStandardModules().
{ PetscErrorCode ierr; PetscFunctionBegin; ierr = RegisterModule ("variance","row-variability",ANALYSISDOUBLE,&RowVariability); CHKERRQ(ierr); ierr = RegisterModule ("variance","col-variability",ANALYSISDOUBLE,&ColVariability); CHKERRQ(ierr); ierr = RegisterModule ("variance","diagonal-average",ANALYSISDOUBLE,&DiagonalAverage); CHKERRQ(ierr); ierr = RegisterModule ("variance","diagonal-variance",ANALYSISDOUBLE,&DiagonalVariance); CHKERRQ(ierr); ierr = RegisterModule ("variance","diagonal-sign",ANALYSISINTEGER,&DiagonalSign); CHKERRQ(ierr); PetscFunctionReturn(0); }
PetscErrorCode SpectrumComputePreconditionedSpectrum | ( | void | ) |
Definition at line 94 of file spectrum.c.
References use_prec.
{ PetscFunctionBegin; use_prec = 1; PetscFunctionReturn(0); }
PetscErrorCode SpectrumComputeUnpreconditionedSpectrum | ( | void | ) |
Definition at line 103 of file spectrum.c.
References use_prec.
Referenced by AnaModRegisterSalsaModules().
{ PetscFunctionBegin; use_prec = 0; PetscFunctionReturn(0); }