c=PyPBLAS.pvtran(alpha,a,beta,c)
La función "PyPBLAS.pvtran" implementa la siguiente operación entre
matrices con elementos de tipo real:
PyPBLASpvtran
informará de ello y no podrá finalizar la
operación.
Las características de cada uno de los parámetros son las siguientes:
Parametros de Entrada
Parametros de Salida
A continuación mostramos un ejemplo en la utilización de esta rutina:
from PyACTS import * import PyACTS.PyPBLAS as PyPBLAS from RandomArray import * from Numeric import * m,n=8,6 #Initiliaze the Grid PyACTS.gridinit() if PyACTS.iread==1: print "Example of using PyPBLAS 3: PvTRAN" print "N=",n,";nprow x npcol:",PyACTS.nprow,"x",PyACTS.npcol print "Block's size:",PyACTS.mb,"*",PyACTS.nb a=reshape(range(m*n),[n,m]) print "a=",a c=ones([m,n]) print "c=",c alpha,beta=2.,3. print "alpha=",alpha,";","beta=",beta else: alpha,a,beta,c=None,None,None,None #We convert Numeric Array to PyACTS.Scalapack Array ACTS_lib=1 # 1=Scalapack alpha=Scal2PyACTS(alpha,ACTS_lib) beta=Scal2PyACTS(beta,ACTS_lib) a=Num2PyACTS(a,ACTS_lib) c=Num2PyACTS(c,ACTS_lib) #We call PBLAS routine c= PyPBLAS.pvtran(alpha,a,beta,c) c_num=PyACTS2Num(c) if PyACTS.iread==1: print "PvTRAN=",transpose(c_num) PyACTS.gridexit()
[vgaliano@localhost EXAMPLES]$ mpirun -np 4 mpipython exPypvtran.py Example of using PyPBLAS 3: PvTRAN N= 6 ;nprow x npcol: 2 x 2 Block's size: 2 * 2 a= [[ 0 1 2 3 4 5 6 7] [ 8 9 10 11 12 13 14 15] [16 17 18 19 20 21 22 23] [24 25 26 27 28 29 30 31] [32 33 34 35 36 37 38 39] [40 41 42 43 44 45 46 47]] c= [[1 1 1 1 1 1] [1 1 1 1 1 1] [1 1 1 1 1 1] [1 1 1 1 1 1] [1 1 1 1 1 1] [1 1 1 1 1 1] [1 1 1 1 1 1] [1 1 1 1 1 1]] alpha= 2.0 ; beta= 3.0 PvTRAN= [[ 3. 5. 7. 9. 11. 13. 15. 17.] [ 19. 21. 23. 25. 27. 29. 31. 33.] [ 35. 37. 39. 41. 43. 45. 47. 49.] [ 51. 53. 55. 57. 59. 61. 63. 65.] [ 67. 69. 71. 73. 75. 77. 79. 81.] [ 83. 85. 87. 89. 91. 93. 95. 97.]]
En el ejemplo mostrado podemos ver como generamos las matrices a
y
c
con las dimensiones adecuadas para poder realizar la operación, por
tanto a
es y b
es resultado una matriz
de tamaño .
See Sobre este documento... para sugerencias en cambios.