Developer Reference

  • 0.9
  • 09/09/2020
  • Public Content
Contents

?pbcon

Estimates the reciprocal of the condition number of a symmetric (Hermitian) positive-definite band matrix.

Syntax

lapack_int LAPACKE_spbcon
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
lapack_int
kd
,
const float*
ab
,
lapack_int
ldab
,
float
anorm
,
float*
rcond
);
lapack_int LAPACKE_dpbcon
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
lapack_int
kd
,
const double*
ab
,
lapack_int
ldab
,
double
anorm
,
double*
rcond
);
lapack_int LAPACKE_cpbcon
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
lapack_int
kd
,
const lapack_complex_float*
ab
,
lapack_int
ldab
,
float
anorm
,
float*
rcond
);
lapack_int LAPACKE_zpbcon
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
lapack_int
kd
,
const lapack_complex_double*
ab
,
lapack_int
ldab
,
double
anorm
,
double*
rcond
);
Include Files
  • mkl.h
Description
The routine estimates the reciprocal of the condition number of a symmetric (Hermitian) positive-definite band matrix
A
:
κ
1
(
A
) = ||
A
||
1
||
A
-1
||
1
(since
A
is symmetric or Hermitian,
κ
(
A
) =
κ
1
(
A
)
).
An estimate is obtained for
||
A
-1
||
, and the reciprocal of the condition number is computed as
rcond
= 1 / (||
A
|| ||
A
-1
||)
.
Before calling this routine:
  • compute
    anorm
    (either
    ||
    A
    ||
    1
    = max
    j
    Σ
    i
    |
    a
    i
    j
    |
    or
    ||
    A
    ||
    = max
    i
    Σ
    j
    |
    a
    i
    j
    |
    )
  • call
    ?pbtrf
    to compute the Cholesky factorization of
    A
    .
Input Parameters
matrix_layout
Specifies whether matrix storage layout is row major (
LAPACK_ROW_MAJOR
) or column major (
LAPACK_COL_MAJOR
).
uplo
Must be
'U'
or
'L'
.
Indicates how the input matrix
A
has been factored:
If
uplo
=
'U'
,
A
is factored as
A
=
U
T
*
U
for real flavors or
A
=
U
H
*
U
for complex flavors, and
U
is stored.
If
uplo
=
'L'
,
A
is factored as
A
=
L
*
L
T
for real flavors or
A
=
L
*
L
H
for complex flavors, and
L
is stored.
n
The order of the matrix
A
;
n
0.
kd
The number of superdiagonals or subdiagonals in the matrix
A
;
kd
0.
ldab
The leading dimension of the array
ab
. (
ldab
kd
+1).
ab
The array
ab
of size max(1,
ldab
*
n
)
contains the factored matrix
A
in band form, as returned by
?pbtrf
.
anorm
The norm of the
original
matrix
A
(see
Description
)
.
Output Parameters
rcond
An estimate of the reciprocal of the condition number. The routine sets
rcond
=0 if the estimate underflows; in this case the matrix is singular (to working precision). However, anytime
rcond
is small compared to 1.0, for the working precision, the matrix may be poorly conditioned or even singular.
Return Values
This function returns a value
info
.
If
info
=0
, the execution is successful.
If
info
=
-i
, parameter
i
had an illegal value.
Application Notes
The computed
rcond
is never less than
r
(the reciprocal of the true condition number) and in practice is nearly always less than 10
r
. A call to this routine involves solving a number of systems of linear equations
A
*
x
=
b
; the number is usually 4 or 5 and never more than 11. Each solution requires approximately
4*
n
(
kd
+ 1)
floating-point operations for real flavors and
16*
n
(
kd
+ 1)
for complex flavors.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804