qr_rank1_update Interface

public interface qr_rank1_update

Module Procedures

private subroutine qr_rank1_update_dbl(q, r, u, v, work, err)

Computes the rank-1 update to an M-by-N QR factored matrix where , , and such that .

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(inout), dimension(:,:) :: q

On input, the original M-by-K orthogonal matrix . On output, the updated matrix .

real(kind=real64), intent(inout), dimension(:,:) :: r

On input, the M-by-N matrix . On output, the updated matrix .

real(kind=real64), intent(inout), dimension(:) :: u

On input, the M-element update vector. On output, the original content of the array is overwritten.

real(kind=real64), intent(inout), dimension(:) :: v

On input, the N-element update vector. On output, the original content of the array is overwritten.

real(kind=real64), intent(out), optional, target, dimension(:) :: work

An optional argument that if supplied prevents local memory allocation. If provided, the array must have at least K elements.

class(errors), intent(inout), optional, target :: err

The error object to be updated.

private module subroutine qr_rank1_update_cmplx(q, r, u, v, work, rwork, err)

Computes the rank-1 update to an M-by-N QR factored matrix where , , and such that .

Arguments

Type IntentOptional Attributes Name
complex(kind=real64), intent(inout), dimension(:,:) :: q

On input, the original M-by-K orthogonal matrix . On output, the updated matrix .

complex(kind=real64), intent(inout), dimension(:,:) :: r

On input, the M-by-N matrix . On output, the updated matrix .

complex(kind=real64), intent(inout), dimension(:) :: u

On input, the M-element update vector. On output, the original content of the array is overwritten.

complex(kind=real64), intent(inout), dimension(:) :: v

On input, the N-element update vector. On output, the original content of the array is overwritten.

complex(kind=real64), intent(out), optional, target, dimension(:) :: work

An optional argument that if supplied prevents local memory allocation. If provided, the array must have at least K elements.

real(kind=real64), intent(out), optional, target, dimension(:) :: rwork

An optional argument that if supplied prevents local memory allocation. If provided, the array must have at least K elements.

class(errors), intent(inout), optional, target :: err

The error object to be updated.