function diag,vector vectorinfo=long(size(reform(vector))) output=reform(vector) if vectorinfo[0] eq 1 then begin if vectorinfo[2] eq 2 then begin output=intarr(vectorinfo[1],vectorinfo[1]) for i=0l,vectorinfo[1]-1 do output[i,i]=vector[i] endif if vectorinfo[2] eq 3 then begin output=lonarr(vectorinfo[1],vectorinfo[1]) for i=0l,vectorinfo[1]-1 do output[i,i]=vector[i] endif if vectorinfo[2] eq 4 then begin output=fltarr(vectorinfo[1],vectorinfo[1]) for i=0l,vectorinfo[1]-1 do output[i,i]=vector[i] endif if vectorinfo[2] eq 5 then begin output=dblarr(vectorinfo[1],vectorinfo[1]) for i=0l,vectorinfo[1]-1 do output[i,i]=vector[i] endif if vectorinfo[2] eq 6 then begin output=complexarr(vectorinfo[1],vectorinfo[1]) for i=0l,vectorinfo[1]-1 do output[i,i]=vector[i] endif if vectorinfo[2] eq 7 then begin output=strarr(vectorinfo[1],vectorinfo[1])+'0' for i=0l,vectorinfo[1]-1 do output[i,i]=strcompress(vector[i],/remove_all) endif if vectorinfo[2] eq 14 then begin output=lon64arr(vectorinfo[1],vectorinfo[1]) for i=0l,vectorinfo[1]-1 do output[i,i]=vector[i] endif endif return,output end