GGGLM: solves a general Gauss-Markov linear model (GLM) problem: minimize || y ||_2 subject to d = A*x + B*y x where A is an N-by-M matrix, B is an N-by-P matrix, and d is a given N-vector. It is assumed that M <= N <= M+P, and rank(A) = M and rank( A B ) = N. Under these assumptions, the constrained equation is always consistent, and there is a unique solution x and a minimal 2-norm solution y, which is obtained using a generalized QR factorization of the matrices (A, B) given by A = Q*(R), B = Q*T*Z. (0) In particular, if matrix B is square nonsingular, then the problem GLM is equivalent to the following weighted linear least squares problem minimize || inv(B)*(d-A*x) ||_2 x where inv(B) denotes the inverse of B.
More...
|
pure subroutine | cggglm (n, m, p, a, lda, b, ldb, d, x, y, work, lwork, info) |
|
| la_cggglm |
|
pure subroutine | dggglm (n, m, p, a, lda, b, ldb, d, x, y, work, lwork, info) |
|
| la_dggglm |
|
| la_qggglm |
|
pure subroutine | sggglm (n, m, p, a, lda, b, ldb, d, x, y, work, lwork, info) |
|
| la_sggglm |
|
| la_wggglm |
|
pure subroutine | zggglm (n, m, p, a, lda, b, ldb, d, x, y, work, lwork, info) |
|
| la_zggglm |
|
GGGLM: solves a general Gauss-Markov linear model (GLM) problem: minimize || y ||_2 subject to d = A*x + B*y x where A is an N-by-M matrix, B is an N-by-P matrix, and d is a given N-vector. It is assumed that M <= N <= M+P, and rank(A) = M and rank( A B ) = N. Under these assumptions, the constrained equation is always consistent, and there is a unique solution x and a minimal 2-norm solution y, which is obtained using a generalized QR factorization of the matrices (A, B) given by A = Q*(R), B = Q*T*Z. (0) In particular, if matrix B is square nonsingular, then the problem GLM is equivalent to the following weighted linear least squares problem minimize || inv(B)*(d-A*x) ||_2 x where inv(B) denotes the inverse of B.
◆ cggglm()
pure subroutine la_lapack::ggglm::cggglm |
( |
integer(ilp), intent(in) |
n, |
|
|
integer(ilp), intent(in) |
m, |
|
|
integer(ilp), intent(in) |
p, |
|
|
complex(sp), dimension(lda,*), intent(inout) |
a, |
|
|
integer(ilp), intent(in) |
lda, |
|
|
complex(sp), dimension(ldb,*), intent(inout) |
b, |
|
|
integer(ilp), intent(in) |
ldb, |
|
|
complex(sp), dimension(*), intent(inout) |
d, |
|
|
complex(sp), dimension(*), intent(out) |
x, |
|
|
complex(sp), dimension(*), intent(out) |
y, |
|
|
complex(sp), dimension(*), intent(out) |
work, |
|
|
integer(ilp), intent(in) |
lwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
◆ dggglm()
pure subroutine la_lapack::ggglm::dggglm |
( |
integer(ilp), intent(in) |
n, |
|
|
integer(ilp), intent(in) |
m, |
|
|
integer(ilp), intent(in) |
p, |
|
|
real(dp), dimension(lda,*), intent(inout) |
a, |
|
|
integer(ilp), intent(in) |
lda, |
|
|
real(dp), dimension(ldb,*), intent(inout) |
b, |
|
|
integer(ilp), intent(in) |
ldb, |
|
|
real(dp), dimension(*), intent(inout) |
d, |
|
|
real(dp), dimension(*), intent(out) |
x, |
|
|
real(dp), dimension(*), intent(out) |
y, |
|
|
real(dp), dimension(*), intent(out) |
work, |
|
|
integer(ilp), intent(in) |
lwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
◆ la_cggglm()
la_lapack::ggglm::la_cggglm |
◆ la_dggglm()
la_lapack::ggglm::la_dggglm |
◆ la_qggglm()
la_lapack::ggglm::la_qggglm |
◆ la_sggglm()
la_lapack::ggglm::la_sggglm |
◆ la_wggglm()
la_lapack::ggglm::la_wggglm |
◆ la_zggglm()
la_lapack::ggglm::la_zggglm |
◆ sggglm()
pure subroutine la_lapack::ggglm::sggglm |
( |
integer(ilp), intent(in) |
n, |
|
|
integer(ilp), intent(in) |
m, |
|
|
integer(ilp), intent(in) |
p, |
|
|
real(sp), dimension(lda,*), intent(inout) |
a, |
|
|
integer(ilp), intent(in) |
lda, |
|
|
real(sp), dimension(ldb,*), intent(inout) |
b, |
|
|
integer(ilp), intent(in) |
ldb, |
|
|
real(sp), dimension(*), intent(inout) |
d, |
|
|
real(sp), dimension(*), intent(out) |
x, |
|
|
real(sp), dimension(*), intent(out) |
y, |
|
|
real(sp), dimension(*), intent(out) |
work, |
|
|
integer(ilp), intent(in) |
lwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
◆ zggglm()
pure subroutine la_lapack::ggglm::zggglm |
( |
integer(ilp), intent(in) |
n, |
|
|
integer(ilp), intent(in) |
m, |
|
|
integer(ilp), intent(in) |
p, |
|
|
complex(dp), dimension(lda,*), intent(inout) |
a, |
|
|
integer(ilp), intent(in) |
lda, |
|
|
complex(dp), dimension(ldb,*), intent(inout) |
b, |
|
|
integer(ilp), intent(in) |
ldb, |
|
|
complex(dp), dimension(*), intent(inout) |
d, |
|
|
complex(dp), dimension(*), intent(out) |
x, |
|
|
complex(dp), dimension(*), intent(out) |
y, |
|
|
complex(dp), dimension(*), intent(out) |
work, |
|
|
integer(ilp), intent(in) |
lwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
The documentation for this interface was generated from the following file: