Skip to content

RFC: add logsumexp #596

Open
Open
@steff456

Description

@steff456

This RFC seeks to include a new API in the array API specification for the purpose of computing the log of summed exponentials.

Overview

The Array API specification currently includes logaddexp which performs an element-wise operation on two input arrays, but does not include the reduction logsumexp. This API is commonly implemented in accelerator libraries for better numerical stability in deep learning applications.

This can be implemented using log(sum(exp)); however, such an implementation is not likely to be numerically stable.

Prior art

Proposal:

def logsumexp(x: array, /, *, axis: Optional[Union[int, Tuple[int, ...]]] = None, dtype: Optional[dtype] = None, keepdims: bool = False) -> array
  • dtype kwarg is for consistency with sum et al

Related

cc @kgryte

Metadata

Metadata

Assignees

No one assigned

    Labels

    API extensionAdds new functions or objects to the API.RFCRequest for comments. Feature requests and proposed changes.

    Type

    No type

    Projects

    Status

    Stage 1

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions