nag_hermitian_lin_eqn_mult_rhs (f04awc) (PDF version)
f04 Chapter Contents
f04 Chapter Introduction
NAG Library Manual

NAG Library Function Document

nag_hermitian_lin_eqn_mult_rhs (f04awc)

+ Contents

    1  Purpose
    7  Accuracy

1  Purpose

nag_hermitian_lin_eqn_mult_rhs (f04awc) calculates the approximate solution of a set of complex Hermitian positive definite linear equations with multiple right-hand sides, AX = B , where A  has been factorized by nag_complex_cholesky (f01bnc).

2  Specification

#include <nag.h>
#include <nagf04.h>
void  nag_hermitian_lin_eqn_mult_rhs (Integer n, Integer nrhs, Complex a[], Integer tda, double p[], const Complex b[], Integer tdb, Complex x[], Integer tdx, NagError *fail)

3  Description

To solve a set of complex linear equations, AX = B , where A  is positive definite Hermitian, this function must be preceded by a call to nag_complex_cholesky (f01bnc) which computes a Cholesky factorization A = U H U , where U  is an upper triangular matrix with real diagonal elements. The columns x  of the solution X  are found in two steps U H y = b  and Ux = y , where b  is a column of the right-hand side matrix B .

4  References

Wilkinson J H and Reinsch C (1971) Handbook for Automatic Computation II, Linear Algebra Springer–Verlag

5  Arguments

1:     nIntegerInput
On entry: n , the order of the matrix A .
Constraint: n1 .
2:     nrhsIntegerInput
On entry: r , the number of right-hand sides.
Constraint: nrhs1 .
3:     a[n×tda]ComplexInput
Note: the i,jth element of the matrix A is stored in a[i-1×tda+j-1].
On entry: the off-diagonal elements of the upper triangular matrix U  as returned by nag_complex_cholesky (f01bnc). The lower triangle of the array is not used.
4:     tdaIntegerInput
On entry: the stride separating matrix column elements in the array a.
Constraint: tdan .
5:     p[n]doubleInput
On entry: the reciprocals of the diagonal elements of U , as returned by nag_complex_cholesky (f01bnc).
6:     b[n×tdb]const ComplexInput
Note: the i,jth element of the matrix B is stored in b[i-1×tdb+j-1].
On entry: the n  by r  right-hand side matrix B . See also Section 9.
7:     tdbIntegerInput
On entry: the stride separating matrix column elements in the array b.
Constraint: tdbnrhs .
8:     x[n×tdx]ComplexOutput
Note: the i,jth element of the matrix X is stored in x[i-1×tdx+j-1].
On exit: the n  by r  solution matrix X . See also Section 9.
9:     tdxIntegerInput
On entry: the stride separating matrix column elements in the array x.
Constraint: tdxnrhs .
10:   failNagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

6  Error Indicators and Warnings

NE_2_INT_ARG_LT
On entry, tda=value  while n=value . These arguments must satisfy tdan .
On entry, tdb=value  while nrhs=value . These arguments must satisfy tdbnrhs .
On entry, tdx=value  while nrhs=value . These arguments must satisfy tdxnrhs .
NE_INT_ARG_LT
On entry, n=value.
Constraint: n1.
On entry, nrhs=value.
Constraint: nrhs1.

7  Accuracy

The solutions should be the best possible for the precision of computation having regard to the condition of A . The computed solution x , corresponding to the right-hand side b , satisfies the bound
x-A -1 b A -1 b c ε k .
Here c  is a modest function of n , ε  is the machine precision, and k  is the condition number defined by
k = A A -1 .

8  Parallelism and Performance

Not applicable.

9  Further Comments

The time taken by nag_hermitian_lin_eqn_mult_rhs (f04awc) is approximately proportional to n 2 r .
The function may be called with the same actual array supplied for arguments b and x, in which case the solution vectors will overwrite the right-hand sides.

10  Example

To solve the set of linear equations AX = B  where A  is the positive definite Hermitian matrix:
- 15 +2 i -2 1 - 2 i -1 2 -2 i 1 - 4 + 3 i -1 1 + 2 i - 20 -2 i 1 - 2 + 2 i -2 3 - 3 i -1 2 -2 i 1 - 2 - 1 i - 18 -2 i 1 - 1 + 2 i 1 - 4 - 3 i -2 3 + 3 i 1 - 1 - 2 i - 26 -2 i
and B  is the single column vector:
25+34i 21+19i 12-21i 21-27i .

10.1  Program Text

Program Text (f04awce.c)

10.2  Program Data

Program Data (f04awce.d)

10.3  Program Results

Program Results (f04awce.r)


nag_hermitian_lin_eqn_mult_rhs (f04awc) (PDF version)
f04 Chapter Contents
f04 Chapter Introduction
NAG Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2014