Vector-valued Quantities
Ed Shaya
Edward.J.Shaya.1 at gsfc.nasa.gov
Thu May 13 09:59:37 PDT 2004
Oh, its OK with me if you start at QuantitySet (you call CoreQ) and then
we create some subclass of it that can only hold a singleQuantity. So
luminosityQuantity is a subclass of singleQuantity and starDescription
is a subclass of CoreQ which can aggregate luminosityQuantity and
massQuantity.
It would be most straightforward if the serialization ends up looking
something like.
starDescription {
luminosityQuantity
massQuantity
}
where the axes in the massQuantity use a ref to the axes of the
luminosityQuantity (or they both reference a single one held by
starDescription}. It should be easy, with a single xpath expression, to
extract just the luminosity or just the mass.
Ed
David Berry wrote:
>Ed,
>
>
>
>> You don't need a QuantitySet for what you describe here. That is
>>just an SED with an alternate axis. And I mentioned that an SED is just
>>a Quantity. You need the set when you combine luminosity and mass for a
>>list of stars.
>>
>>
>
>I can't see any difference between the (luminosity+mass) case and the
>(flux+wavelength) case. As before, what's wrong with a normal CoreQ in
>which the the values are vectors consisting of two numbers - the flux, and
>the associated mass?
>
> CoreQ {
> CompoundFrame {
> LuminosityFrame
> MassFrame
> }
> ParallelMapping {
> LuminosityValue
> MassValue
> }
> }
>
>David
>
>
>
>
>
>Or for flux and dust extinction along lines of sight.
>
>
>>Ed
>>
>>
>>David Berry wrote:
>>
>>
>>
>>>Ed,
>>>
>>>
>>>
>>>
>>>
>>>> Next we want to combine quantities, but we want to do this keeping
>>>>some relationship between the index values of both quantities. This is
>>>>commonly the case when the nth element in each quantity refer to the
>>>>same object. QuantitySet provides for a standard way to get your ducks
>>>>in a row.
>>>>
>>>>
>>>>
>>>>
>>>Given that a CoreQ consists of a Frame and a Mapping (taking a
>>>ValuesList to be a special form of Mapping), it is represented by:
>>>
>>> CoreQ {
>>> Frame f;
>>> Mapping m;
>>> }
>>>
>>>Let's say we have two scalar-valued CoreQ's:
>>>
>>> CoreQ flux
>>> CoreQ wavelength;
>>>
>>>If we then want to combine these into a single vector-valued CoreQ, do
>>>we not just join the two Frames together to form a compound Frame,
>>>and then joing the two Mappings together to form a compound (parallel)
>>>Mapping, and then combined them in a new CoreQ as follows:
>>>
>>> CoreQ SED {
>>> CompoundFrame {
>>> flux.f
>>> wavelength.f
>>> }
>>> ParallelMapping {
>>> flux.m
>>> wavelength.m
>>> }
>>> }
>>>
>>>The above *is* a CoreQ since it is made up of a Frame and a Mapping, so
>>>why do we need a new "QuantitySet" class?
>>>
>>>David
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>
>----------------------------------------------------------------------
>Dr David S. Berry (dsb at ast.man.ac.uk)
>
>STARLINK project | Centre for Astrophysics
>(http://www.starlink.ac.uk/) | University of Central Lancashire
>Rutherford Appleton Laboratory | PRESTON
>DIDCOT | United Kingdom
>United Kingdom | PR1 2HE
>OX11 0QX Tel. 01772 893733
> 01257 273192
>
>
>
More information about the dm
mailing list