#include "petsc.h"
Go to the source code of this file.
Definition in file anamodsalsamodules.h.
#define DIAGONAL_INDEFINITE 0 |
#define DIAGONAL_INDEFINITE_WITH_ZEROS 11 |
Definition at line 42 of file anamodsalsamodules.h.
#define DIAGONAL_NEGATIVE -2 |
#define DIAGONAL_NONNEGATIVE 1 |
#define DIAGONAL_NONPOSITIVE -1 |
#define DIAGONAL_POSITIVE 2 |
#define DIAGONAL_ZERO 10 |
PetscErrorCode AnaModDeregisterSalsaModules | ( | void | ) |
Definition at line 27 of file anamodsalsa.c.
References DeRegisterSimpleModules(), DeregisterSpectrumModules(), DeRegisterStructureModules(), and DeRegisterVarianceModules().
Referenced by main().
00028 { 00029 PetscErrorCode ierr; 00030 PetscFunctionBegin; 00031 00032 ierr = DeRegisterSimpleModules(); CHKERRQ(ierr); 00033 ierr = DeRegisterVarianceModules(); CHKERRQ(ierr); 00034 ierr = DeRegisterStructureModules(); CHKERRQ(ierr); 00035 ierr = DeregisterSpectrumModules(); CHKERRQ(ierr); 00036 00037 PetscFunctionReturn(0); 00038 }
PetscErrorCode AnaModRegisterSalsaModules | ( | void | ) |
Definition at line 7 of file anamodsalsa.c.
References CommutatorNormFAllowSqrtTimes(), RegisterIprsModules(), RegisterJPLModules(), RegisterNormalityModules(), RegisterSimpleModules(), RegisterSpectrumModules(), RegisterStructureModules(), RegisterVarianceModules(), and SpectrumComputeUnpreconditionedSpectrum().
Referenced by main().
00008 { 00009 PetscErrorCode ierr; 00010 PetscFunctionBegin; 00011 00012 ierr = RegisterSimpleModules(); CHKERRQ(ierr); 00013 ierr = RegisterVarianceModules(); CHKERRQ(ierr); 00014 ierr = RegisterNormalityModules(); CHKERRQ(ierr); 00015 ierr = CommutatorNormFAllowSqrtTimes(10); 00016 ierr = RegisterStructureModules(); CHKERRQ(ierr); 00017 ierr = RegisterSpectrumModules(); CHKERRQ(ierr); 00018 ierr = SpectrumComputeUnpreconditionedSpectrum(); CHKERRQ(ierr); 00019 ierr = RegisterJPLModules(); CHKERRQ(ierr); 00020 ierr = RegisterIprsModules(); CHKERRQ(ierr); 00021 00022 PetscFunctionReturn(0); 00023 }
PetscErrorCode CommutatorNormFAllowSqrtTimes | ( | int | n | ) |
Definition at line 281 of file normal.c.
Referenced by AnaModRegisterSalsaModules().
00282 { 00283 sqrt_times = n; 00284 return 0; 00285 }
PetscErrorCode DeRegisterSimpleModules | ( | void | ) |
PetscErrorCode DeregisterSpectrumModules | ( | void | ) |
Definition at line 1401 of file spectrum.c.
Referenced by AnaModDeregisterSalsaModules().
01402 { 01403 PetscErrorCode ierr; 01404 PetscFunctionBegin; 01405 #if defined(HAVE_SLEPC) 01406 ierr = SlepcFinalize(); CHKERRQ(ierr); 01407 #endif 01408 PetscFunctionReturn(0); 01409 }
PetscErrorCode DeRegisterStructureModules | ( | void | ) |
PetscErrorCode DeRegisterVarianceModules | ( | void | ) |
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().
00525 { 00526 PetscErrorCode ierr; 00527 PetscFunctionBegin; 00528 00529 ierr = RegisterModule 00530 ("iprs","nnzup",ANALYSISINTEGER,&NnzUp); CHKERRQ(ierr); 00531 ierr = RegisterModule 00532 ("iprs","nnzlow",ANALYSISINTEGER,&NnzLow); CHKERRQ(ierr); 00533 ierr = RegisterModule 00534 ("iprs","nnzdia",ANALYSISINTEGER,&NnzDia); CHKERRQ(ierr); 00535 00536 ierr = RegisterModule 00537 ("iprs","nnz",ANALYSISINTEGER,&Nnz); CHKERRQ(ierr); 00538 ierr = RegisterModule 00539 ("iprs","avgnnzprow",ANALYSISINTEGER,&AvgNnzpRow); CHKERRQ(ierr); 00540 ierr = RegisterModule 00541 ("iprs","avgdistfromdiag",ANALYSISINTEGER,&AvgNnzpRow); CHKERRQ(ierr); 00542 00543 ierr = RegisterModule 00544 ("iprs","relsymm",ANALYSISDOUBLE,&RelSymm); CHKERRQ(ierr); 00545 00546 ierr = RegisterModule 00547 ("iprs","upband",ANALYSISINTEGER,&UpBand); CHKERRQ(ierr); 00548 ierr = RegisterModule 00549 ("iprs","loband",ANALYSISINTEGER,&LoBand); CHKERRQ(ierr); 00550 00551 ierr = RegisterModule 00552 ("iprs","n-nonzero-diags",ANALYSISINTEGER,&NDiags); CHKERRQ(ierr); 00553 ierr = RegisterModule 00554 ("iprs","avg-diag-dist",ANALYSISDOUBLE,&AvgDiagDist); CHKERRQ(ierr); 00555 ierr = RegisterModule 00556 ("iprs","sigma-diag-dist",ANALYSISDOUBLE,&SigmaDiagDist); CHKERRQ(ierr); 00557 00558 PetscFunctionReturn(0); 00559 }
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().
00524 { 00525 PetscErrorCode ierr; 00526 PetscFunctionBegin; 00527 00528 ierr = RegisterModule 00529 ("jpl","n-colours",ANALYSISINTEGER,&NColours); CHKERRQ(ierr); 00530 ierr = RegisterModule 00531 ("jpl","colour-set-sizes",ANALYSISINTARRAY,&ColourSizes); CHKERRQ(ierr); 00532 ierr = RegisterModule 00533 ("jpl","colour-offsets",ANALYSISINTARRAY,&ColourOffsets); CHKERRQ(ierr); 00534 ierr = RegisterModule 00535 ("jpl","colours",ANALYSISINTARRAY,&Colours); CHKERRQ(ierr); 00536 00537 PetscFunctionReturn(0); 00538 }
PetscErrorCode RegisterLapackModules | ( | ) |
Declare norm-like modules that can be performed with lapack calculations.
Definition at line 424 of file lapack.c.
References ANALYSISDOUBLE, Departure(), MaxEVbyImIm(), MaxEVbyImRe(), MaxEVbyMagIm(), MaxEVbyMagRe(), MaxEVbyRealIm(), MaxEVbyRealRe(), MinEVbyMagIm(), MinEVbyMagRe(), and RegisterModule().
Referenced by AnaModRegisterStandardModules().
00425 { 00426 PetscErrorCode ierr; 00427 PetscFunctionBegin; 00428 00429 ierr = RegisterModule 00430 ("lapack","departure",ANALYSISDOUBLE,&Departure); CHKERRQ(ierr); 00431 00432 ierr = RegisterModule 00433 ("lapack","lambda-max-by-magnitude;re", 00434 ANALYSISDOUBLE,&MaxEVbyMagRe); CHKERRQ(ierr); 00435 ierr = RegisterModule 00436 ("lapack","lambda-max-by-magnitude;im", 00437 ANALYSISDOUBLE,&MaxEVbyMagIm); CHKERRQ(ierr); 00438 ierr = RegisterModule 00439 ("lapack","lambda-min-by-magnitude;re", 00440 ANALYSISDOUBLE,&MinEVbyMagRe); CHKERRQ(ierr); 00441 ierr = RegisterModule 00442 ("lapack","lambda-min-by-magnitude;im", 00443 ANALYSISDOUBLE,&MinEVbyMagIm); CHKERRQ(ierr); 00444 ierr = RegisterModule 00445 ("lapack","lambda-max-by-real-part;re", 00446 ANALYSISDOUBLE,&MaxEVbyRealRe); CHKERRQ(ierr); 00447 ierr = RegisterModule 00448 ("lapack","lambda-max-by-real-part;im", 00449 ANALYSISDOUBLE,&MaxEVbyRealIm); CHKERRQ(ierr); 00450 ierr = RegisterModule 00451 ("lapack","lambda-max-by-im-part;re", 00452 ANALYSISDOUBLE,&MaxEVbyImRe); CHKERRQ(ierr); 00453 ierr = RegisterModule 00454 ("lapack","lambda-max-by-im-part;im", 00455 ANALYSISDOUBLE,&MaxEVbyImIm); CHKERRQ(ierr); 00456 00457 PetscFunctionReturn(0); 00458 }
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().
00582 { 00583 PetscErrorCode ierr; 00584 PetscFunctionBegin; 00585 00586 ierr = RegisterModule 00587 ("normal","trace-asquared",ANALYSISDOUBLE,&TraceA2); CHKERRQ(ierr); 00588 ierr = RegisterModule 00589 ("normal","commutator-normF",ANALYSISDOUBLE,&Commutator); CHKERRQ(ierr); 00590 00591 ierr = RegisterModule 00592 ("normal","ruhe75-bound",ANALYSISDOUBLE,&DepartureRuhe75); CHKERRQ(ierr); 00593 00594 ierr = RegisterModule 00595 ("normal","lee95-bound",ANALYSISDOUBLE,&DepartureLee95); CHKERRQ(ierr); 00596 00597 ierr = RegisterModule 00598 ("normal","lee96-ubound",ANALYSISDOUBLE,&DepartureLee96U); CHKERRQ(ierr); 00599 ierr = RegisterModule 00600 ("normal","lee96-lbound",ANALYSISDOUBLE,&DepartureLee96L); CHKERRQ(ierr); 00601 00602 PetscFunctionReturn(0); 00603 }
PetscErrorCode RegisterSimpleModules | ( | void | ) |
Declare norm-like modules that can be performed with simple calculations.
Definition at line 644 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().
00645 { 00646 PetscErrorCode ierr; 00647 PetscFunctionBegin; 00648 00649 ierr = RegisterModule 00650 ("simple","trace",ANALYSISDOUBLE,&Trace); CHKERRQ(ierr); 00651 ierr = RegisterModule 00652 ("simple","trace-abs",ANALYSISDOUBLE,&TraceAbs); CHKERRQ(ierr); 00653 00654 ierr = RegisterModule 00655 ("simple","norm1",ANALYSISDOUBLE,&norm1); CHKERRQ(ierr); 00656 ierr = RegisterModule 00657 ("simple","normInf",ANALYSISDOUBLE,&normInf); CHKERRQ(ierr); 00658 ierr = RegisterModule 00659 ("simple","normF",ANALYSISDOUBLE,&normF); CHKERRQ(ierr); 00660 00661 ierr = RegisterModule 00662 ("simple","diagonal-dominance",ANALYSISDOUBLE,&DiagonalDominance); CHKERRQ(ierr); 00663 00664 ierr = RegisterModule 00665 ("simple","symmetry-snorm",ANALYSISDOUBLE,&SymmetrySNorm); CHKERRQ(ierr); 00666 ierr = RegisterModule 00667 ("simple","symmetry-anorm",ANALYSISDOUBLE,&SymmetryANorm); CHKERRQ(ierr); 00668 ierr = RegisterModule 00669 ("simple","symmetry-fsnorm",ANALYSISDOUBLE,&SymmetryFSNorm); CHKERRQ(ierr); 00670 ierr = RegisterModule 00671 ("simple","symmetry-fanorm",ANALYSISDOUBLE,&SymmetryFANorm); CHKERRQ(ierr); 00672 00673 ierr = RegisterModule 00674 ("structure","n-struct-unsymm",ANALYSISINTEGER,&NUnstruct); CHKERRQ(ierr); 00675 00676 PetscFunctionReturn(0); 00677 }
PetscErrorCode RegisterSpectrumModules | ( | void | ) |
Definition at line 1329 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().
01330 { 01331 PetscErrorCode ierr; 01332 PetscFunctionBegin; 01333 01334 #if defined(HAVE_SLEPC) 01335 ierr = SlepcInitialize(0,0,0,0); CHKERRQ(ierr); 01336 #endif 01337 01338 ierr = RegisterModule 01339 ("spectrum","n-ritz-values",ANALYSISINTEGER,&NRitzValues); CHKERRQ(ierr); 01340 ierr = RegisterModule 01341 ("spectrum","ritz-values-r",ANALYSISDBLARRAY,&RitzValuesR); CHKERRQ(ierr); 01342 ierr = RegisterModule 01343 ("spectrum","ritz-values-c",ANALYSISDBLARRAY,&RitzValuesC); CHKERRQ(ierr); 01344 /* 01345 ierr = RegisterModule 01346 ("spectrum","hessenberg",ANALYSISDBLARRAY,&Hessenberg); CHKERRQ(ierr); 01347 */ 01348 01349 ierr = RegisterModule 01350 ("spectrum","ellipse-ax",ANALYSISDOUBLE,&SpectrumAX); CHKERRQ(ierr); 01351 ierr = RegisterModule 01352 ("spectrum","ellipse-ay",ANALYSISDOUBLE,&SpectrumAY); CHKERRQ(ierr); 01353 ierr = RegisterModule 01354 ("spectrum","ellipse-cx",ANALYSISDOUBLE,&SpectrumCX); CHKERRQ(ierr); 01355 ierr = RegisterModule 01356 ("spectrum","ellipse-cy",ANALYSISDOUBLE,&SpectrumCY); CHKERRQ(ierr); 01357 01358 ierr = RegisterModule 01359 ("spectrum","kappa",ANALYSISDOUBLE,&Kappa); CHKERRQ(ierr); 01360 ierr = RegisterModule 01361 ("spectrum","positive-fraction",ANALYSISDOUBLE,&PosFraction); CHKERRQ(ierr); 01362 01363 ierr = RegisterModule 01364 ("spectrum","sigma-max",ANALYSISDOUBLE,&SigmaMax); CHKERRQ(ierr); 01365 ierr = RegisterModule 01366 ("spectrum","sigma-min",ANALYSISDOUBLE,&SigmaMin); CHKERRQ(ierr); 01367 01368 ierr = RegisterModule 01369 ("spectrum","lambda-max-by-magnitude-re", 01370 ANALYSISDOUBLE,&MaxEVbyMagRe); CHKERRQ(ierr); 01371 ierr = RegisterModule 01372 ("spectrum","lambda-max-by-magnitude-im", 01373 ANALYSISDOUBLE,&MaxEVbyMagIm); CHKERRQ(ierr); 01374 ierr = RegisterModule 01375 ("spectrum","lambda-min-by-magnitude-re", 01376 ANALYSISDOUBLE,&MinEVbyMagRe); CHKERRQ(ierr); 01377 ierr = RegisterModule 01378 ("spectrum","lambda-min-by-magnitude-im", 01379 ANALYSISDOUBLE,&MinEVbyMagIm); CHKERRQ(ierr); 01380 ierr = RegisterModule 01381 ("spectrum","lambda-max-by-real-part-re", 01382 ANALYSISDOUBLE,&MaxEVbyRealRe); CHKERRQ(ierr); 01383 ierr = RegisterModule 01384 ("spectrum","lambda-max-by-real-part-im", 01385 ANALYSISDOUBLE,&MaxEVbyRealIm); CHKERRQ(ierr); 01386 ierr = RegisterModule 01387 ("spectrum","lambda-max-by-im-part-re", 01388 ANALYSISDOUBLE,&MaxEVbyImRe); CHKERRQ(ierr); 01389 ierr = RegisterModule 01390 ("spectrum","lambda-max-by-im-part-im", 01391 ANALYSISDOUBLE,&MaxEVbyImIm); CHKERRQ(ierr); 01392 01393 ierr = DeclareCategoryOptionFunction 01394 ("spectrum",&SpectrumOptions); CHKERRQ(ierr); 01395 01396 PetscFunctionReturn(0); 01397 }
PetscErrorCode RegisterStructureModules | ( | void | ) |
Definition at line 689 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().
00690 { 00691 PetscErrorCode ierr; 00692 PetscFunctionBegin; 00693 00694 ierr = RegisterModule 00695 ("structure","nrows",ANALYSISINTEGER,&nRows); CHKERRQ(ierr); 00696 ierr = RegisterModule 00697 ("structure","symmetry",ANALYSISINTEGER,&Symmetry); CHKERRQ(ierr); 00698 00699 ierr = RegisterModule 00700 ("structure","nnzeros",ANALYSISINTEGER,&NNonZeros); CHKERRQ(ierr); 00701 ierr = RegisterModule 00702 ("structure","max-nnzeros-per-row",ANALYSISINTEGER, 00703 &MaxNNonZerosPerRow); CHKERRQ(ierr); 00704 ierr = RegisterModule 00705 ("structure","min-nnzeros-per-row",ANALYSISINTEGER, 00706 &MinNNonZerosPerRow); CHKERRQ(ierr); 00707 00708 ierr = RegisterModule 00709 ("structure","left-bandwidth",ANALYSISINTEGER,&LBandWidth); CHKERRQ(ierr); 00710 ierr = RegisterModule 00711 ("structure","right-bandwidth",ANALYSISINTEGER,&RBandWidth); CHKERRQ(ierr); 00712 00713 ierr = RegisterModule 00714 ("structure","left-skyline",ANALYSISINTARRAY,&LeftSkyline); CHKERRQ(ierr); 00715 ierr = RegisterModule 00716 ("structure","right-skyline",ANALYSISINTARRAY,&RightSkyline); CHKERRQ(ierr); 00717 00718 ierr = RegisterModule 00719 ("structure","n-dummy-rows",ANALYSISINTEGER,&NDummyRows); CHKERRQ(ierr); 00720 ierr = RegisterModule 00721 ("structure","dummy-rows-kind",ANALYSISINTEGER,&DummyRowsKind); CHKERRQ(ierr); 00722 ierr = RegisterModule 00723 ("structure","dummy-rows",ANALYSISINTARRAY,&DummyRows); CHKERRQ(ierr); 00724 00725 ierr = RegisterModule 00726 ("structure","diag-zerostart",ANALYSISINTEGER,&DiagZeroStart); CHKERRQ(ierr); 00727 ierr = RegisterModule 00728 ("structure","diag-definite",ANALYSISINTEGER,&DiagDefinite); CHKERRQ(ierr); 00729 00730 ierr = RegisterModule 00731 ("structure","blocksize",ANALYSISINTEGER,&BlockSize); CHKERRQ(ierr); 00732 00733 PetscFunctionReturn(0); 00734 }
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().
00312 { 00313 PetscErrorCode ierr; 00314 PetscFunctionBegin; 00315 00316 ierr = RegisterModule 00317 ("variance","row-variability",ANALYSISDOUBLE,&RowVariability); CHKERRQ(ierr); 00318 ierr = RegisterModule 00319 ("variance","col-variability",ANALYSISDOUBLE,&ColVariability); CHKERRQ(ierr); 00320 00321 ierr = RegisterModule 00322 ("variance","diagonal-average",ANALYSISDOUBLE,&DiagonalAverage); CHKERRQ(ierr); 00323 ierr = RegisterModule 00324 ("variance","diagonal-variance",ANALYSISDOUBLE,&DiagonalVariance); CHKERRQ(ierr); 00325 ierr = RegisterModule 00326 ("variance","diagonal-sign",ANALYSISINTEGER,&DiagonalSign); CHKERRQ(ierr); 00327 00328 PetscFunctionReturn(0); 00329 }
PetscErrorCode SpectrumComputePreconditionedSpectrum | ( | void | ) |
Definition at line 94 of file spectrum.c.
References use_prec.
00095 { 00096 PetscFunctionBegin; 00097 use_prec = 1; 00098 PetscFunctionReturn(0); 00099 }
PetscErrorCode SpectrumComputeUnpreconditionedSpectrum | ( | void | ) |
Definition at line 103 of file spectrum.c.
References use_prec.
Referenced by AnaModRegisterSalsaModules().
00104 { 00105 PetscFunctionBegin; 00106 use_prec = 0; 00107 PetscFunctionReturn(0); 00108 }