QR_MUMPS
|
This file contains the qrm_amalg_tree routine which performs the amalgamation of the elimination tree. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | qrm_amalg_tree (n, parent, rowcount, porder, nvar, min_var, fill_thresh) |
This subroutine performs amalgamation on the assembly tree. More... | |
This file contains the qrm_amalg_tree routine which performs the amalgamation of the elimination tree.
Definition in file qrm_amalg_tree.F90.
subroutine qrm_amalg_tree | ( | integer | n, |
integer, dimension(:) | parent, | ||
integer, dimension(:) | rowcount, | ||
integer, dimension(:) | porder, | ||
integer, dimension(:) | nvar, | ||
integer | min_var, | ||
real(kind(1.d0)) | fill_thresh | ||
) |
This subroutine performs amalgamation on the assembly tree.
Amalgamation is done in order to have a better exploitation of level-3 blas routines at the price of some more oprations due to added fill-in. Any node can be amalgamated to its parent depending on the amount of fill-in introduced in R. For the moment the number of flops as well as the fill-on introduced in H are not taken into account because we are not capable of predicting the structure of H.
[in] | n | the size of the tree |
[in,out] | parent | both in input and in out this array will contain the assembly tree The meaning of parent on output is:
|
[in,out] | rowcount | an integer array containing the rowcount for thr R factor. This corresponds to the front column-size |
[in,out] | porder | the tree postorder. Everything below strongly relies on the fact that in porder a principal variable comes always before its subordinates |
[out] | nvar | nvar(i) will be set to the number of variables in the node whose principal variable is i |
[in] | min_var | supernodes containing less than min_var, will be amalgamated to their fathers (or the other way around) |
[in] | fill_thresh | a double precision value containing a threshold for performing amalgamation. If the introduced fill-in will be less than fill_thresh (in percent) then a node will be amalgamated to its father. |
Definition at line 76 of file qrm_amalg_tree.F90.
References qrm_error_mod::qrm_abort_, qrm_error_mod::qrm_err_act_restore(), qrm_error_mod::qrm_err_act_save(), and qrm_error_mod::qrm_err_check().