Hi,
I am trying to use sddsemitproc, but I am having some difficulties. My final goal is to use spreadsheet data, convert it to sdds and apply sddsemitproc to it (similar to https://www3.aps.anl.gov/forums/elegant ... f4973ac43d). To test this procedure, I tried to print the data from the example emitproc1 in a spreadsheet (so that I have definitely valid data in my spreadsheet), convert this back via csv2sdds and apply sddsemitproc. However, sddsemitproc fails when I do this.
The error message is:
Problem fitting for x
matrix error--call was: m_invert(Inv_Pt_K_P, Pt_K_P)
Problem fitting for y
matrix error--call was: m_invert(Inv_Pt_K_P, Pt_K_P).
This is surprising me, as the data is the same as in the original file, where sddsemitproc works fine. One difference might be that I did the conversion steps only for the relevant columns (Sx,Sy,R11,R12,R33,R34,Q1.K1,Q2.K1,Step), did I miss any column? Even when filtering those columns via sddsprocess it works. Apart from that, I have no clue where the problems might come from as the data is the same.
The commands I use are
sddsprintout quad.finc -columns='(Sx,Sy,R11,R12,R33,R34,Q1.K1,Q2.K1,Step)' -spreadsheet quad.csv
csv2sdds quad.csv -columnData=name=Sx,type=float,units=m -columnData=name=Sy,type=float,units=m -columnData=name=R11,type=float -columnData=name=R12,type=float,units=m -columnData=name=R33,type=float -columnData=name=R34,type=float,units=m -columnData=name='Q1.K1',type=float,units='1/M$a2$n' -columnData=name='Q2.K1',type=float,units='1/M$a2$n' -columnData=name=Step,type=long -separator='\t' -skiplines=3 quad.sdds
sddsemitproc quad.sdds quad_proc.sdds -errorLevel=1e-8,1e-8 -nErrorSets=3 -sigmaData=Sx,Sy
Do you see any problem?
With kind regards,
Jonas
sddsemitproc with non-elegant data
Moderators: cyao, michael_borland
-
- Posts: 1951
- Joined: 19 May 2008, 09:33
- Location: Argonne National Laboratory
- Contact:
Re: sddsemitproc with non-elegant data
Jonas,
Sorry I didn't see this earlier. I don't see any reason this shouldn't work. You may need to watch out for reduction of precision in the conversions.
Is this still a problem?
--Michael
Sorry I didn't see this earlier. I don't see any reason this shouldn't work. You may need to watch out for reduction of precision in the conversions.
Is this still a problem?
--Michael
Re: sddsemitproc with non-elegant data
Hi Michael,
sorry, I did not see your reply as well.
Originally, I checked the precision by printing out the data from both sdds files, and the printed values were the same. However, now I noticed what was wrong: in my conversion from csv to sdds, I used float as datatype, while elegant-generated data has the datatype double. Changing the datatype worked (although I do not really understand why).
With kind regards,
Jonas
sorry, I did not see your reply as well.
Originally, I checked the precision by printing out the data from both sdds files, and the printed values were the same. However, now I noticed what was wrong: in my conversion from csv to sdds, I used float as datatype, while elegant-generated data has the datatype double. Changing the datatype worked (although I do not really understand why).
With kind regards,
Jonas