35 #include "qrm_common.h"
57 real(kind(1.d0)),
intent(inout) :: b(:,:)
58 real(kind(1.d0)),
intent(inout) :: x(:,:)
62 integer ::
i, j, row, col
66 front => qrm_mat%fdata%front_list(1)
75 do i=front%anrows, 1, -1
76 row =qrm_mat%adata%rperm(
i)
77 do j=front%aiptr(
i+1)-1, front%aiptr(
i)+1,-1
79 b(row,:) = b(row,:) - front%aval(j)*x(col,:)
81 x(qrm_mat%adata%cperm(
i),:) = b(row,:)/front%aval(front%aiptr(
i))
87 col = qrm_mat%adata%rperm(j)
88 x(col,:) = b(qrm_mat%adata%cperm(j),:)/(front%aval(front%aiptr(j)))
89 do i=front%aiptr(j)+1, front%aiptr(j+1)-1
91 b(row,:) = b(row,:)-(front%aval(
i))*x(col,:)
subroutine dqrm_solve_sing_front(qrm_mat, b, x, trans)
This function handles the front containing the singletons during the solve for R or R'...
This module contains the definition of the basic sparse matrix type and of the associated methods...
This module contains the definition of all the data related to the factorization phase.
This type defines the data structure used to store a matrix.
This type defines a data structure containing all the data related to a front.
This module contains various string handling routines.