hide long namesshow long names
hide short namesshow short names
Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

NAG Toolbox: nag_lapack_zggglm (f08zp)

 Contents

    1  Purpose
    2  Syntax
    7  Accuracy
    9  Example

Purpose

nag_lapack_zggglm (f08zp) solves a complex general Gauss–Markov linear (least squares) model problem.

Syntax

[a, b, d, x, y, info] = f08zp(a, b, d, 'm', m, 'n', n, 'p', p)
[a, b, d, x, y, info] = nag_lapack_zggglm(a, b, d, 'm', m, 'n', n, 'p', p)

Description

nag_lapack_zggglm (f08zp) solves the complex general Gauss–Markov linear model (GLM) problem
minimize x y2  subject to  d=Ax+By  
where A is an m by n matrix, B is an m by p matrix and d is an m element vector. It is assumed that nmn+p, rankA=n and rankE=m, where E= A B . Under these assumptions, the problem has a unique solution x and a minimal 2-norm solution y, which is obtained using a generalized QR factorization of the matrices A and B.
In particular, if the matrix B is square and nonsingular, then the GLM problem is equivalent to the weighted linear least squares problem
minimize x B-1 d-Ax 2 .  

References

Anderson E, Bai Z, Bischof C, Blackford S, Demmel J, Dongarra J J, Du Croz J J, Greenbaum A, Hammarling S, McKenney A and Sorensen D (1999) LAPACK Users' Guide (3rd Edition) SIAM, Philadelphia
Anderson E, Bai Z and Dongarra J (1992) Generalized QR factorization and its applications Linear Algebra Appl. (Volume 162–164) 243–271

Parameters

Compulsory Input Parameters

1:     alda: – complex array
The first dimension of the array a must be at least max1,m.
The second dimension of the array a must be at least max1,n.
The m by n matrix A.
2:     bldb: – complex array
The first dimension of the array b must be at least max1,m.
The second dimension of the array b must be at least max1,p.
The m by p matrix B.
3:     dm – complex array
The left-hand side vector d of the GLM equation.

Optional Input Parameters

1:     m int64int32nag_int scalar
Default: the dimension of the array d and the first dimension of the array b. (An error is raised if these dimensions are not equal.)
m, the number of rows of the matrices A and B.
Constraint: m0.
2:     n int64int32nag_int scalar
Default: the second dimension of the array a.
n, the number of columns of the matrix A.
Constraint: 0nm.
3:     p int64int32nag_int scalar
Default: the second dimension of the array b.
p, the number of columns of the matrix B.
Constraint: pm-n.

Output Parameters

1:     alda: – complex array
The first dimension of the array a will be max1,m.
The second dimension of the array a will be max1,n.
2:     bldb: – complex array
The first dimension of the array b will be max1,m.
The second dimension of the array b will be max1,p.
3:     dm – complex array
4:     xn – complex array
The solution vector x of the GLM problem.
5:     yp – complex array
The solution vector y of the GLM problem.
6:     info int64int32nag_int scalar
info=0 unless the function detects an error (see Error Indicators and Warnings).

Error Indicators and Warnings

   info=-i
If info=-i, parameter i had an illegal value on entry. The parameters are numbered as follows:
1: m, 2: n, 3: p, 4: a, 5: lda, 6: b, 7: ldb, 8: d, 9: x, 10: y, 11: work, 12: lwork, 13: info.
It is possible that info refers to a parameter that is omitted from the MATLAB interface. This usually indicates that an error in one of the other input parameters has caused an incorrect value to be inferred.
   info=1
The upper triangular factor R associated with A in the generalized RQ factorization of the pair A,B is singular, so that rankA<m; the least squares solution could not be computed.
   info=2
The bottom N-M by N-M part of the upper trapezoidal factor T associated with B in the generalized QR factorization of the pair A,B is singular, so that rankAB<N; the least squares solutions could not be computed.

Accuracy

For an error analysis, see Anderson et al. (1992). See also Section 4.6 of Anderson et al. (1999).

Further Comments

When p=mn, the total number of real floating-point operations is approximately 832m3-n3+16nm2; when p=m=n, the total number of real floating-point operations is approximately 563m3.

Example

This example solves the weighted least squares problem
minimize x B-1 d-Ax 2 ,  
where
B = 0.5-1.0i .0i+0.0 .0i+0.0 .0i+0.0 .0i+0.0 1.0-2.0i .0i+0.0 .0i+0.0 .0i+0.0 .0i+0.0 2.0-3.0i .0i+0.0 .0i+0.0 .0i+0.0 .0i+0.0 5.0-4.0i ,  
d = 6.00-0.40i -5.27+0.90i 2.72-2.13i -1.30-2.80i  
and
A = 0.96-0.81i -0.03+0.96i -0.91+2.06i -0.98+1.98i -1.20+0.19i -0.66+0.42i 0.62-0.46i 1.01+0.02i 0.63-0.17i 1.08-0.28i 0.20-0.12i -0.07+1.23i .  
Note that the block size (NB) of 64 assumed in this example is not realistic for such a small problem, but should be suitable for large problems.
function f08zp_example


fprintf('f08zp example results\n\n');

a = [ 0.96 - 0.81i, -0.03 + 0.96i, -0.91 + 2.06i;
     -0.98 + 1.98i, -1.20 + 0.19i, -0.66 + 0.42i;
      0.62 - 0.46i,  1.01 + 0.02i,  0.63 - 0.17i;
      1.08 - 0.28i,  0.20 - 0.12i, -0.07 + 1.23i];
b = [ 0.5 - 1i,  0 + 0i,  0 + 0i,  0 + 0i;
      0   + 0i,  1 - 2i,  0 + 0i,  0 + 0i;
      0   + 0i,  0 + 0i,  2 - 3i,  0 + 0i;
      0   + 0i,  0 + 0i,  0 + 0i,  5 - 4i];
d = [ 6.00 - 0.40i;
     -5.27 + 0.90i;
      2.72 - 2.13i;
     -1.30 - 2.80i];

%Solve complex general Guass-Markov linear model
[~, ~, ~, x, y, info] = f08zp( ...
                               a, b, d);


disp('Weighted least-squares solution');
disp(x);
ncols  = int64(80);
indent = int64(0);
[ifail] = x04db( ...
                 'Gen', ' ', y, 'B', '1P,E10.2', 'Residual vector', ...
                 'N', 'N', ncols, indent);
sqres = norm(y,2);
fprintf('\nSquare root of the residual sum of squares\n%11.2e\n', ...
        sqres);


f08zp example results

Weighted least-squares solution
  -0.9846 + 1.9950i
   3.9929 - 4.9748i
  -3.0026 + 0.9994i

 Residual vector
   (  1.26E-04, -4.66E-04)
   (  1.11E-03, -8.61E-04)
   (  3.84E-03, -1.82E-03)
   (  2.03E-03,  3.02E-03)

Square root of the residual sum of squares
   5.79e-03

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015