code: def get_shear_matrix3d(
      center: Tensor,
      sxy: Optional[Tensor] = None,
      sxz: Optional[Tensor] = None,
      syx: Optional[Tensor] = None,
      syz: Optional[Tensor] = None,
      szx: Optional[Tensor] = None,
      szy: Optional[Tensor] = None,
  ) -> Tensor:
      r"""Compose shear matrix Bx4x4 from the components.
      Note: Ordered shearing, shear x-axis then y-axis then z-axis.
  
      .. math::
          \begin{bmatrix}
              1 & o & r & oy + rz \\
              m & p & s & mx + py + sz -y \\
              n & q & t & nx + qy + tz -z \\
              0 & 0 & 0 & 1  \\
          \end{bmatrix}
          Where:
          m = S_{xy}
          n = S_{xz}
          o = S_{yx}
          p = S_{xy}S_{yx} + 1
          q = S_{xz}S_{yx} + S_{yz}
          r = S_{zx} + S_{yx}S_{zy}
          s = S_{xy}S_{zx} + (S_{xy}S_{yx} + 1)S_{zy}
          t = S_{xz}S_{zx} + (S_{xz}S_{yx} + S_{yz})S_{zy} + 1
  
      Params:
          center: shearing center coordinates of (x, y, z).
          sxy: shearing angle along x axis, towards y plane in radiants.
          sxz: shearing angle along x axis, towards z plane in radiants.
          syx: shearing angle along y axis, towards x plane in radiants.
          syz: shearing angle along y axis, towards z plane in radiants.
          szx: shearing angle along z axis, towards x plane in radiants.
          szy: shearing angle along z axis, towards y plane in radiants.
  
      Returns:
          params to be passed to the affine transformation.
  
      Examples:
          >>> rng = torch.manual_seed(0)
          >>> sxy, sxz, syx, syz = torch.randn(4, 1)
          >>> sxy, sxz, syx, syz
          (tensor([1.5410]), tensor([-0.2934]), tensor([-2.1788]), tensor([0.5684]))
          >>> center = torch.tensor([[0., 0., 0.]])  # Bx3
          >>> get_shear_matrix3d(center, sxy=sxy, sxz=sxz, syx=syx, syz=syz)
          tensor([[[  1.0000,  -1.4369,   0.0000,   0.0000],
                   [-33.5468,  49.2039,   0.0000,   0.0000],
                   [  0.3022,  -1.0729,   1.0000,   0.0000],
                   [  0.0000,   0.0000,   0.0000,   1.0000]]])
  
      .. note::
          This function is often used in conjunction with :func:`warp_perspective3d`.
      """
      sxy = tensor([0.0]).repeat(center.size(0)) if sxy is None else sxy
      sxz = tensor([0.0]).repeat(center.size(0)) if sxz is None else sxz
      syx = tensor([0.0]).repeat(center.size(0)) if syx is None else syx
      syz = tensor([0.0]).repeat(center.size(0)) if syz is None else syz
      szx = tensor([0.0]).repeat(center.size(0)) if szx is None else szx
      szy = tensor([0.0]).repeat(center.size(0)) if szy is None else szy
  
      x, y, z = torch.split(center, 1, dim=-1)
      x, y, z = x.view(-1), y.view(-1), z.view(-1)
      # Prepare parameters
      sxy_tan = tan(sxy)
      sxz_tan = tan(sxz)
      syx_tan = tan(syx)
      syz_tan = tan(syz)
      szx_tan = tan(szx)
      szy_tan = tan(szy)
  
      # compute translation matrix
      (
          m00,
          m10,
          m20,
          m01,
          m11,
          m21,
          m02,
          m12,
          m22,
      ) = _compute_shear_matrix_3d(
          sxy_tan, sxz_tan, syx_tan, syz_tan, szx_tan, szy_tan
      )
  
      m03 = m01 * y + m02 * z
      m13 = m10 * x + m11 * y + m12 * z - y
      m23 = m20 * x + m21 * y + m22 * z - z
  
      # shear matrix is implemented with negative values
      sxy_tan, sxz_tan, syx_tan, syz_tan, szx_tan, szy_tan = (
          -sxy_tan,
          -sxz_tan,
          -syx_tan,
          -syz_tan,
          -szx_tan,
          -szy_tan,
      )
      (
          m00,
          m10,
          m20,
          m01,
          m11,
          m21,
          m02,
          m12,
          m22,
      ) = _compute_shear_matrix_3d(
          sxy_tan, sxz_tan, syx_tan, syz_tan, szx_tan, szy_tan
      )
  
      shear_mat = stack(
          [m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23],
          -1,
      ).view(-1, 3, 4)
      shear_mat = convert_affinematrix_to_homography3d(shear_mat)
  
      return shear_mat
  
imports: from __future__ import annotations
  from typing import Optional
  import torch
  import torch.nn.functional
  from kornia.core import Tensor, concatenate, ones, ones_like, stack, tan, tensor, zeros
  from kornia.core.check import KORNIA_CHECK, KORNIA_CHECK_SHAPE
  from kornia.geometry.conversions import angle_to_rotation_matrix, axis_angle_to_rotation_matrix, convert_affinematrix_to_homography, convert_affinematrix_to_homography3d, deg2rad, normalize_homography, normalize_homography3d, normalize_pixel_coordinates
  from kornia.geometry.linalg import transform_points
  from kornia.utils import create_meshgrid, create_meshgrid3d, eye_like
  from kornia.utils.helpers import _torch_inverse_cast, _torch_solve_cast
label_desc: Use image node_id 14 for calling a global function with example usage: get_shear_matrix3d(center, sxy, sxz, syx, syz, szx, szy) and returns: shear_mat