-
Notifications
You must be signed in to change notification settings - Fork 52
Open
Labels
API extensionAdds new functions or objects to the API.Adds new functions or objects to the API.Needs DiscussionNeeds further discussion.Needs further discussion.RFCRequest for comments. Feature requests and proposed changes.Request for comments. Feature requests and proposed changes.topic: Complex Data TypesComplex number data types.Complex number data types.
Description
This RFC requests to include a new API in the array API specification for the purpose of computing the projection of a complex number on the Riemann sphere.
Overview
The Array API specification currently leaves the model for complex number infinities unspecified, which can be especially problematic when testing for complex number equality. Adding support for proj
can help resolve ambiguity by mapping all complex number infinities to a single infinity (i.e., positive real infinity).
Prior art
- C99: https://en.cppreference.com/w/c/numeric/complex/cproj
- (not currently implemented by array libraries)
Proposal:
def proj(x: array, /) -> array
Questions
- Only operate on complex arrays, similar to
conj
et al?
cc @kgryte
Metadata
Metadata
Assignees
Labels
API extensionAdds new functions or objects to the API.Adds new functions or objects to the API.Needs DiscussionNeeds further discussion.Needs further discussion.RFCRequest for comments. Feature requests and proposed changes.Request for comments. Feature requests and proposed changes.topic: Complex Data TypesComplex number data types.Complex number data types.