rok commented on code in PR #33925: URL: https://github.com/apache/arrow/pull/33925#discussion_r1106951957
########## docs/source/format/CanonicalExtensions.rst: ########## @@ -72,4 +72,64 @@ same rules as laid out above, and provide backwards compatibility guarantees. Official List ============= -No canonical extension types have been standardized yet. +Fixed shape tensor +================== + +* Extension name: `arrow.fixed_shape_tensor`. + +* The storage type of the extension: ``FixedSizeList`` where: + + * **value_type** is the data type of individual tensors and + is an instance of ``pyarrow.DataType`` or ``pyarrow.Field``. + * **list_size** is the product of all the elements in tensor shape. + +* Extension type parameters: + + * **value_type** = Arrow DataType of the tensor elements + * **shape** = shape of the contained tensors as an array + + Optional parameters: + + * **dim_names** = explicit names to tensor dimensions + as an array. The length of it should be equal to the shape + length and equal to the number of dimensions. + + ``dim_names`` are used if the dimensions have well-known + names and they map to the physical order (row-major). + + * **permutation** = indices of the desired ordering of the + original dimensions, defined as an array. + + The indices contain a permutation of the values [0, 1, .., N-1] where + N is the number of dimensions. The permutation indicates which + dimension of the logical order corresponds to which dimension of the + physical tensor (the i-th dimension of the logical view corresponds + to the dimension with number permutations[i] of the physical tensor). + + **Permutation is only needed in case the logical order of + the tensor is a permutation of the physical order (row-major).** + + When logical and physical order are equal, the permutation will + always equal to the original order of dimensions ([0, 1, .., N-1]) + and therefore doesn't need to be defined. Review Comment: ```suggestion and therefore doesn't need to be defined. If permutation is absent row-major layout is assumed. ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org