message: Update einsum documentation
  Emphasize element-wise computation, and add examples to clarify conversion from element-wise equation to `equation` string.
diff: @@ -180,10 +180,10 @@ def _enclosing_tpu_context():
  def einsum(equation, *inputs, **kwargs):
  """Tensor contraction over specified indices and outer product.
  - This function returns a tensor whose elements are defined by `equation`,
  - which is written in a shorthand form inspired by the Einstein summation
  - convention. As an example, consider multiplying two matrices
  - A and B to form a matrix C. The elements of C are given by:
  + Einsum allows defining Tensors by defining their element-wise computation.
  + This computation is defined by `equation`, a shorthand form based on Einstein
  + summation. As an example, consider multiplying two matrices A and B to form a
  + matrix C. The elements of C are given by:
  ```
  C[i,k] = sum_j A[i,j] * B[j,k]
  @@ -195,12 +195,14 @@ def einsum(equation, *inputs, **kwargs):
  ij,jk->ik
  ```
  - In general, the `equation` is obtained from the more familiar element-wise
  - equation by
  - 1. removing variable names, brackets, and commas,
  - 2. replacing "*" with ",",
  - 3. dropping summation signs, and
  - 4. moving the output to the right, and replacing "=" with "->".
  + In general, to convert the element-wise equation into the `equation` string,
  + use the following procedure (intermediate strings for matrix multiplication
  + example provided in parentheses):
  +
  + 1. remove variable names, brackets, and commas, (`ik = sum_j ij * jk`)
  + 2. replace "*" with ",", (`ik = sum_j ij , jk`)
  + 3. drop summation signs, and (`ik = ij, jk`)
  + 4. move the output to the right, while replacing "=" with "->". (`ij,jk->ik`)
  Many common operations can be expressed in this way. For example:
  