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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions