QR_MUMPS
 All Classes Files Functions Variables Enumerations Enumerator Pages
dqrm_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 dqrm_factorization_init(qrm_mat)
44  use dqrm_spmat_mod
45  type(dqrm_spmat_type) :: qrm_mat
46  end subroutine dqrm_factorization_init
47  end interface
48 
52  subroutine dqrm_activate_front(qrm_mat, fnum, flops)
53  use dqrm_spmat_mod
54  type(dqrm_spmat_type) :: qrm_mat
55  integer :: fnum
56  real(kind(1.d0)) :: flops
57  end subroutine dqrm_activate_front
58  end interface
59 
62  interface qrm_factorize
63  subroutine dqrm_factorize(qrm_mat, transp)
64  use dqrm_spmat_mod
65  type(dqrm_spmat_type) :: qrm_mat
66  character, optional, intent(in) :: transp
67  end subroutine dqrm_factorize
68  end interface
69 
73  subroutine dqrm_factorization_core(qrm_mat)
74  use dqrm_spmat_mod
75  type(dqrm_spmat_type) :: qrm_mat
76  end subroutine dqrm_factorization_core
77  end interface
78 
81  interface qrm_init_front
82  subroutine dqrm_init_front(qrm_mat, fnum, par, work)
83  use dqrm_spmat_mod
84  type(dqrm_spmat_type), target :: qrm_mat
85  integer :: fnum
86  logical :: par
87  integer, optional :: work(:)
88  end subroutine dqrm_init_front
89  end interface
90 
93  interface qrm_do_subtree
94  subroutine dqrm_do_subtree(qrm_mat, fnum, flops)
95  use dqrm_spmat_mod
96  type(dqrm_spmat_type), target :: qrm_mat
97  integer :: fnum
98  real(kind(1.d0)) :: flops
99  end subroutine dqrm_do_subtree
100  end interface
101 
104  interface qrm_clean_front
105  subroutine dqrm_clean_front(qrm_mat, fnum)
106  use dqrm_spmat_mod
107  type(dqrm_spmat_type), target :: qrm_mat
108  integer :: fnum
109  end subroutine dqrm_clean_front
110  end interface
111 
114  interface qrm_store_h
115  subroutine dqrm_store_h(front)
116  use dqrm_fdata_mod
117  type(dqrm_front_type) :: front
118  end subroutine dqrm_store_h
119  end interface
120 
123  interface qrm_store_r
124  subroutine dqrm_store_r(front)
125  use dqrm_fdata_mod
126  type(dqrm_front_type) :: front
127  end subroutine dqrm_store_r
128  end interface
129 
130 end module dqrm_factorization_mod
subroutine dqrm_do_subtree(qrm_mat, fnum, flops)
This subroutine does the sequential factorization of an entire subtree.
Generic interface for the ::dqrm_store_h routine.
Generic interface for the ::dqrm_clean_front routine.
This module contains the definition of the basic sparse matrix type and of the associated methods...
subroutine dqrm_factorization_core(qrm_mat)
This is the main factorization routine. It performs the factorization of all the fronts that have bee...
subroutine dqrm_activate_front(qrm_mat, fnum, flops)
This routine activates a front.
subroutine dqrm_init_front(qrm_mat, fnum, par, work)
This routine initializes a front.
This module contains the definition of all the data related to the factorization phase.
subroutine dqrm_store_r(front)
Generic interface for the ::dqrm_factorize routine.
This module contains all the generic interfaces for the typed routines in the factorization phase...
Generic interface for the ::dqrm_factorization_core routine.
subroutine dqrm_clean_front(qrm_mat, fnum)
This routine performs the cleaning of a front.
subroutine dqrm_store_h(front)
Generic interface for the ::dqrm_activate_front routine.
This type defines the data structure used to store a matrix.
Generic interface for the ::dqrm_do_subtree routine.
Generic interface for the ::dqrm_store_r routine.
subroutine dqrm_factorization_init(qrm_mat)
This subroutine initializes the data structures needed for the actual factorization.
This type defines a data structure containing all the data related to a front.
Generic interface for the ::dqrm_init_front routine.
Generic interface for the ::dqrm_factorization_init routine.
subroutine dqrm_factorize(qrm_mat, transp)
This routine is the main factorization driver.