Skip to content

Einsum changes #37

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
7 commits merged into from
Feb 3, 2011
Merged

Einsum changes #37

7 commits merged into from
Feb 3, 2011

Conversation

mwiebe
Copy link
Member

@mwiebe mwiebe commented Feb 1, 2011

These changes disable broadcasting by default as suggested by Jonathan Rocher, and add an alternative list-based subscript syntax as suggested by Josef. The syntax for the latter was inspired in part by some of George Nurser's syntax ideas.

@charris
Copy link
Member

charris commented Feb 2, 2011

This conflicts with Pauli's fixes in multiarraymodule.c, so it would be helpful if you rebased it to current master, maybe after fixing the two bugs Pauli reported. It might even make sense to try to move the einsum stuff out of multiarraymodule so it is more independent. Apart from that, einsum is new and mostly stand alone, so I don't worry as much about errors. There is always the possibility of memory leaks, though. Might be worth checking with valgrind at some point.

@mwiebe
Copy link
Member Author

mwiebe commented Feb 2, 2011

I was just doing the rebase. :) Using some static analysis tools might help improve einsum/NumPy's robustness too.

@charris
Copy link
Member

charris commented Feb 2, 2011

Do you have any static analysis tools in mind?

@mwiebe
Copy link
Member Author

mwiebe commented Feb 2, 2011

Also converted the used inner loops to SSE2, to bring
einsum fairly close to numpy.dot's performance for matrix-vector and
matrix-matrix multiplication.
@charris
Copy link
Member

charris commented Feb 3, 2011

I've merged this. I fixed one compiler warning and cleaned up some trailing whitespace. There is a compiler warning at numpy/core/src/multiarray/mapping.c:827:18: warning: comparison of distinct pointer types lacks a cast
where pointers to PyArrayObject and PyObject are compared which is probably an easy fix but I'll leave it to you to be sure of the intent.

mattip referenced this pull request in mattip/numpy Mar 20, 2019
rkern added a commit to rkern/numpy that referenced this pull request Jun 20, 2019
* BUG: Keep the integers uint32_t, add test
fangerer added a commit to hpyproject/numpy-hpy that referenced this pull request Jul 7, 2022
Merge in ~STEPAN.SINDELAR_ORACLE.COM/numpy-hpy from fa/ufunc_trivial_loop to labs-hpy-port

* commit '61a4ed147547e5974971dc2bf6870a2777f0750c':
  Use try_trivial_single_output_loop in PyUFunc_GenericFunctionInternal
  Migrate function try_trivial_single_output_loop to HPy
  Migrate function prepare_ufunc_output to HPy
  Partially migrate function _check_ufunc_fperr to HPy
  Migrate function PyArray_EQUIVALENTLY_ITERABLE_OVERLAP_OK to HPy
  Migrate function check_for_trivial_loop to HPy
  Migrate function PyArray_CastToType to HPy
  Introduce HPyArray_CopyInto
luyahan pushed a commit to plctlab/numpy that referenced this pull request Apr 25, 2024
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants