grid_tools  1.13.0
pmat2::l1ueb Interface Reference

Private Member Functions

subroutine l1ueb (m, mah1, mah2, mbh1, mbh2, a, b)
 Form the [L]*[D]*[U] decomposition of asymmetric band-matrix [A] replace all but row zero of the lower triangular elements of [A] by [D**-1]*[L]*[D], the upper by [U], replace matrix [B] by [D**-1]*[B]. More...
 
subroutine dl1ueb (m, mah1, mah2, mbh1, mbh2, a, b)
 Double precision version of L1UEB. More...
 

Detailed Description

Definition at line 67 of file pmat2.f90.

Constructor & Destructor Documentation

◆ l1ueb()

subroutine pmat2::l1ueb::l1ueb ( integer(spi), intent(in)  m,
integer(spi), intent(in)  mah1,
integer(spi), intent(in)  mah2,
integer(spi), intent(in)  mbh1,
integer(spi), intent(in)  mbh2,
real(sp), dimension(0:m,-mah1:mah2), intent(inout)  a,
real(sp), dimension(m,-mbh1:mbh2), intent(inout)  b 
)
private

Form the [L]*[D]*[U] decomposition of asymmetric band-matrix [A] replace all but row zero of the lower triangular elements of [A] by [D**-1]*[L]*[D], the upper by [U], replace matrix [B] by [D**-1]*[B].

This is a special adaptation of L1UBB used to process quadrature weights for QEDBV etc in which the initial quadrature value is provided as input instead of being implicitly assumed zero (which is the case for QZDBV etc).

Parameters
[in]mnumber of rows of B, one less than the rows of A (which has "row 0")
[in]mah1left half-width of fortran array A
[in]mah2right half-width of fortran array A
[in]mbh1left half-width of fortran array B
[in]mbh2right half-width of fortran array B
[in,out]ainput as band matrix, output as lower and upper triangulars with 1s implicitly assumed to lie on the main diagonal. The product of these triangular matrices is [D**-1]*[A], where [D] is a diagonal matrix.
[in,out]bin as band matrix, out as same but premultiplied by diagonal [D**-1]
Author
R. J. Purser, Tsukasa Fujita (JMA)
Date
1998

Definition at line 818 of file pmat2.f90.

Member Function/Subroutine Documentation

◆ dl1ueb()

subroutine pmat2::l1ueb::dl1ueb ( integer(spi), intent(in)  m,
integer(spi), intent(in)  mah1,
integer(spi), intent(in)  mah2,
integer(spi), intent(in)  mbh1,
integer(spi), intent(in)  mbh2,
real(dp), dimension(0:,-mah1:), intent(inout)  a,
real(dp), dimension(:,-mbh1:), intent(inout)  b 
)
private

Double precision version of L1UEB.

Parameters
[in]mnumber of rows of band matrices A and B
[in]mah1number of subdiagonals of A
[in]mah2number of superdiagonals of A
[in]mbh1number of subdiagonals of B
[in]mbh2number of superdiagonals of B
[in,out]aInput matrix A; output encoded L, D, U, factors
[in,out]bInput matrix B; output D**-1 * B
Author
R. J. Purser, Tsukasa Fujita (JMA)
Date
1999

Definition at line 855 of file pmat2.f90.


The documentation for this interface was generated from the following file: