Previous IDL Reference Guide: Procedures and Functions Next

LA_GM_LINEAR_MODEL

Syntax | Return Value | Arguments | Keywords | Examples | Version History | See Also

The LA_GM_LINEAR_MODEL function is used to solve a general Gauss-Markov linear model problem:

minimizex ||y||2 with constraint d = Ax + By

where A is an m-column by n-row array, B is a p-column by n-row array, and d is an n-element input vector with m £ n £ m+p.

The following items should be noted:

LA_ GM_LINEAR_MODEL is based on the following LAPACK routines:

 

Table 3-59: LAPACK Routine Basis for LA_GM_LINEAR_MODEL

Table 3-59: LAPACK Routine Basis for LA_GM_LINEAR_MODEL
Output Type
LAPACK Routine
Float
sggglm
Double
dggglm
Complex
cggglm
Double complex
zggglm

For details see Anderson et al., LAPACK Users' Guide, 3rd ed., SIAM, 1999.

Syntax

Result = LA_GM_LINEAR_MODEL( A, B, D, Y [, /DOUBLE] )

Return Value

The result (x) is an m-element vector whose type is identical to A.

Arguments

A

The m-by-n array used in the constraint equation.

B

The p-by-n array used in the constraint equation.

D

An n-element input vector used in the constraint equation.

Y

Set this argument to a named variable, which will contain the p-element output vector.

Keywords

DOUBLE

Set this keyword to use double-precision for computations and to return a double-precision (real or complex) result. Set DOUBLE = 0 to use single-precision for computations and to return a single-precision (real or complex) result. The default is /DOUBLE if A is double precision, otherwise the default is DOUBLE = 0.

Examples

Given the constraint equation d = Ax + By, (where A, B, and d are defined in the program below) the following example program solves the general Gauss-Markov problem:

PRO ExLA_GM_LINEAR_MODEL  
; Define some example coefficient arrays:  
a = [[2, 7, 4], $  
     [5, 1, 3], $  
     [3, 3, 6], $  
     [4, 5, 2]]  
b = [[-3, 2], $  
     [1, 5], $  
     [2, 9], $  
     [4, 1]]  
  
; Define a sample left-hand side vector D:  
d = [-1, 2, -3, 4]  
  
; Find and print the solution x:  
x = LA_GM_LINEAR_MODEL(a, b, d, y)  
PRINT, 'LA_GM_LINEAR_MODEL solution:'  
PRINT, X  
PRINT, 'LA_GM_LINEAR_MODEL 2-norm solution:'  
PRINT, Y  
END  

When this program is compiled and run, IDL prints:

LA_GM_LINEAR_MODEL solution:  
      1.04668     0.350346     -1.28445  
LA_GM_LINEAR_MODEL 2-norm solution:  
     0.151716    0.0235733  

Version History

5.6
Introduced

See Also

LA_LEAST_SQUARE_EQUALITY, LA_LEAST_SQUARES

  IDL Online Help (March 06, 2007)