'Re-orders dimensions of a tensor without preserving data
Arguments:
new_order (list): new order of dimensions'

def dimension_reorder(self, new_order):

    shape = [self.shape[dim] for dim in new_order]
    return self.reshape(shape)
