LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
|
subroutine clahilb | ( | integer | n, |
integer | nrhs, | ||
complex, dimension(lda,n) | a, | ||
integer | lda, | ||
complex, dimension(ldx, nrhs) | x, | ||
integer | ldx, | ||
complex, dimension(ldb, nrhs) | b, | ||
integer | ldb, | ||
real, dimension(n) | work, | ||
integer | info, | ||
character*3 | path ) |
CLAHILB
!> !> CLAHILB generates an N by N scaled Hilbert matrix in A along with !> NRHS right-hand sides in B and solutions in X such that A*X=B. !> !> The Hilbert matrix is scaled by M = LCM(1, 2, ..., 2*N-1) so that all !> entries are integers. The right-hand sides are the first NRHS !> columns of M * the identity matrix, and the solutions are the !> first NRHS columns of the inverse Hilbert matrix. !> !> The condition number of the Hilbert matrix grows exponentially with !> its size, roughly as O(e ** (3.5*N)). Additionally, the inverse !> Hilbert matrices beyond a relatively small dimension cannot be !> generated exactly without extra precision. Precision is exhausted !> when the largest entry in the inverse Hilbert matrix is greater than !> 2 to the power of the number of bits in the fraction of the data type !> used plus one, which is 24 for single precision. !> !> In single, the generated solution is exact for N <= 6 and has !> small componentwise error for 7 <= N <= 11. !>
[in] | N | !> N is INTEGER !> The dimension of the matrix A. !> |
[in] | NRHS | !> NRHS is INTEGER !> The requested number of right-hand sides. !> |
[out] | A | !> A is COMPLEX array, dimension (LDA, N) !> The generated scaled Hilbert matrix. !> |
[in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= N. !> |
[out] | X | !> X is COMPLEX array, dimension (LDX, NRHS) !> The generated exact solutions. Currently, the first NRHS !> columns of the inverse Hilbert matrix. !> |
[in] | LDX | !> LDX is INTEGER !> The leading dimension of the array X. LDX >= N. !> |
[out] | B | !> B is REAL array, dimension (LDB, NRHS) !> The generated right-hand sides. Currently, the first NRHS !> columns of LCM(1, 2, ..., 2*N-1) * the identity matrix. !> |
[in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= N. !> |
[out] | WORK | !> WORK is REAL array, dimension (N) !> |
[out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> = 1: N is too large; the data is still generated but may not !> be not exact. !> < 0: if INFO = -i, the i-th argument had an illegal value !> |
[in] | PATH | !> PATH is CHARACTER*3 !> The LAPACK path name. !> |
Definition at line 132 of file clahilb.f.