Click or drag to resize

DNRM2 Class

***PURPOSE Compute the Euclidean length (L2 norm) of a vector. ***CATEGORY D1A3B ***TYPE DOUBLE PRECISION (SNRM2-S, DNRM2-D, SCNRM2-C) ***KEYWORDS BLAS, EUCLIDEAN LENGTH, EUCLIDEAN NORM, L2, LINEAR ALGEBRA, UNITARY, VECTOR ***AUTHOR Lawson, C. L., (JPL) Hanson, R. J., (SNLA) Kincaid, D. R., (U. of Texas) Krogh, F. T., (JPL) ***DESCRIPTION B L A S Subprogram Description of parameters --Input-- N number of elements in input vector(s) DX double precision vector with N elements INCX storage spacing between elements of DX --Output-- DNRM2 double precision result (zero if N .LE. 0) Euclidean norm of the N-vector stored in DX with storage increment INCX. If N .LE. 0, return with result = 0. If N .GE. 1, then INCX must be .GE. 1 Four phase method using two built-in constants that are hopefully applicable to all machines. CUTLO = maximum of SQRT(U/EPS) over all known machines. CUTHI = minimum of SQRT(V) over all known machines. where EPS = smallest no. such that EPS + 1. .GT. 1. U = smallest positive no. (underflow limit) V = largest no. (overflow limit) Brief outline of algorithm. Phase 1 scans zero components. move to phase 2 when a component is nonzero and .LE. CUTLO move to phase 3 when a component is .GT. CUTLO move to phase 4 when a component is .GE. CUTHI/M where M = N for X() real and M = 2*N for complex. Values for CUTLO and CUTHI. From the environmental parameters listed in the IMSL converter document the limiting values are as follows: CUTLO, S.P. U/EPS = 2**(-102) for Honeywell. Close seconds are Univac and DEC at 2**(-103) Thus CUTLO = 2**(-51) = 4.44089E-16 CUTHI, S.P. V = 2**127 for Univac, Honeywell, and DEC. Thus CUTHI = 2**(63.5) = 1.30438E19 CUTLO, D.P. U/EPS = 2**(-67) for Honeywell and DEC. Thus CUTLO = 2**(-33.5) = 8.23181D-11 CUTHI, D.P. same as S.P. CUTHI = 1.30438D19 DATA CUTLO, CUTHI /8.232D-11, 1.304D19/ DATA CUTLO, CUTHI /4.441E-16, 1.304E19/ ***REFERENCES C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T. Krogh, Basic linear algebra subprograms for Fortran usage, Algorithm No. 539, Transactions on Mathematical Software 5, 3 (September 1979), pp. 308-323. ***ROUTINES CALLED (NONE) ***REVISION HISTORY (YYMMDD) 791001 DATE WRITTEN 890531 Changed all specific intrinsics to generic. (WRB) 890831 Modified array declarations. (WRB) 890831 REVISION DATE from Version 3.2 891214 Prologue converted to Version 4.0 format. (BAB) 920501 Reformatted the REFERENCES section. (WRB) ***END PROLOGUE DNRM2 ***FIRST EXECUTABLE STATEMENT DNRM2
Inheritance Hierarchy
SystemObject
  Altaxo.Calc.Ode.Obsolete.DVodeDNRM2

Namespace: Altaxo.Calc.Ode.Obsolete.DVode
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public class DNRM2

The DNRM2 type exposes the following members.

Constructors
 NameDescription
Public methodDNRM2Initializes a new instance of the DNRM2 class
Top
Methods
 NameDescription
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodRun ***PURPOSE Compute the Euclidean length (L2 norm) of a vector. ***CATEGORY D1A3B ***TYPE DOUBLE PRECISION (SNRM2-S, DNRM2-D, SCNRM2-C) ***KEYWORDS BLAS, EUCLIDEAN LENGTH, EUCLIDEAN NORM, L2, LINEAR ALGEBRA, UNITARY, VECTOR ***AUTHOR Lawson, C. L., (JPL) Hanson, R. J., (SNLA) Kincaid, D. R., (U. of Texas) Krogh, F. T., (JPL) ***DESCRIPTION B L A S Subprogram Description of parameters --Input-- N number of elements in input vector(s) DX double precision vector with N elements INCX storage spacing between elements of DX --Output-- DNRM2 double precision result (zero if N .LE. 0) Euclidean norm of the N-vector stored in DX with storage increment INCX. If N .LE. 0, return with result = 0. If N .GE. 1, then INCX must be .GE. 1 Four phase method using two built-in constants that are hopefully applicable to all machines. CUTLO = maximum of SQRT(U/EPS) over all known machines. CUTHI = minimum of SQRT(V) over all known machines. where EPS = smallest no. such that EPS + 1. .GT. 1. U = smallest positive no. (underflow limit) V = largest no. (overflow limit) Brief outline of algorithm. Phase 1 scans zero components. move to phase 2 when a component is nonzero and .LE. CUTLO move to phase 3 when a component is .GT. CUTLO move to phase 4 when a component is .GE. CUTHI/M where M = N for X() real and M = 2*N for complex. Values for CUTLO and CUTHI. From the environmental parameters listed in the IMSL converter document the limiting values are as follows: CUTLO, S.P. U/EPS = 2**(-102) for Honeywell. Close seconds are Univac and DEC at 2**(-103) Thus CUTLO = 2**(-51) = 4.44089E-16 CUTHI, S.P. V = 2**127 for Univac, Honeywell, and DEC. Thus CUTHI = 2**(63.5) = 1.30438E19 CUTLO, D.P. U/EPS = 2**(-67) for Honeywell and DEC. Thus CUTLO = 2**(-33.5) = 8.23181D-11 CUTHI, D.P. same as S.P. CUTHI = 1.30438D19 DATA CUTLO, CUTHI /8.232D-11, 1.304D19/ DATA CUTLO, CUTHI /4.441E-16, 1.304E19/ ***REFERENCES C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T. Krogh, Basic linear algebra subprograms for Fortran usage, Algorithm No. 539, Transactions on Mathematical Software 5, 3 (September 1979), pp. 308-323. ***ROUTINES CALLED (NONE) ***REVISION HISTORY (YYMMDD) 791001 DATE WRITTEN 890531 Changed all specific intrinsics to generic. (WRB) 890831 Modified array declarations. (WRB) 890831 REVISION DATE from Version 3.2 891214 Prologue converted to Version 4.0 format. (BAB) 920501 Reformatted the REFERENCES section. (WRB) ***END PROLOGUE DNRM2 ***FIRST EXECUTABLE STATEMENT DNRM2
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
See Also