class_docstr: Return a form a nd diagonal subtensor.
  
  Parameters
  ----------
  x
      n-d tensor
  i0
      Axis index in x
  i1
      Axis index in x
  
  Notes
  -----
  Work on the GPU.
  
  Extended summary
  ----------------
  ``x`` is some n-dimensional tensor, but this Op only deals with a
  matrix-shaped slice, using axes i0 and i1. Without loss of
  generality, suppose that ``i0`` picks out our ``row`` dimension,
  and i1 the ``column`` dimension.
  
  So the relevant part of ``x`` is some matrix ``u``. Suppose it has 7 rows
  and 4 columns::
  
      [ 0 0 0 0 ]
      [ 0 0 0 0 ]
      [ 0 0 0 0 ]
      [ 0 0 0 0 ]
      [ 0 0 0 0 ]
      [ 0 0 0 0 ]
  
  The view returned by this function is also a matrix. It's a thick,
  diagonal ``stripe`` across u that discards the lower left triangle
  and the upper right triangle:
  
      [ x 0 0 0 ]
      [ x x 0 0 ]
      [ x x x 0 ]
      [ 0 x x x ]
      [ 0 0 x x ]
      [ 0 0 0 x ]
  
  In this case the return value would be this view of shape 3x4. The
  returned view has the same number of dimensions as the input
  ``x``, and the only difference is that the shape along dimension
  ``i0`` has been reduced by ``shape[i1] - 1`` because of the
  triangles that got chopped out.
  
  The NotImplementedError is meant to catch the case where shape[i0]
  is too small for the stripe to reach across the matrix, in which
  case it's not clear what this function should do. Maybe always
  raise an error. I'd look back to the call site in the Conv3D to
  see what's necessary at that point.
code: def connection_pattern(self, node):
      rval = [[True], [False], [False]]
      return rval
  
imports: from __future__ import absolute_import, print_function, division
  import theano
  from theano.gradient import DisconnectedType
  from theano.gof import Op, Apply, TopoOptimizer
  from theano.gof.opt import copy_stack_trace
  from theano import tensor
label_desc: Use image node_id 6 for calling the DiagonalSubtensor obj's underlying member method code with example usage: obj.connection_pattern(node) and returns: rval