---
name: 'Extensions: Introducing new operation / improve notion'
about: 'You want to suggest a new operation or extend an existing one? '
title: "[Feature suggestion]"
labels: feature suggestion
assignees: ''

---

Einops sparks a lot of interest to introduce new operations that either meet specific requirements or look like a plausible extension of existing ones.

Einops is not a purely experimental thing, it's already used in a number of large projects, so there are high expectations for any introduced improvement. Let's see which are they and how to check them?

1. Try to collect **use-cases**
2. **Implementation**. (optional) Implementing a sketch of your proposal in a code allows detecting possible conflicts and realize possible caveats.
3. **Integrity** - does it interplay well with existing operations and notation in einops?
4. **Readability**. This is harder to check, but give it a try. A simple but usable test is to write an exercise sheet with several examples of your extension explained, for others meaning of operation should be guessed. Send this test to a couple of your friends to collect the feedback and see how your notion will be understood. This should also help to improve your ideas to make them more digestible.
