PDF version (NAG web site
, 64-bit version, 64-bit version)
NAG Toolbox: nag_det_complex_gen (f03bn)
Purpose
nag_det_complex_gen (f03bn) computes the determinant of a complex
by
matrix
.
nag_lapack_zgetrf (f07ar) must be called first to supply the matrix
in factorized form.
Syntax
Description
nag_det_complex_gen (f03bn) computes the determinant of a complex
by
matrix
that has been factorized by a call to
nag_lapack_zgetrf (f07ar). The determinant of
is the product of the diagonal elements of
with the correct sign determined by the row interchanges.
References
Wilkinson J H and Reinsch C (1971) Handbook for Automatic Computation II, Linear Algebra Springer–Verlag
Parameters
Compulsory Input Parameters
- 1:
– complex array
-
The first dimension of the array
a must be at least
.
The second dimension of the array
a must be at least
.
The
by
matrix
in factorized form as returned by
nag_lapack_zgetrf (f07ar).
- 2:
– int64int32nag_int array
-
The row interchanges used to factorize matrix
as returned by
nag_lapack_zgetrf (f07ar).
Optional Input Parameters
- 1:
– int64int32nag_int scalar
-
Default:
the first dimension of the array
a and the dimension of the array
ipiv. (An error is raised if these dimensions are not equal.)
, the order of the matrix .
Constraint:
.
Output Parameters
- 1:
– complex scalar
-
The mantissa of the real and imaginary parts of the determinant.
- 2:
– int64int32nag_int array
-
The exponents for the real and imaginary parts of the determinant. The determinant,
, is returned as
and
, where
and
and
are stored in the first and second elements respectively of the array
id on successful exit.
- 3:
– int64int32nag_int scalar
unless the function detects an error (see
Error Indicators and Warnings).
Error Indicators and Warnings
Errors or warnings detected by the function:
-
-
Constraint: .
-
-
Constraint: .
-
-
The matrix is approximately singular.
-
An unexpected error has been triggered by this routine. Please
contact
NAG.
-
Your licence key may have expired or may not have been installed correctly.
-
Dynamic memory allocation failed.
Accuracy
The accuracy of the determinant depends on the conditioning of the original matrix. For a detailed error analysis, see page 107 of
Wilkinson and Reinsch (1971).
Further Comments
The time taken by nag_det_complex_gen (f03bn) is approximately proportional to .
Example
This example calculates the determinant of the complex matrix
Open in the MATLAB editor:
f03bn_example
function f03bn_example
fprintf('f03bn example results\n\n');
a = [1, 1+2i, 2+10i;
1+i, 3i, -5+14i;
1+i, 5i, -8+20i];
[a, ipiv, info] = f07ar(a);
fprintf('\n');
[ifail] = x04da('g', 'n', a, 'Array a after factorization');
fprintf('\nPivots:\n');
fprintf(' %d', ipiv);
fprintf('\n\n');
[d, id, ifail] = f03bn(a, ipiv);
fprintf('\nd = %13.5f id = (%d, %d)\n', d, id);
fprintf('Value of determinant = (%13.5e, %13.5e)\n', ...
real(d)*2^id(1),imag(d)*2^id(2));
f03bn example results
Array a after factorization
1 2 3
1 1.0000 0.0000 -5.0000
1.0000 3.0000 14.0000
2 1.0000 0.0000 -3.0000
0.0000 2.0000 6.0000
3 0.5000 0.2500 -0.2500
-0.5000 0.2500 -0.2500
Pivots:
2 3 3
d = 0.06250 id = (4, 0)
Value of determinant = ( 1.00000e+00, 0.00000e+00)
PDF version (NAG web site
, 64-bit version, 64-bit version)
© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015