8.3.10 pvamax

amax,indx= PyPBLAS.pvamax(x)

La función "PyPBLAS.pvamax" obtiene el valor máximo de un vector x que se encuentra distribuido entre los procesos de la malla. Esta función devuelve el mayor elemento en valor absoluto del vector x y la posición de dicho elemento en el vector. Las características de cada uno de los parámetros son las siguientes:

A continuación mostramos un ejemplo en la utilización de esta función:
from PyACTS import *
import PyPBLAS
from RandomArray import *
from Numeric import *

#Dimension of Arrays
n=8
#Initiliaze the Grid
PyACTS.gridinit()
if PyACTS.iread==1:
        print "Example of using PyPBLAS: PvASUM"
        print "Parameters:N=",n,";Grid:",PyACTS.nprow,"*",PyACTS.npcol
        print "Block's size:",PyACTS.mb,"*",PyACTS.nb
        x=reshape(standard_normal(n),[n,1])
        print "x'=",transpose(x)
else:
        x=None
#We convert Numeric Array to PyACTS.Scalapack Array
ACTS_lib=1 # 1=Scalapack
x=Num2PyACTS(x,ACTS_lib)
#We call PyPblas Routine
amax,indx= PyPBLAS.pvamax(x)
if PyACTS.iread==1:
        print "PvAMAX(",indx,")=",amax
PyACTS.gridexit()
El resultado de este código es el siguiente:
[vgaliano@localhost EXAMPLES]$ mpirun -np 4 mpipython exPypvamax.py
Example of using PyPBLAS: PvASUM
Parameters:N= 8 ;Grid: 2 * 2
Block's size: 2 * 2
x'= [ [-1.66720867  0.50000608 -1.43065512  0.8494119   0.4929097   0.54123461
       -0.25628906  0.39031151]]
PvAMAX( 0 )= -1.66720867157

See Sobre este documento... para sugerencias en cambios.