docstr: Generate square double of given size
docstr_tok: ["Generate","square","double","of","given","size"]
code: def square(self, size, device=None):
      """Generate square double of given size"""
      r = generate_random_ring_element(size, device=device)
      r2 = r.mul(r)
  
      # Stack to vectorize scatter function
      stacked = torch_stack([r, r2])
      stacked = ArithmeticSharedTensor(stacked, precision=0, src=0)
      return stacked[0], stacked[1]
  
file_path: CrypTen/crypten/mpc/provider/tfp_provider.py
imports: import crypten.communicator
  import torch
  from crypten.common.rng import generate_kbit_random_tensor, generate_random_ring_element
  from crypten.common.util import count_wraps, torch_stack
  from crypten.mpc.primitives import ArithmeticSharedTensor, BinarySharedTensor
  from .provider import TupleProvider
label_desc: Use image node_id 2 for calling the TrustedFirstParty obj's underlying member method code with example usage: obj.square(size, device) and returns: stacked,  stacked