epsproc.geomFunc.mfblmGeom module
- epsproc.geomFunc.mfblmGeom.mfblmXprod(matEin, QNs=None, EPRX=None, p=[0], BLMtable=None, BLMtableResort=None, lambdaTerm=None, RX=None, eulerAngs=None, polProd=None, thres=0.01, thresDims='Eke', selDims={'Type': 'L', 'it': 1}, sumDims=['mu', 'mup', 'l', 'lp', 'm', 'mp'], sumDimsPol=['P', 'R', 'Rp', 'p'], symSum=True, SFflag=False, squeeze=False, phaseConvention='E', basisReturn='BLM', verbose=0, **kwargs)[source]
Implement \(\beta_{LM}^{MF}\) calculation as product of tensors.
\[\begin{split}\begin{eqnarray} \beta_{L,-M}^{\mu_{i},\mu_{f}} & = & \sum_{l,m,\mu}\sum_{l',m',\mu'}(-1)^{(\mu'-\mu_{0})}{B_{L,-M}}\nonumber \\ & \times & \sum_{P,R',R}{E_{P-R}(\hat{e})\Lambda_{R',R}(R_{\hat{n}})}I_{l,m,\mu}^{p_{i}\mu_{i},p_{f}\mu_{f}}(E)I_{l',m',\mu'}^{p_{i}\mu_{i},p_{f}\mu_{f}*}(E) \end{eqnarray}\end{split}\]Where each component is defined by fns. in :py:module:`epsproc.geomFunc.geomCalc` module.
- 12/08/22 Updating from afblmXprod routine for use with fitting functions.
Added ProductBasis return as per afblmGeom case, for use in fitting. Added **kwargs, unused but allows for arb basis dict unpack and passing from other functions. May want to pipe back to Full basis return however. Updated docs as per afblmXprod. TODO: still needs a tidy up and update, including BLM renorm options, again see afblmGeom code.
16/03/20 In progress!
- Dev code:
http://localhost:8888/lab/tree/dev/ePSproc/geometric_method_dev_Betas_090320.ipynb D:codeePSprocpython_devePSproc_MFBLM_Numba_dev_tests_120220.PY
- Parameters
matE (Xarray) – Xarray containing matrix elements, with QNs (l,m), as created by
readMatEle()
settings (*** Optional calculation) –
selDims (dict, default = {'it':1, 'Type':'L'}) – Selection parameters for calculations, may be be checked and appened herein.
sumDims (list, default = ['mu', 'mup', 'l','lp','m','mp']) – Main summation dims, will be checked herein.
sumDimsPol (list, default = ['P','R','Rp','p']) – Additional polarization summation dims.
symSum (bool, default = True) – Sum over symmetries sets (=={Cont, Targ, Total}) if true.
degenDrop (bool) – Flag to set dropping of degenerate components. NOT IMPLEMENTED FOR MF CASE - see afblmXprod.
thres (float, default = 1e-2) – Set threshold value, used to set input matrix elements and again for outputs.
thresDims (str, default = 'Eke') – Set threshold dimension (set to be contiguous).
verbose (bool or int) – Print output?
*** Optional renormalisation settings (mainly for testing only)
- SFflagbool, default = False
Multiply input matrix elements by complex scale-factor if true.
- SFflagRenormbool, default = False
Renorm output BLMs by complex scale-factor if true. NOT IMPLEMENTED FOR MF CASE - see afblmXprod.
- BLMRenormint, default = 1
Set different BLM renorm conventions. If 1 renorm by B00. See code for further details. NOT IMPLEMENTED FOR MF CASE - see afblmXprod.
- squeezebool, default = False
Squeeze output array after thresholding? Note: this may cause dim issues if True.
*** Optional input data/basis functions (mainly for fitting routine use)
- QNsnp.array, optional, default = None
List of QNs as generated by
genllpMatE()
. Will be generated if not passed.- EPRXXarray, optional, default = None
E-field parameters, as generated by
EPR()
. Defaults to normalised/unity field, pol = p (below).- plist or array, optional, default = [0]
Specify polarization terms p. Possibly currently only valid for p=0, TBC See https://epsproc.readthedocs.io/en/latest/methods/geometric_method_dev_260220_090420_tidy.html#E_{P,R}-tensor
- BLMtable, BLMtableResortXarrays, optional, default = None
Beta calculation parameters, as defined by
geomCalc.betaTerm()
. BLMtableResort includes phase settings & param renaming as herein.- lambdaTermXarray, optional, default = None
Lambda term parameters, as defined by
geomCalc.MFproj()
- RXXarray, optional, default = None
Polarization geometries as defined by
epsproc.sphCalc.setPolGeoms()
. If not set, defaults are used byepsproc.geomFunc.geomCalc.MFproj()
. If not set, but Euler angles are set, then these will be used.- eulerAngslist or np.array of Euler angles (p(hi), t(heta), c(hi)), optional.
Alternative definition for polarization geometries, as used by
epsproc.sphCalc.setPolGeoms()
. List or array [p,t,c…], shape (Nx3). List or array including set labels, [label,p,t,c…], shape (Nx4)- polProdXarray, optional, default = None
Polarization tensor as defined by EPRXresort * lambdaTermResort
- phaseConventionoptional, str, default = ‘E’
Set phase conventions with
epsproc.geomCalc.setPhaseConventions()
. To use preset phase conventions, pass existing dictionary.- basisReturnoptional, str, default = “BLM”
‘BLM’ return Xarray of results only.
‘Full’ return Xarray of results + basis set dictionary as set during the run.
‘Product’, as full, but minimal basis set with products only.
‘Results’ or ‘Legacy’ direct return of various calc. results Xarrays.
**kwargs, unused but allows for arb basis dict unpack and passing from other functions.
- Returns
Xarray – Set of AFBLM calculation results
dict – Dictionary of basis functions, only if basisReturn != ‘BLM’ (see basisReturn paramter notes).
Notes
Cross-section outputs currently defined as XS = direct MF calculation output.
Optionally set SFflag = True to multiply by (complex) scale-factor.
OTHER RENORM options not implemented as yet, see afblmXprod for details.