pemtk.fit._sym

Module Contents

Functions

symCheckDefns()

Set dictionary of lambda functions for matrix element symmetry relation checks.

symCheck(self[, pdTest, matE, colDim, lams, verbose])

Check symmetrization of input matrix elements.

pemtk.fit._sym.symCheckDefns()[source]

Set dictionary of lambda functions for matrix element symmetry relation checks.

Currently set to check for identity, abs, phase & complex rotations (+/-pi/2).

pemtk.fit._sym.symCheck(self, pdTest=None, matE=None, colDim='it', lams=None, verbose=1)[source]

Check symmetrization of input matrix elements.

Parameters:
  • pdTest (pandas DataFrame, optional, default = None) – Matrix elements to check, as set in a Pandas table format. Currently expects 1D array of matrix elements, as set in setMatEFit(). If None, matE will be used to create the test data.

  • matE (Xarray, optional, default = None) – Matrix elements to check. If None, then uses self.data[self.subKey][‘matE’]

  • colDims (dict, default = 'it') – Quick hack to allow for restacking via ep.multiDimXrToPD, this will set to cols = ‘it’, then restack to 1D dataframe. This should always work for setting matE > fit parameters, but can be overridden if required.

  • lams (dict, optional, default = None) – Dictionary of test lambda functions. If not set, will use lams = symCheckDefns()

Returns:

  • dict – Set of parameter mappings/constraints, suitable to use for self.setMatEFit(paramsCons = newDict)

  • dict of DataFrames

    • ‘unique’, Reduced set of unique matrix elements only.

    • ’constraints’, List of constraints (as per parameters dict).

    • ’tests’, Full list of tests & relations found.

TODO:

  • Wrap for class.

  • Input checks and set default cases (see setMatEFit()). Should tidy to single input and then check type?