code: def linear_backward_default(func, *args, **kwargs):
      _, new_kwargs = normalize_function(
          func,
          args=args,
          kwargs=kwargs,
          normalize_to_only_use_kwargs=True,
      )
  
      inp = new_kwargs.pop("input")
      grad_output = new_kwargs.pop("grad_output")
      weight = new_kwargs.pop("weight")
  
      check_ragged_dim_same(
          func, inp, "self", grad_output, "grad_output"
      )
      ds = NestedTensor(
          torch.mm(grad_output._values, weight),
          **extract_kwargs(grad_output),
      )
      dw = torch.mm(grad_output._values.T, inp._values)
      db = (
          None  # NYI: gradient for bias, need to reduce over ragged dim
      )
      return (ds, dw, db)
  
imports: import functools
  import math
  import operator
  import torch
  from torch.nested._internal.sdpa import jagged_scaled_dot_product_attention
  from .nested_tensor import NestedTensor
  from typing import *
  from torch.fx.operator_schemas import normalize_function
label_desc: Use image node_id 19 for calling a global function with example usage: linear_backward_default(func) and returns: ds,  dw,  db