Millepede-II  V04-01-00
 All Classes Files Functions Variables Enumerator Pages
Functions/Subroutines
minresblas.f90 File Reference

BLAS routines for MINRES. More...

Go to the source code of this file.

Functions/Subroutines

subroutine daxpy (n, da, dx, incx, dy, incy)
 Constant times a vector plus a vector.
subroutine dcopy (n, dx, incx, dy, incy)
 Copies a vector, x, to a vector, y.
REAL(mpd) function ddot (n, dx, incx, dy, incy)
 Forms the dot product of two vectors.
REAL(mpd) function dnrm2 (n, x, incx)
 Euclidean vector norm.
subroutine daxpy2 (n, a, x, y, z)
 Set z = a*x + y.
subroutine dload2 (n, const, x)
 Set x = constant.
subroutine dscal2 (n, a, x, y)
 Set y = a*x.

Detailed Description

BLAS routines for MINRES.

     minresblas.f

     This file contains Level 1 BLAS from netlib, Thu May 16 1991
     (with declarations of the form dx(1) changed to dx(*)):
        daxpy    dcopy    ddot
     Also
        dnrm2    (from NAG,I think).

     Also a few utilities to avoid some of the
     loops in MINRES (so the debugger can step past them quickly):
        daxpy2   dload2   dscal2

 15 Jul 2003: dnrm2  is now the NAG version.

Definition in file minresblas.f90.


Function/Subroutine Documentation

subroutine daxpy ( integer(mpi)  n,
real(mpd)  da,
real(mpd), dimension(*)  dx,
integer(mpi)  incx,
real(mpd), dimension(*)  dy,
integer(mpi)  incy 
)

Constant times a vector plus a vector.

Uses unrolled loops for increments equal to one. (jack dongarra, linpack, 3/11/78)

Parameters:
[in]nsize of vectors
[in]dascalar constant
[in]dxinput vector
[in]incxincrement for dx
[out]dyoutput vector
[in]incyincrement for dy

Definition at line 35 of file minresblas.f90.

Referenced by minres().

subroutine daxpy2 ( integer(mpi)  n,
real(mpd)  a,
real(mpd), dimension(n)  x,
real(mpd), dimension(n)  y,
real(mpd), dimension(n)  z 
)

Set z = a*x + y.

31 May 1999: First version written for MINRES.

Parameters:
[in]nsize of vectors
[in]ascalar constant
[in]xinput vector
[in]yinput vector
[out]zoutput vector

Definition at line 278 of file minresblas.f90.

subroutine dcopy ( integer(mpi)  n,
real(mpd), dimension(*)  dx,
integer(mpi)  incx,
real(mpd), dimension(*)  dy,
integer(mpi)  incy 
)

Copies a vector, x, to a vector, y.

Uses unrolled loops for increments equal to one. (jack dongarra, linpack, 3/11/78)

Parameters:
[in]nsize of vectors
[in]dxinput vector
[in]incxincrement for dx
[out]dyoutput vector
[in]incyincrement for dy

Definition at line 93 of file minresblas.f90.

Referenced by minres().

REAL(mpd) function ddot ( integer(mpi)  n,
real(mpd), dimension(*)  dx,
integer(mpi)  incx,
real(mpd), dimension(*)  dy,
integer(mpi)  incy 
)

Forms the dot product of two vectors.

Uses unrolled loops for increments equal to one. (jack dongarra, linpack, 3/11/78)

Parameters:
[in]nsize of vectors
[in]dxinput vector
[in]incxincrement for dx
[in]dyinput vector
[in]incyincrement for dy
Returns:
dot porduct dx*dy

Definition at line 154 of file minresblas.f90.

Referenced by minres().

subroutine dload2 ( integer(mpi)  n,
real(mpd)  const,
real(mpd), dimension(n)  x 
)

Set x = constant.

Load all elements of x with const.

Parameters:
[in]nsize of vectors
[in]constscalar constant
[out]xoutput vector

Definition at line 302 of file minresblas.f90.

Referenced by minres().

REAL(mpd) function dnrm2 ( integer(mpi)  n,
real(mpd), dimension(*)  x,
integer(mpi)  incx 
)

Euclidean vector norm.

dnrm2 returns the Euclidean norm of a vector via the function name, so that dnrm2 := sqrt( x'*x ).

15 Jul 2003: dnrm2 obtained from SNOPT src (probably from NAG). s1flmx replaced by safe large number.

Parameters:
[in]nsize of vectors
[in]xinput vector
[in]incxincrement for x
Returns:
vector norm

Definition at line 215 of file minresblas.f90.

Referenced by minres().

subroutine dscal2 ( integer(mpi)  n,
real(mpd)  a,
real(mpd), dimension(n)  x,
real(mpd), dimension(n)  y 
)

Set y = a*x.

Parameters:
[in]nsize of vectors
[in]ascalar constant
[in]xinput vector
[out]youtput vector

Definition at line 330 of file minresblas.f90.

Referenced by minres().