public class MumpsSolverTest extends DirectSolverTestBase
DirectSolverTestBase; this class adds those which are specific to
MUMPS.| Constructor and Description |
|---|
MumpsSolverTest() |
| Modifier and Type | Method and Description |
|---|---|
static void |
main(java.lang.String[] args) |
void |
test() |
void |
testNullPivotDetection()
Tests the MUMPS specific mechanisms for handling singular matrices: null
pivot detection, which is enabled by default, and static pivoting, which
is the alternative.
|
void |
testParameterAccessMethods() |
void |
testScaling()
Tests the scaling setting (MUMPS parameter ICNTL(8)), and that repeated
factorizations following a single analyze remain accurate as the matrix
values change, which is how the solver is used by a simulation.
|
void |
testStatistics() |
void |
testThreadConsistency()
Tests that the factorization and solve phases use the same number of
threads as the analysis, which MUMPS requires when ICNTL(48)
multithreaded tree parallelism is active (its default), failing with
error -58 otherwise.
|
testBasics, testCRSInterface, testInertia, testIterativeSettings, testLargeMatrix, testSingularMatrix, testSPD, testStateAndReuse, testSymmetric, testUnsymmetriccheck, checkEquals, checkEquals, checkEquals, checkEquals, checkEquals, checkEquals, checkEquals, checkEquals, checkEquals, checkEquals, checkNormedEquals, checkNormedEquals, getSilent, printUsageAndExit, runtest, setSilentpublic void testNullPivotDetection()
public void testScaling()
MUMPS may compute its scaling during the analysis phase, in which case it is reused by later factorizations and becomes stale as the values change. Pivots can then appear to be null, and with null pivot detection enabled such a pivot is "fixed", silently corrupting the solution. This is why the default scaling is 7, which rescales for each factorization.
public void testThreadConsistency()
The OpenMP thread count is a property of the process, so another
solver in the same process can change it between our phases: when it is
created, or when its own analysis is throttled for a smaller matrix (see
maxThreadsNnz). The solver therefore re-asserts the thread count
for each phase.
public void testStatistics()
throws java.io.IOException
java.io.IOExceptionpublic void testParameterAccessMethods()
public void test()
throws java.io.IOException
test in class DirectSolverTestBasejava.io.IOExceptionpublic static void main(java.lang.String[] args)