LSSTApplications
21.0.0+1b62c9342b,21.0.0+45a059f35e,21.0.0-1-ga51b5d4+ceb9cf20a3,21.0.0-19-g7c7630f+a88ebbf2d9,21.0.0-2-g103fe59+3522cf3bc7,21.0.0-2-g1367e85+571a348718,21.0.0-2-g2909d54+45a059f35e,21.0.0-2-g45278ab+1b62c9342b,21.0.0-2-g4bc9b9f+35a70d5868,21.0.0-2-g5242d73+571a348718,21.0.0-2-g54e2caa+aa129c4686,21.0.0-2-g66bcc37+3caef57c29,21.0.0-2-g7f82c8f+6f9059e2fe,21.0.0-2-g8dde007+5d1b9cb3f5,21.0.0-2-g8f08a60+73884b2cf5,21.0.0-2-g973f35b+1d054a08b9,21.0.0-2-ga326454+6f9059e2fe,21.0.0-2-ga63a54e+3d2c655db6,21.0.0-2-gc738bc1+a567cb0f17,21.0.0-2-gde069b7+5a8f2956b8,21.0.0-2-ge17e5af+571a348718,21.0.0-2-ge712728+834f2a3ece,21.0.0-2-gecfae73+dfe6e80958,21.0.0-2-gfc62afb+571a348718,21.0.0-21-g006371a9+88174a2081,21.0.0-3-g4c5b185+7fd31a6834,21.0.0-3-g6d51c4a+3caef57c29,21.0.0-3-gaa929c8+55f5a6a5c9,21.0.0-3-gd222c45+afc8332dbe,21.0.0-3-gd5de2f2+3caef57c29,21.0.0-4-g3300ddd+1b62c9342b,21.0.0-4-g5873dc9+9a92674037,21.0.0-4-g8a80011+5955f0fd15,21.0.0-5-gb7080ec+8658c79ec4,21.0.0-5-gcff38f6+89f2a0074d,21.0.0-6-gd3283ba+55f5a6a5c9,21.0.0-8-g19111d86+2c4b0a9f47,21.0.0-9-g7bed000b9+c7d3cce47e,w.2021.03
LSSTDataManagementBasePackage
|
Public Member Functions | |
def | __init__ (self, groups) |
def | copy (self) |
def | fix (self, keys=slice(None), val=None) |
def | release (self, keys=slice(None)) |
def | indexof (self, indices=slice(None)) |
def | __getitem__ (self, args) |
def | __setitem__ (self, args, val) |
def | free (self) |
def | free (self, val) |
def | full (self) |
def | full (self, val) |
def | __repr__ (self) |
Manages a vector of fit parameters with the possibility to mark a subset of them as fixed to a given value. The parameters can be organized in named slices (block of contiguous values) accessible through indexing by their name as in `StructArray`. >>> p_salt = FitParameters(['X0', 'X1', 'Color', 'Redshift']) >>> p_dice = FitParameters([('alpha', 2), ('S', 10), ('dSdT', 10), 'idark']) It is possible to modify the parameters in place. Using the indexing of slices by name simplifies somewhat the operations, as one does not need to care about the position of a slice within the entire parameter vector: >>> p_dice['idark'][0] = -1.0232E-12 >>> p_dice['S'][4] = 25.242343E-9 >>> p_dice['dSdT'][:] = 42. >>> print p_dice alpha: array([ 0., 0.]) S: array([ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 2.52423430e-08, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]) dSdT: array([ 42., 42., 42., 42., 42., 42., 42., 42., 42., 42.]) idark: array([ -1.02320000e-12]) It is also possible to mark parameters as fixed to a value. >>> p_dice.fix(0, 12.) Value is optional. The above is equivalent to: >>> p_dice[0] = 12. >>> p_dice.fix(0) Again named slices simplifies the operations: >>> p_dice['S'].fix([0, -1], 12.) >>> p_dice['dSdT'].fix([0, -1]) One can fix entire slices at once: >>> p_dice['idark'].fix() >>> p_salt['Redshift'].fix(val=0.23432) The property ``full'' give access to the vector of parameters. The property "free" gives access to the free parameters: >>> print len(p_dice.free), len(p_dice.full) 17 23 Note that free relies on fancy indexing. Access thus trigger a copy. As a consequence, the following will not actually alter the data: >>> p_dice.free[0] = 12. >>> print p_dice.free[0] 0.0 It is still possible to set slices of free parameters as a contiguous vector. For example: >>> p_dice['S'].free = 12. >>> print p_dice['S'].free [ 12. 12. 12. 12. 12. 12. 12. 12.] >>> p_dice[:5].free = 4. >>> print p_dice[:5].free [ 4. 4. 4.] In particular, the typical use case which consists in updating the free parameters with the results of a fit works as expected: >>> p = np.arange(len(p_dice.free)) >>> p_dice.free = p Last the class provide a convenience function that return the index of a subset of parameters in the global free parameters vector, and -1 for fixed parameters: >>> print p_dice['dSdT'].indexof() [-1 9 10 11 12 13 14 15 16 -1] >>> print p_dice['dSdT'].indexof([1,2]) [ 9 10]
Definition at line 164 of file astierCovFitParameters.py.
def lsst.cp.pipe.astierCovFitParameters.FitParameters.__init__ | ( | self, | |
groups | |||
) |
Definition at line 241 of file astierCovFitParameters.py.
def lsst.cp.pipe.astierCovFitParameters.FitParameters.__getitem__ | ( | self, | |
args | |||
) |
Definition at line 276 of file astierCovFitParameters.py.
def lsst.cp.pipe.astierCovFitParameters.FitParameters.__repr__ | ( | self | ) |
Definition at line 306 of file astierCovFitParameters.py.
def lsst.cp.pipe.astierCovFitParameters.FitParameters.__setitem__ | ( | self, | |
args, | |||
val | |||
) |
Definition at line 287 of file astierCovFitParameters.py.
def lsst.cp.pipe.astierCovFitParameters.FitParameters.copy | ( | self | ) |
Definition at line 250 of file astierCovFitParameters.py.
def lsst.cp.pipe.astierCovFitParameters.FitParameters.fix | ( | self, | |
keys = slice(None) , |
|||
val = None |
|||
) |
Definition at line 263 of file astierCovFitParameters.py.
def lsst.cp.pipe.astierCovFitParameters.FitParameters.free | ( | self | ) |
Definition at line 291 of file astierCovFitParameters.py.
def lsst.cp.pipe.astierCovFitParameters.FitParameters.free | ( | self, | |
val | |||
) |
Definition at line 295 of file astierCovFitParameters.py.
def lsst.cp.pipe.astierCovFitParameters.FitParameters.full | ( | self | ) |
Definition at line 299 of file astierCovFitParameters.py.
def lsst.cp.pipe.astierCovFitParameters.FitParameters.full | ( | self, | |
val | |||
) |
Definition at line 303 of file astierCovFitParameters.py.
def lsst.cp.pipe.astierCovFitParameters.FitParameters.indexof | ( | self, | |
indices = slice(None) |
|||
) |
Definition at line 273 of file astierCovFitParameters.py.
def lsst.cp.pipe.astierCovFitParameters.FitParameters.release | ( | self, | |
keys = slice(None) |
|||
) |
Definition at line 269 of file astierCovFitParameters.py.