35 #include "qrm_common.h"
57 _qrm_data,
intent(inout) :: b(:,:)
58 _qrm_data,
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),:)/_conjg(front%aval(front%aiptr(j)))
89 do i=front%aiptr(j)+1, front%aiptr(j+1)-1
91 b(row,:) = b(row,:)-_conjg(front%aval(
i))*x(col,:)
This module contains the definition of all the data related to the factorization phase.
subroutine _qrm_solve_sing_front(qrm_mat, b, x, trans)
This function handles the front containing the singletons during the solve for R or R'...
This type defines the data structure used to store a matrix.
This module contains the definition of the basic sparse matrix type and of the associated methods...
This module contains various string handling routines.
This type defines a data structure containing all the data related to a front.