
- Python Basic Tutorial
- Python - Home
- Python - Overview
- Python - Environment Setup
- Python - Basic Syntax
- Python - Comments
- Python - Variables
- Python - Data Types
- Python - Operators
- Python - Decision Making
- Python - Loops
- Python - Numbers
- Python - Strings
- Python - Lists
- Python - Tuples
- Python - Dictionary
- Python - Date & Time
- Python - Functions
- Python - Modules
- Python - Files I/O
- Python - Exceptions
Get the trace of a matrix with Einstein summation convention in Python
The einsum() method evaluates the Einstein summation convention on the operands. Using the Einstein summation convention, many common multi-dimensional, linear algebraic array operations can be represented in a simple fashion. In implicit mode einsum computes these values.
In explicit mode, einsum provides further flexibility to compute other array operations that might not be considered classical Einstein summation operations, by disabling, or forcing summation over specified subscript labels.
To get the trace of a matrix with Einstein summation convention, use the numpy.einsum() method in Python. The 1st parameter is the subscript. It specifies the subscripts for summation as comma separated list of subscript labels. The 2nd parameter is the operands. These are the arrays for the operation.
Steps
At first, import the required libraries −
import numpy as np
Creating a numpy array using the arange() and reshape() method −
arr = np.arange(16).reshape(4,4)
Display the array −
print("Our Array...\n",arr)
Check the Dimensions −
print("\nDimensions of our Array...\n",arr.ndim)
Get the Datatype −
print("\nDatatype of our Array object...\n",arr.dtype)
Get the Shape −
print("\nShape of our Array object...\n",arr.shape)
To get the trace of a matrix with Einstein summation convention, use the numpy.einsum() method in Python −
print("\nResult (trace)...\n",np.einsum('ii', arr))
Example
import numpy as np # Creating a numpy array using the arange() and reshape() method arr = np.arange(16).reshape(4,4) # Display the array print("Our Array...\n",arr) # Check the Dimensions print("\nDimensions of our Array...\n",arr.ndim) # Get the Datatype print("\nDatatype of our Array object...\n",arr.dtype) # Get the Shape print("\nShape of our Array object...\n",arr.shape) # To get the trace of a matrix with Einstein summation convention, use the numpy.einsum() method in Python. print("\nResult (trace)...\n",np.einsum('ii', arr))
Output
Our Array... [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15]] Dimensions of our Array... 2 Datatype of our Array object... int64 Shape of our Array object... (4, 4) Result (trace)... 30
- Related Articles
- Matrix Vector multiplication with Einstein summation convention in Python
- Compute a matrix transpose with Einstein summation convention in Python
- Extract the diagonal of a matrix with Einstein summation convention in Python
- Scalar multiplication with Einstein summation convention in Python
- Tensor contraction with Einstein summation convention in Python
- Array axis summations with Einstein summation convention in Python
- Vector inner product with Einstein summation convention in Python
- Vector outer product with Einstein summation convention in Python
- Trace Your Requirements with A Traceability Matrix (RTM)
- Python Program To Find the Trace and Normal of a given Matrix
- Python Program to get K length groups with given summation
- Maximum trace possible for any sub-matrix of the given matrix in C++
- Python Program to Sort Matrix Rows by summation of consecutive difference of elements
- Golang Program To Find The Trace And Normal Of A Matrix
- Java Program To Find the Trace and Normal of a given Matrix
