module scaletrace {
integer, private                :: n1, n2
real, dimension( :, :), pointer :: data
#%  _init( data)
n1 = size( data, 1)
n2 = size( data, 2)
#% _lop( scale( n2), sdata( n1, n2))
integer i1,i2
do i2= 1, n2
do i1= 1, n1
        if( adj) 
                scale(   i2) += sdata(i1,i2) * data(i1,i2)
	else
                sdata(i1,i2) += scale(   i2) * data(i1,i2)
}
