9.7.6 pvorglq

a,tau,info= PySLK.pvorglq(a[k=0,ia=1,ja=1])
La rutina "pvorglq" genera una matriz Q de tamaño $m\times n$ con columnas ortonormales, las cuales estan definidas como las primeras $n $ columnas de un producto de $k$ reflectores elementales de orden $m$

\begin{displaymath}Q=H_1 H_2 \ldots H_3\end{displaymath}

Esta rutina se provee para matrices con elementos de tipo real y complejo. 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 rutina:

from  PyACTS import *
import PyACTS.PyScaLAPACK as PySLK
from RandomArray import *
from Numeric import *
n,nrhs=8,2
#Initiliaze the Grid
PyACTS.gridinit(nb=2)
if PyACTS.iread==1:
	print "Ejemplo de Utilizacion ScaLAPACK: PvORGLQ"
	print "N=",n,";nprow x npcol:",PyACTS.nprow,"x",PyACTS.npcol
	print "Tam. Bloques:",PyACTS.mb,"*",PyACTS.nb
	a=8*identity(n,Float)+ones([n,n],Float)
	print "a=",a
else:
	a=None
#We convert Numeric Array to PyACTS.Scalapack Array
ACTS_lib=1 # 1=Scalapack
a=Num2PyACTS(a,ACTS_lib)
#We call ScaLAPACK routine
a,tau,info= PySLK.pvgelqf(a)
a,tau,info= PySLK.pvorglq(a,tau,k=1)
a=PyACTS2Num(a)
if PyACTS.iread==1:
	print "A =L*Q-->",a
	print "Tau:",transpose(tau)
	print "Info:",info
PyACTS.gridexit()
El resultado de este código es el siguiente:
$ mpirun -np 2 /home/vgaliano/mpipython/mpipython exPyScapvorglq.py 
Ejemplo de Utilizacion ScaLAPACK: PvORGLQ
N= 8 ;nprow x npcol: 2 x 1
Tam. Bloques: 2 * 2
a= [[ 9.  1.  1.  1.  1.  1.  1.  1.]
 [ 1.  9.  1.  1.  1.  1.  1.  1.]
 [ 1.  1.  9.  1.  1.  1.  1.  1.]
 [ 1.  1.  1.  9.  1.  1.  1.  1.]
 [ 1.  1.  1.  1.  9.  1.  1.  1.]
 [ 1.  1.  1.  1.  1.  9.  1.  1.]
 [ 1.  1.  1.  1.  1.  1.  9.  1.]
 [ 1.  1.  1.  1.  1.  1.  1.  9.]]
A =L*Q--> [[-0.95940322 -0.10660036 -0.10660036 -0.10660036 -0.10660036 -0.10660036
       -0.10660036 -0.10660036]
 [-0.10660036  0.99420046 -0.00579954 -0.00579954 -0.00579954 -0.00579954
       -0.00579954 -0.00579954]
 [-0.10660036 -0.00579954  0.99420046 -0.00579954 -0.00579954 -0.00579954
       -0.00579954 -0.00579954]
 [-0.10660036 -0.00579954 -0.00579954  0.99420046 -0.00579954 -0.00579954
       -0.00579954 -0.00579954]
 [-0.10660036 -0.00579954 -0.00579954 -0.00579954  0.99420046 -0.00579954
       -0.00579954 -0.00579954]
 [-0.10660036 -0.00579954 -0.00579954 -0.00579954 -0.00579954  0.99420046
       -0.00579954 -0.00579954]
 [-0.10660036 -0.00579954 -0.00579954 -0.00579954 -0.00579954 -0.00579954
        0.99420046 -0.00579954]
 [-0.10660036 -0.00579954 -0.00579954 -0.00579954 -0.00579954 -0.00579954
       -0.00579954  0.99420046]]
Tau: [ [ 1.95940322  1.97575564  1.99426252  1.99682676  0.          0.        
        0.          0.        ]]
Info: 0
vgaliano

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