TWiki> IVOA Web>IvoaDAL>ADQL>ADQLVectorMath (revision 2)EditAttach

A proposal for vector math in ADQL

With tables containing massive amounts of vectors (e.g., the collections of low-resolution spectra within Gaia DR3 or the Digitised Byurakan Surveys), giving TAP users a toolset to do server-side work with arrays becomes highly desirable and will significantly enhance the power of ADQL to do server-side analyses. This is an attempt to provide a baseline feature set for that.

TAP servers supporting this should declare that by defining a language feature. While no IVOA specification exists for array operations, use the VECTORMATH key from GAVO's ADQL extensions standards record, like this:

<languageFeatures type="ivo://org.gavo.dc/std/exts#extra-adql-keywords">
  <feature>
    <form>VECTORMATH</form>
      <description>You can compute with vectors here. See
        https://wiki.ivoa.net/twiki/bin/view/IVOA/ADQLVectorMath
        for an overview of the functions and operators available.
      </description>
   </feature>
</languageFeatures>

Basic Math

  • vec1+vec2 is the component-wise sum of two vectors. Where vec1 and vec2 have unequal length, the result is padded with NaNs to the length of the longer vector.
  • vec1-vec2 is the component-wise difference of two vectors. Where vec1 and vec2 have unequal length, the result is padded with NaNs to the length of the longer vector.
  • vec1*vec2 is the scalar product of two vectors. Where vec1 and vec2 have unequal length, the shorter vector is padded with NaNs to the length of the longer vector. That is, the scalar product of vectors of unequal length is NaN.
  • scal*vec and vec*scal is the scalar multiplication of a vector.
Edit | Attach | Watch | Print version | History: r11 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 2022-06-30 - MarkusDemleitner
 
This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback