Millepede-II V04-13-05
Modules | Functions/Subroutines | Variables
mpskyl.f90 File Reference

Skyline storage. More...

Go to the source code of this file.

Modules

module  mpskyl
 QL data.
 

Functions/Subroutines

subroutine mpslan (n, lrows, npgrp, nsparr)
 Analyse skyline stucture. More...
 
subroutine mpslsp (npgrp, nsparr, nsparc)
 Analyse skyline stucture. More...
 
subroutine mpsldc (npgrp, nsparr, nsparc, gmat, nsize, nrank, mon)
 Cholesky decomposition. More...
 
subroutine mpslsv (gij, gvec, nfit)
 Backward, forward substitution. More...
 
subroutine mpslsv2 (npgrp, nsparr, nsparc, gmat, gvec, nsize)
 Backward, forward substitution. More...
 

Variables

integer(mpi) mpskyl::npar
 number of parameters More...
 
integer(mpi), dimension(:), allocatable mpskyl::lastrowincol
 last (non-zero) row in column More...
 
integer(mpi), dimension(:), allocatable mpskyl::pargroupstoregions
 mapping of parameter groups to regions (in row) More...
 
integer(mpi), dimension(:), allocatable mpskyl::regionoffsets
 offsets for parameter group regions (in row) More...
 
integer(mpi) mpskyl::nthrd
 number of threads More...
 

Detailed Description

Skyline storage.

Author
Claus Kleinwort, DESY, 2023 (Claus.nosp@m..Kle.nosp@m.inwor.nosp@m.t@de.nosp@m.sy.de)

Sparse storage for (column based) skyline matrix with Cholesky decomposition.

Definition in file mpskyl.f90.

Function/Subroutine Documentation

◆ mpslan()

subroutine mpslan ( integer(mpi), intent(in)  n,
integer(mpi), dimension(:), intent(in)  lrows,
integer(mpi), dimension(:), intent(in)  npgrp,
integer(mpl), dimension(:,:), intent(out)  nsparr 
)

Analyse skyline stucture.

Parameters
[in]nnumber of rows (parameters)
[in]lrowslast row in columns
[in]npgrpparameter groups
[out]nsparrrow offsets

Definition at line 45 of file mpskyl.f90.

References mpskyl::lastrowincol, mpskyl::npar, mpskyl::nthrd, mpskyl::pargroupstoregions, and mpskyl::regionoffsets.

◆ mpsldc()

subroutine mpsldc ( integer(mpi), dimension(:), intent(in)  npgrp,
integer(mpl), dimension(:,:), intent(in)  nsparr,
integer(mpi), dimension(:), intent(in)  nsparc,
real(mpd), dimension(:), intent(inout)  gmat,
integer(mpi), intent(in)  nsize,
integer(mpi), intent(out)  nrank,
integer(mpi), intent(in)  mon 
)

Cholesky decomposition.

Parameters
[in]npgrpparameter groups
[in]nsparrrow offsets
[in]nsparccolumn offsets
[in,out]gmat(skyline) matrix, replaced by decomposition
[in]nsizesize of matrix
[out]nrankrank of matrix
[in]monmonitoring flag

Definition at line 187 of file mpskyl.f90.

References monpgs(), mpskyl::npar, mpskyl::pargroupstoregions, and mpskyl::regionoffsets.

◆ mpslsp()

subroutine mpslsp ( integer(mpi), dimension(:), intent(in)  npgrp,
integer(mpl), dimension(:,:), intent(in)  nsparr,
integer(mpi), dimension(:), intent(out)  nsparc 
)

Analyse skyline stucture.

Parameters
[in]npgrpparameter groups
[in]nsparrrow offsets
[out]nsparvcolumn offsets

Definition at line 120 of file mpskyl.f90.

References mpskyl::lastrowincol, mpskyl::npar, and mpskyl::nthrd.

◆ mpslsv()

subroutine mpslsv ( real(mpd)  gij,
real(mpd), dimension(:), intent(inout)  gvec,
integer(mpi), intent(in)  nfit 
)

Backward, forward substitution.

Parameters
[in]gijexternal procedure access global matrix element (i,j)
[in,out]gvecr.h.s, replaced by solution
[in]nfitnumber of parameters

Definition at line 390 of file mpskyl.f90.

◆ mpslsv2()

subroutine mpslsv2 ( integer(mpi), dimension(:), intent(in)  npgrp,
integer(mpl), dimension(:,:), intent(in)  nsparr,
integer(mpi), dimension(:), intent(in)  nsparc,
real(mpd), dimension(:), intent(in)  gmat,
real(mpd), dimension(:), intent(inout)  gvec,
integer(mpi), intent(in)  nsize 
)

Backward, forward substitution.

Parameters
[in]npgrpparameter groups
[in]nsparrrow offsets
[in]nsparccolumn offsets
[in]gmat(skyline) matrix, replaced by decomposition
[in,out]gvecr.h.s, replaced by solution
[in]nsizesize of matrix

Definition at line 437 of file mpskyl.f90.

References mpskyl::npar, mpskyl::pargroupstoregions, and mpskyl::regionoffsets.