Skip to content
Snippets Groups Projects
Select Git revision
  • f47b2156c090f2aa6f57266117e3356165cea7d1
  • master default protected
  • optimize_trapping
  • script_devel
  • parallel_trapping
  • unify_iterations
  • containers-m10
  • magma_refinement
  • release9
  • enable_svd
  • parallel_angles_gmu
  • containers-m8
  • parallel_angles
  • profile_omp_leonardo
  • test_nvidia_profiler
  • containers
  • shaditest
  • test1
  • main
  • 3-error-in-run-the-program
  • experiment
  • NP_TMcode-M10a.03
  • NP_TMcode-M10a.02
  • NP_TMcode-M10a.01
  • NP_TMcode-M10a.00
  • NP_TMcode-M9.01
  • NP_TMcode-M9.00
  • NP_TMcode-M8.03
  • NP_TMcode-M8.02
  • NP_TMcode-M8.01
  • NP_TMcode-M8.00
  • NP_TMcode-M7.00
  • v0.0
33 results

algebraic.h

Blame
  • algebraic.h 1.18 KiB
    /* Distributed under the terms of GPLv3 or later. See COPYING for details. */
    
    /*! \file algebraic.h
     *
     * \brief Declaration of algebraic functions with different call-backs.
     *
     * In principle, the system that runs NP_TMcode may offer various types of
     * optimized features, such as multi-core or multi-node scaling, GPU offload,
     * or external libraries. This header collects a set of functions that can
     * perform standard algebraic operations choosing the most optimized available
     * system as a call-back. If no optimization is detected, eventually the 
     * legacy serial function implementation is used as a fall-back.
     */
    
    #ifndef INCLUDE_ALGEBRAIC_H_
    #define INCLUDE_ALGEBRAIC_H_
    
    /*! \brief Perform in-place matrix inversion.
     *
     * \param mat: `complex double **` The matrix to be inverted (must be a square matrix).
     * \param size: `np_int` The size of the matrix (i.e. the number of its rows or columns).
     * \param ier: `int &` Reference to an integer variable for returning a result flag.
     * \param max_size: `np_int` The maximum expected size (required by some call-backs,
     * optional, defaults to 0).
     */
    void invert_matrix(dcomplex **mat, np_int size, int &ier, np_int max_size=0);
    
    #endif