QR_MUMPS
 All Classes Files Functions Variables Enumerations Enumerator Pages
qrm_factorization_mod.F90
Go to the documentation of this file.
1 !! ##############################################################################################
2 !!
3 !! Copyright 2012 CNRS, INPT
4 !!
5 !! This file is part of qr_mumps.
6 !!
7 !! qr_mumps is free software: you can redistribute it and/or modify
8 !! it under the terms of the GNU Lesser General Public License as
9 !! published by the Free Software Foundation, either version 3 of
10 !! the License, or (at your option) any later version.
11 !!
12 !! qr_mumps is distributed in the hope that it will be useful,
13 !! but WITHOUT ANY WARRANTY; without even the implied warranty of
14 !! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 !! GNU Lesser General Public License for more details.
16 !!
17 !! You can find a copy of the GNU Lesser General Public License
18 !! in the qr_mumps/doc directory.
19 !!
20 !! ##############################################################################################
21 
22 
23 !! ##############################################################################################
34 
35 
39 
43  subroutine _qrm_factorization_init(qrm_mat)
44  use _qrm_spmat_mod
45  type(_qrm_spmat_type) :: qrm_mat
46  end subroutine _qrm_factorization_init
47  end interface
48 
52  subroutine _qrm_activate_front(qrm_mat, fnum, flops)
53  use _qrm_spmat_mod
54  type(_qrm_spmat_type) :: qrm_mat
55  integer :: fnum
56  real(kind(1.d0)) :: flops
57  end subroutine _qrm_activate_front
58  end interface
59 
62  interface qrm_factorize
63  subroutine _qrm_factorize(qrm_mat, transp)
64  use _qrm_spmat_mod
65  type(_qrm_spmat_type) :: qrm_mat
66  character, optional, intent(in) :: transp
67  end subroutine _qrm_factorize
68  end interface
69 
73  subroutine _qrm_factorization_core(qrm_mat)
74  use _qrm_spmat_mod
75  type(_qrm_spmat_type) :: qrm_mat
76  end subroutine _qrm_factorization_core
77  end interface
78 
81  interface qrm_init_front
82  subroutine _qrm_init_front(qrm_mat, fnum, par, work)
83  use _qrm_spmat_mod
84  type(_qrm_spmat_type), target :: qrm_mat
85  integer :: fnum
86  logical :: par
87  integer, optional :: work(:)
88  end subroutine _qrm_init_front
89  end interface
90 
93  interface qrm_do_subtree
94  subroutine _qrm_do_subtree(qrm_mat, fnum, flops)
95  use _qrm_spmat_mod
96  type(_qrm_spmat_type), target :: qrm_mat
97  integer :: fnum
98  real(kind(1.d0)) :: flops
99  end subroutine _qrm_do_subtree
100  end interface
101 
104  interface qrm_clean_front
105  subroutine _qrm_clean_front(qrm_mat, fnum)
106  use _qrm_spmat_mod
107  type(_qrm_spmat_type), target :: qrm_mat
108  integer :: fnum
109  end subroutine _qrm_clean_front
110  end interface
111 
114  interface qrm_store_h
115  subroutine _qrm_store_h(front)
116  use _qrm_fdata_mod
117  type(_qrm_front_type) :: front
118  end subroutine _qrm_store_h
119  end interface
120 
123  interface qrm_store_r
124  subroutine _qrm_store_r(front)
125  use _qrm_fdata_mod
126  type(_qrm_front_type) :: front
127  end subroutine _qrm_store_r
128  end interface
129 
130 end module _qrm_factorization_mod
This module contains the definition of all the data related to the factorization phase.
subroutine _qrm_init_front(qrm_mat, fnum, par, work)
This routine initializes a front.
Generic interface for the ::_qrm_store_h routine.
Generic interface for the ::_qrm_factorization_core routine.
Generic interface for the ::_qrm_activate_front routine.
subroutine _qrm_do_subtree(qrm_mat, fnum, flops)
This subroutine does the sequential factorization of an entire subtree.
This module contains all the generic interfaces for the typed routines in the factorization phase...
Generic interface for the ::_qrm_clean_front routine.
subroutine _qrm_store_h(front)
subroutine _qrm_clean_front(qrm_mat, fnum)
This routine performs the cleaning of a front.
Generic interface for the ::_qrm_store_r routine.
Generic interface for the ::_qrm_do_subtree routine.
Generic interface for the ::_qrm_factorize routine.
subroutine _qrm_factorization_core(qrm_mat)
This is the main factorization routine. It performs the factorization of all the fronts that have bee...
subroutine _qrm_factorization_init(qrm_mat)
This subroutine initializes the data structures needed for the actual factorization.
This type defines the data structure used to store a matrix.
Generic interface for the ::_qrm_init_front routine.
This module contains the definition of the basic sparse matrix type and of the associated methods...
Generic interface for the ::_qrm_factorization_init routine.
subroutine _qrm_factorize(qrm_mat, transp)
This routine is the main factorization driver.
subroutine _qrm_store_r(front)
subroutine _qrm_activate_front(qrm_mat, fnum, flops)
This routine activates a front.
This type defines a data structure containing all the data related to a front.