[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bug/feature in matrix multiply
> Mark Fardal (fardal@weka.phast.umass.edu) writes:
>
> > is the following a bug or feature? I don't understand why changing the
> > type of the array changes the dimensions of the result. Then again,
> > it's late on Friday, so my brain might just be mush.
> >
> > IDL> junk=fltarr(3)
> > IDL> junk=reform(junk,3,1)
> > IDL> help,junk
> > JUNK FLOAT = Array[3, 1]
> > IDL> help,[3.,2.,1.]#junk
> > <Expression> FLOAT = Array[1]
> > IDL> help,[3.d0,2.d0,1.d0]#junk
> > <Expression> DOUBLE = Array[3, 3]
>
> I don't know if it is a bug or a feature, but I
> agree that it is strange. But so is this command:
>
> junk = reform(junk, 3, 1)
>
> Do you mean this:
>
> junk = reform(junk, 1, 3)
>
> The latter will make a column vector, which makes more
> sense when multiplied by a row vector. What kind of result
> were you expecting? From my reading of the # operator
> I think the result with the floating array is correct.
> I don't have a clue why the double expression does what
> it does. :-(
Hint:
junk=reform(junk,3,1)
help,junk,double(junk)
8-)