├── .codecov.yml ├── .github ├── CONTRIBUTING.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── Docs.yaml │ ├── Linting.yml │ └── Tests.yml ├── .gitignore ├── CITATION.cff ├── LICENSE ├── Makefile ├── README.md ├── devtools ├── RELEASE.md ├── allowlist.txt ├── ci_scripts │ └── check_no_numpy.py ├── conda-envs │ ├── full-environment.yaml │ ├── min-deps-environment.yaml │ ├── min-ver-environment.yaml │ └── torch-only-environment.yaml └── conda-recipe │ └── meta.yaml ├── docs ├── api_reference.md ├── changelog.md ├── css │ └── custom.css ├── examples │ ├── dask_reusing_intermediaries.md │ └── large_expr_with_greedy.md ├── getting_started │ ├── backends.md │ ├── input_format.md │ ├── install.md │ ├── reusing_paths.md │ └── sharing_intermediates.md ├── img │ ├── ex_dask_reuse_graph.png │ ├── path_finding_time.png │ ├── path_found_flops.png │ └── path_found_flops_random.png ├── index.md ├── javascript │ └── config.js ├── paths │ ├── branching_path.md │ ├── custom_paths.md │ ├── dp_path.md │ ├── greedy_path.md │ ├── introduction.md │ ├── optimal_path.md │ └── random_greedy_path.md └── requirements.yml ├── mkdocs.yml ├── opt_einsum ├── __init__.py ├── _version.py ├── backends │ ├── __init__.py │ ├── cupy.py │ ├── dispatch.py │ ├── jax.py │ ├── object_arrays.py │ ├── tensorflow.py │ ├── theano.py │ └── torch.py ├── blas.py ├── contract.py ├── helpers.py ├── parser.py ├── path_random.py ├── paths.py ├── sharing.py ├── testing.py ├── tests │ ├── __init__.py │ ├── test_backends.py │ ├── test_blas.py │ ├── test_contract.py │ ├── test_edge_cases.py │ ├── test_input.py │ ├── test_parser.py │ ├── test_paths.py │ └── test_sharing.py └── typing.py ├── paper ├── paper.bib └── paper.md ├── pyproject.toml └── scripts ├── README.md └── compare_random_paths.py /.codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/.codecov.yml -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/.github/CONTRIBUTING.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/workflows/Docs.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/.github/workflows/Docs.yaml -------------------------------------------------------------------------------- /.github/workflows/Linting.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/.github/workflows/Linting.yml -------------------------------------------------------------------------------- /.github/workflows/Tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/.github/workflows/Tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/.gitignore -------------------------------------------------------------------------------- /CITATION.cff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/CITATION.cff -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/README.md -------------------------------------------------------------------------------- /devtools/RELEASE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/devtools/RELEASE.md -------------------------------------------------------------------------------- /devtools/allowlist.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/devtools/allowlist.txt -------------------------------------------------------------------------------- /devtools/ci_scripts/check_no_numpy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/devtools/ci_scripts/check_no_numpy.py -------------------------------------------------------------------------------- /devtools/conda-envs/full-environment.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/devtools/conda-envs/full-environment.yaml -------------------------------------------------------------------------------- /devtools/conda-envs/min-deps-environment.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/devtools/conda-envs/min-deps-environment.yaml -------------------------------------------------------------------------------- /devtools/conda-envs/min-ver-environment.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/devtools/conda-envs/min-ver-environment.yaml -------------------------------------------------------------------------------- /devtools/conda-envs/torch-only-environment.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/devtools/conda-envs/torch-only-environment.yaml -------------------------------------------------------------------------------- /devtools/conda-recipe/meta.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/devtools/conda-recipe/meta.yaml -------------------------------------------------------------------------------- /docs/api_reference.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/api_reference.md -------------------------------------------------------------------------------- /docs/changelog.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/changelog.md -------------------------------------------------------------------------------- /docs/css/custom.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/css/custom.css -------------------------------------------------------------------------------- /docs/examples/dask_reusing_intermediaries.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/examples/dask_reusing_intermediaries.md -------------------------------------------------------------------------------- /docs/examples/large_expr_with_greedy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/examples/large_expr_with_greedy.md -------------------------------------------------------------------------------- /docs/getting_started/backends.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/getting_started/backends.md -------------------------------------------------------------------------------- /docs/getting_started/input_format.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/getting_started/input_format.md -------------------------------------------------------------------------------- /docs/getting_started/install.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/getting_started/install.md -------------------------------------------------------------------------------- /docs/getting_started/reusing_paths.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/getting_started/reusing_paths.md -------------------------------------------------------------------------------- /docs/getting_started/sharing_intermediates.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/getting_started/sharing_intermediates.md -------------------------------------------------------------------------------- /docs/img/ex_dask_reuse_graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/img/ex_dask_reuse_graph.png -------------------------------------------------------------------------------- /docs/img/path_finding_time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/img/path_finding_time.png -------------------------------------------------------------------------------- /docs/img/path_found_flops.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/img/path_found_flops.png -------------------------------------------------------------------------------- /docs/img/path_found_flops_random.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/img/path_found_flops_random.png -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/javascript/config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/javascript/config.js -------------------------------------------------------------------------------- /docs/paths/branching_path.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/paths/branching_path.md -------------------------------------------------------------------------------- /docs/paths/custom_paths.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/paths/custom_paths.md -------------------------------------------------------------------------------- /docs/paths/dp_path.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/paths/dp_path.md -------------------------------------------------------------------------------- /docs/paths/greedy_path.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/paths/greedy_path.md -------------------------------------------------------------------------------- /docs/paths/introduction.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/paths/introduction.md -------------------------------------------------------------------------------- /docs/paths/optimal_path.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/paths/optimal_path.md -------------------------------------------------------------------------------- /docs/paths/random_greedy_path.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/paths/random_greedy_path.md -------------------------------------------------------------------------------- /docs/requirements.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/docs/requirements.yml -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/mkdocs.yml -------------------------------------------------------------------------------- /opt_einsum/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/__init__.py -------------------------------------------------------------------------------- /opt_einsum/_version.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/_version.py -------------------------------------------------------------------------------- /opt_einsum/backends/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/backends/__init__.py -------------------------------------------------------------------------------- /opt_einsum/backends/cupy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/backends/cupy.py -------------------------------------------------------------------------------- /opt_einsum/backends/dispatch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/backends/dispatch.py -------------------------------------------------------------------------------- /opt_einsum/backends/jax.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/backends/jax.py -------------------------------------------------------------------------------- /opt_einsum/backends/object_arrays.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/backends/object_arrays.py -------------------------------------------------------------------------------- /opt_einsum/backends/tensorflow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/backends/tensorflow.py -------------------------------------------------------------------------------- /opt_einsum/backends/theano.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/backends/theano.py -------------------------------------------------------------------------------- /opt_einsum/backends/torch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/backends/torch.py -------------------------------------------------------------------------------- /opt_einsum/blas.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/blas.py -------------------------------------------------------------------------------- /opt_einsum/contract.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/contract.py -------------------------------------------------------------------------------- /opt_einsum/helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/helpers.py -------------------------------------------------------------------------------- /opt_einsum/parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/parser.py -------------------------------------------------------------------------------- /opt_einsum/path_random.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/path_random.py -------------------------------------------------------------------------------- /opt_einsum/paths.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/paths.py -------------------------------------------------------------------------------- /opt_einsum/sharing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/sharing.py -------------------------------------------------------------------------------- /opt_einsum/testing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/testing.py -------------------------------------------------------------------------------- /opt_einsum/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /opt_einsum/tests/test_backends.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/tests/test_backends.py -------------------------------------------------------------------------------- /opt_einsum/tests/test_blas.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/tests/test_blas.py -------------------------------------------------------------------------------- /opt_einsum/tests/test_contract.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/tests/test_contract.py -------------------------------------------------------------------------------- /opt_einsum/tests/test_edge_cases.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/tests/test_edge_cases.py -------------------------------------------------------------------------------- /opt_einsum/tests/test_input.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/tests/test_input.py -------------------------------------------------------------------------------- /opt_einsum/tests/test_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/tests/test_parser.py -------------------------------------------------------------------------------- /opt_einsum/tests/test_paths.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/tests/test_paths.py -------------------------------------------------------------------------------- /opt_einsum/tests/test_sharing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/tests/test_sharing.py -------------------------------------------------------------------------------- /opt_einsum/typing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/opt_einsum/typing.py -------------------------------------------------------------------------------- /paper/paper.bib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/paper/paper.bib -------------------------------------------------------------------------------- /paper/paper.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/paper/paper.md -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/pyproject.toml -------------------------------------------------------------------------------- /scripts/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/scripts/README.md -------------------------------------------------------------------------------- /scripts/compare_random_paths.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgasmith/opt_einsum/HEAD/scripts/compare_random_paths.py --------------------------------------------------------------------------------