<commit_before>opt_einsum
==========

|  **`Travis CI Status`**   |  **`CodeCov`**   |
|:-------------------:|:-------------------:|
| [![Build Status](https://travis-ci.org/dgasmith/opt_einsum.svg?branch=numpy_pr)](https://travis-ci.org/dgasmith/opt_einsum) |[![codecov.io](https://codecov.io/github/dgasmith/opt_einsum/coverage.svg?branch=master)](https://codecov.io/github/dgasmith/opt_einsum?branch=master)|


If this grows any further it might be a good idea to migrate to the wiki.

# TOC
 - [Optimizing numpy's einsum function](https://github.com/dgasmith/opt_einsum/blob/numpy_pr/README.md#optimizing-numpys-einsum-function)
 - [More details on paths](https://github.com/dgasmith/opt_einsum/blob/numpy_pr/README.md#more-details-on-paths)
 - [Finding the optimal path](https://github.com/dgasmith/opt_einsum/blob/numpy_pr/README.md#finding-the-optimal-path)
 - [Finding the opportunistic path](https://github.com/dgasmith/opt_einsum/blob/numpy_pr/README.md#finding-the-opportunistic-path)
 - [Testing](https://github.com/dgasmith/opt_einsum/blob/numpy_pr/README.md#testing)
 - [Outstanding issues](https://github.com/dgasmith/opt_einsum/blob/numpy_pr/README.md#outstanding-issues)
 - [Installation](https://github.com/dgasmith/opt_einsum/blob/numpy_pr/README.md#installation)

## Optimizing numpy's einsum function
Einsum is a very powerful function for contracting tensors of arbitrary dimension and index.
However, it is only optimized to contract two terms at a time resulting in non-optimal scaling.
<commit_msg>Updated coverage badge<commit_after>opt_einsum
==========

|  **`Travis CI Status`**   |  **`CodeCov`**   |
|:-------------------:|:-------------------:|
| [![Build Status](https://travis-ci.org/dgasmith/opt_einsum.svg?branch=numpy_pr)](https://travis-ci.org/dgasmith/opt_einsum) |[![codecov](https://codecov.io/gh/dgasmith/opt_einsum/branch/master/graph/badge.svg)](https://codecov.io/gh/dgasmith/opt_einsum)}


If this grows any further it might be a good idea to migrate to the wiki.

# TOC
 - [Optimizing numpy's einsum function](https://github.com/dgasmith/opt_einsum/blob/numpy_pr/README.md#optimizing-numpys-einsum-function)
 - [More details on paths](https://github.com/dgasmith/opt_einsum/blob/numpy_pr/README.md#more-details-on-paths)
 - [Finding the optimal path](https://github.com/dgasmith/opt_einsum/blob/numpy_pr/README.md#finding-the-optimal-path)
 - [Finding the opportunistic path](https://github.com/dgasmith/opt_einsum/blob/numpy_pr/README.md#finding-the-opportunistic-path)
 - [Testing](https://github.com/dgasmith/opt_einsum/blob/numpy_pr/README.md#testing)
 - [Outstanding issues](https://github.com/dgasmith/opt_einsum/blob/numpy_pr/README.md#outstanding-issues)
 - [Installation](https://github.com/dgasmith/opt_einsum/blob/numpy_pr/README.md#installation)

## Optimizing numpy's einsum function
Einsum is a very powerful function for contracting tensors of arbitrary dimension and index.
However, it is only optimized to contract two terms at a time resulting in non-optimal scaling.

{'fraction_non_alphanumeric': 0.1754038905374217, 'fraction_numerical': 0.0, 'mean_word_length': 4.671028037383177, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 22, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1102868', 'n_tokens_mistral': 1130, 'n_tokens_neox': 1076, 'n_words': 160}