Skip to content

quaternion matmul function #694

@csbrown

Description

@csbrown

Would be nice to have a matmul function in the quaternion library. I'm willing to implement and emulate the existing style in the quaternion library.

Something like:


def matmul(quaternion1: type_alias.TensorLike,
             quaternion2: type_alias.TensorLike,
             name: str = "quaternion_matmul"
             ) -> tf.Tensor:
  """Multiplies matrices of quaternions.
  Note:
    In the following, A1 to An are optional batch dimensions.
  Args:
    quaternion1:  A tensor of shape `[A1, ..., An, M1, M2, 4]`, where M1 and M2 are the matrix dimensions, and the last dimension
      represents a quaternion.
    quaternion2:  A tensor of shape `[A1, ..., An, M2, M3, 4]`, where M2 and M3 are the matrix dimensions, and the last dimension
      represents a quaternion.
    name: A name for this op that defaults to "quaternion_matmul".
  Returns:
    A tensor of shape `[A1, ..., An, M1, M3, 4]` representing matrices of quaternions.
  Raises:
    ValueError: If the shape of `quaternion1` or `quaternion2` is not supported.
  """

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions