Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mumps solver updates #39

Closed
wants to merge 23 commits into from
Closed

Mumps solver updates #39

wants to merge 23 commits into from

Commits on Aug 15, 2023

  1. Configuration menu
    Copy the full SHA
    6126a45 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    12aeda2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    afcef62 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0c4617f View commit details
    Browse the repository at this point in the history
  5. more nose

    mplough-kobold committed Aug 15, 2023
    Configuration menu
    Copy the full SHA
    a7a7670 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    645bfde View commit details
    Browse the repository at this point in the history
  7. Refactor unit tests - now pytest format

    The Mumps test_singular test is available now.
    
    The Mumps test_1to5_T test is still failing.
    mplough-kobold committed Aug 15, 2023
    Configuration menu
    Copy the full SHA
    e0e410e View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8f94db0 View commit details
    Browse the repository at this point in the history
  9. Clean up Mumps changes

    mplough-kobold committed Aug 15, 2023
    Configuration menu
    Copy the full SHA
    b3d44b2 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2023

  1. Handle unknown MUMPS errors and warnings

    Also correctly handle warnings as flags.
    mplough-kobold committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    6fcd2a7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    24c9935 View commit details
    Browse the repository at this point in the history
  3. Fix misplaced call to Mumps destroy function

    There was an issue where if you copied a matrix and the copy passed out
    of scope, the original matrix could no longer be used.  This issue was
    the reason that the test_1to5_T test was failing.
    mplough-kobold committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    17e5126 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    539c330 View commit details
    Browse the repository at this point in the history
  5. Update GitHub repo URL

    mplough-kobold committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    7cec0a1 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b22147a View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2023

  1. Fix "collumns" typo

    mplough-kobold committed Aug 17, 2023
    Configuration menu
    Copy the full SHA
    26f3cb8 View commit details
    Browse the repository at this point in the history
  2. Update shape, then check accuracy

    Otherwise you get
        ValueError: dimension mismatch
    when the solver doesn't do the reshaping
    mplough-kobold committed Aug 17, 2023
    Configuration menu
    Copy the full SHA
    67351f8 View commit details
    Browse the repository at this point in the history
  3. Full attribute parity and result parity between Pardiso and Mumps

    It's now possible to use the same solver_opts values in SimPEG for both
    the Pardiso and MUMPS solvers.
    
    We now run all the Pardiso test cases for Mumps as well.  Running these
    test cases uncovered a Mumps issue where matrix transposes didn't
    commute when operating on complex matrices.  If you asked the Mumps
    solver:
    
        Ainv = Mumps(A)
        AinvT_1 = Mumps(A).T
        AinvT_2 = Mumps(A.T)
    
    then the two inverse transposes weren't equal when A is a complex matrix.
    
    For small matrices, you can look at the inverse transposes by solving
    this trivial system:
    
        AinvT_1 * np.identity(A.size) != AinvT_2 * np.identity(A.size)
    
    This issue occurred because pymatsolver treated the complex case as the
    conjugate transpose -- but we weren't asking for the conjugate
    transpose; we were explicitly asking for just the transpose.
    
    There was no issue with Mumps itself, just a few extra lines of Fortran
    code in the Mumps interface.  Now that those lines are removed, the Mumps
    solver and the Pardiso solver operate identically with these transposes.
    mplough-kobold committed Aug 17, 2023
    Configuration menu
    Copy the full SHA
    47ef682 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8f5cb6e View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2023

  1. Configuration menu
    Copy the full SHA
    3d6be06 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4836604 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c848dd8 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2023

  1. Configuration menu
    Copy the full SHA
    cde8692 View commit details
    Browse the repository at this point in the history