|
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...
|
|
Definition at line 67 of file pmat2.f90.
◆ 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] | m | number of rows of B, one less than the rows of A (which has "row 0") |
[in] | mah1 | left half-width of fortran array A |
[in] | mah2 | right half-width of fortran array A |
[in] | mbh1 | left half-width of fortran array B |
[in] | mbh2 | right half-width of fortran array B |
[in,out] | a | input 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] | b | in 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.
◆ 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] | m | number of rows of band matrices A and B |
[in] | mah1 | number of subdiagonals of A |
[in] | mah2 | number of superdiagonals of A |
[in] | mbh1 | number of subdiagonals of B |
[in] | mbh2 | number of superdiagonals of B |
[in,out] | a | Input matrix A; output encoded L, D, U, factors |
[in,out] | b | Input 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:
- /scratch1/NCEPDEV/da/George.Gayno/ufs_utils.git/UFS_UTILS.upstream/sorc/grid_tools.fd/regional_esg_grid.fd/pmat2.f90