Closed zkbt closed 2 years ago
Oh fudge! This made me check; right now normalize()
affects uncertainty
, but none of the basic math operations do. That's a bug. When we do rainbow*2
, both its flux
and its uncertainty
should be multiplied by 2.
Interestingly, it turned out that inverse-variance uncertainty weighting was actually happening already. All fluxlike quantities get uncertainty weighting. None of the wavelike or timelike ones get uncertainty weighting because it would require too many choices and would produce uneven time/wavelength grids that cause more trouble than they'd be worth.
Right now, if we bin a
RainbowWithModel
, theflux
gets uncertainty weighting, but everything else gets uniform weighting. Likewise, if we do math on aRainbow
, theflux
anduncertainty
?!?!) are affected by the calculation, but nothing else.For making it easier to propagate models through multiple
Rainbow
actions, we should change theRainbowWithModel
to:model
(and all other 2D quantities withmodel
in their names?) when doing.bin()
model
(and all other 2D quantities withmodel
in their names?) likeflux
when doing math