finesse.gaussian.optimise_HG00_q_scipy¶
- finesse.gaussian.optimise_HG00_q_scipy(e, q, homs, accuracy=1e-06, return_fit_result=False, fix_spot_size=False, astigmatic=False)[source]¶
- Computes the optimal complex beam parameter to describe an optical field, described by a vector of HG modes. This optimisation assumes that the field to be optimised is approximately a HG00 beam shape. - The algorithm maximises the amount of HG00 present in a beam by varying the x and y complex beam parameter. - Parameters:
- earray_like
- Array of complex HG mode amplitudes to be optimised 
- q[complex | finesse.BeamParam] or tuple
- x and y complex beam parameter basis that e is in. If a singular value is given qx=qy, else (qx, qy) should be provided. 
- homslist(tuple(n, m))
- List of HG mode indices for each element in e 
- accuracyfloat, optional
- level to suppress HG20 and HG02 modes to 
- return_fit_resultbool, optional
- When True the optimised result from Scipy minimize is returned. 
- fix_spot_sizebool, optional
- When True a non-linear optimiser is used and keeps the spot sized fixed to its current value. Useful for when you expect just the curvature of a beam to be changing. 
- astigmaticbool, optional
- When True the x and y beam parameters will be optimised separately. If you know they should be equal then set this to False. 
 
- Returns:
- qx, qy(finesse.BeamParam,finesse.BeamParam)
- Optimised beam parameters 
- resScipy fit result
- optimised HG mode amplitude array, only when return_fit_result == True 
 
- qx, qy(