Skip to content

Add linear algebra design principles - #149

Merged
kgryte merged 5 commits into
mainfrom
linalg-design-principles
May 12, 2021
Merged

Add linear algebra design principles#149
kgryte merged 5 commits into
mainfrom
linalg-design-principles

Conversation

@kgryte

Copy link
Copy Markdown
Contributor

This PR

  • adds a section on design principles for linear algebra APIs.

@rgommersrgommers left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thanks @kgryte. Two other things come to mind:

  1. Namespaces. NumPy has the weird split between in linalg functions between its main namespace and numpy.linalg. Other libraries tend to follow that. There's no optimal solution; we should say something about it here though.
  2. You may want to include a part of gh-137. A principle may be "orthogonality", which is a reason for including only certain "dot" functions.

Comment threadspec/API_specification/linear_algebra_functions.md
@rgommersrgommers added the Narrative Content Narrative documentation content. label Mar 25, 2021
@kgryte

Copy link
Copy Markdown
ContributorAuthor

@rgommers I've added an orthogonality principle and a note regarding namespaces.

Comment threadspec/API_specification/linear_algebra_functions.md Outdated
@kgryte

Copy link
Copy Markdown
ContributorAuthor

I've removed the note, and will submit a follow-up PR regarding the mirroring of top-level linear algebra APIs in the linalg submodule as discussed during recent meetings.

@kgryte
kgryte merged commit 83c6be3 into mainMay 12, 2021
@kgryte
kgryte deleted the linalg-design-principles branch May 12, 2021 06:24
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Narrative ContentNarrative documentation content.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@kgryte@rgommers@shoyer