This note describes some functions of the PEP-II SVD (Singular Value Decomposition) "Steering" method, from the perspective of what it does in addition to the basic function of minimizing A*x-b in the classical orbit minimization.

A good place to start for documentation is the main modelling page (-1), and the Steering Users Guide (0)

The core of the existing SVD steering method of the SCP is in (1).

In addition to minimizing the orbit, which the other methods do to, SVD also:

  1. Minimizes dispersion. If you want to minimize dispersion the hardest part by far is calculating the system matrix in reasonable time. The SCP does it using (2) which gathers the input parameters to the calculation, and then (3), to make the calculation, using I think the method dubbed "1.5" in Martin's writeup (4). See also (5) for formalizm of both orbit and dispersion correction.
    One can also minimize the difference between the measured eta and the eta model, as opposed to zero.
  2. Checks if the user wants to impose the "boundary condition" - that is, make sure that the position and angle at the "end" of the beamline, as seen by the minimization algorithm, matches the position and angle at the beginning. This is done by adding 2 highly weighted equations for each plane to the system matrix.
  3. Minimize the difference of orbits in the linac.
  4. Find solutions which minimize the corrector strengths in absolute terms.
  5. Set a minimum change to correctors.
  6. Find BPMs whose values don't fit well (bpm sigma cut button), and so reject those and iterate.
  7. Select number of Schmidt pairs (eigenvalue/eigenvectors) to use. Theoretically we estimated that a good default is about 1/3. in classical SVD this would amount to throwing away (by setting W to 0) all those rows whose W is valued in the smallest 1/3. But remember our SVD also sorts the Schmidt pairs according to the algorithm in 6.

References

(-1) http://www-mcc.slac.stanford.edu/~greg/model_overall_pg.html

(0) http://www-mcc.slac.stanford.edu/~greg/STEERING_UG.HTML

(1) http://mccdev.slac.stanford.edu/ref_/strshr/STR_SVD.FOR
or if you're logged in REF_STRSHR:STR_SVD.FOR

(2) http://www-mcc.slac.stanford.edu/REF_/MODUTIL/MODL___FILL_ETAMATRIX.FOR
aka REF_MODUTIL:MODL___FILL_ETAMATRIX.FOR

(3) http://www-mcc.slac.stanford.edu/REF_/MODUTIL/setdispmat.for

(4) http://www.slac.stanford.edu/~greg/steer/eta.ps

(5) http://www.slac.stanford.edu/~greg/CORR_ORBIT_AND_ETA.PDF

(6) http://mccdev.slac.stanford.edu/ref_/strshr/str_orderSchmidtPairs.for

  • No labels