code: 
  
  
  
  '''simple docstring'''
  
  
  
  import logging
  
  # standard libraries
  import sys
  
  import numpy as np
  import pytest  # type: ignore
  
  # Custom/local libraries
  from matrix import matrix_operation as matop
  
  a__						:			Tuple										=			[[1_2, 1_0], [3, 9]]
  a__						:			Optional[Any]										=			[[3, 4], [7, 4]]
  a__						:			Union[str, Any]										=			[[3, 0, 2], [2, 0, -2], [0, 1, 1]]
  a__						:			Union[str, Any]										=			[[3, 0, -2], [2, 0, 2], [0, 1, 1]]
  a__						:			Dict										=			[[3, 0, 2], [2, 0, -2], [0, 1, 1], [2, 0, -2]]
  a__						:			List[str]										=			[1]
  a__						:			Tuple										=			[2]
  
  a__						:			Any										=			logging.getLogger()
  a__						:			Tuple										=			logging.DEBUG
  a__						:			Any										=			logging.StreamHandler(sys.stdout)
  logger.addHandler(stream_handler)
  
  
  
  
  
  
  
  @pytest.mark.mat_ops
  @pytest.mark.parametrize(
      ("""mat1""", """mat2""")							,[(mat_a, mat_b), (mat_c, mat_d), (mat_d, mat_e), (mat_f, mat_h)]       )
  def _lowercase   (  __A							,__A       ):
  
  
  
   '''simple docstring'''
  
  
  
   if (np.array(__A       )).shape < (2, 2) or (np.array(__A       )).shape < (2, 2):
    with pytest.raises(__A       ):
     logger.info(f"\n\t{test_addition.__name__} returned integer"       )
     matop.add(__A							,__A       )
   elif (np.array(__A       )).shape == (np.array(__A       )).shape:
    logger.info(f"\n\t{test_addition.__name__} with same matrix dims"       )
    __UpperCamelCase				      =  (np.array(__A       ) + np.array(__A       )).tolist()
    __UpperCamelCase				      =  matop.add(__A							,__A       )
    assert theo == act
   else:
    with pytest.raises(__A       ):
     logger.info(f"\n\t{test_addition.__name__} with different matrix dims"       )
     matop.add(__A							,__A       )
  
  
  
  
  
  
  
  @pytest.mark.mat_ops
  @pytest.mark.parametrize(
      ("""mat1""", """mat2""")							,[(mat_a, mat_b), (mat_c, mat_d), (mat_d, mat_e), (mat_f, mat_h)]       )
  def _lowercase   (  __A							,__A       ):
  
  
  
   '''simple docstring'''
  
  
  
   if (np.array(__A       )).shape < (2, 2) or (np.array(__A       )).shape < (2, 2):
    with pytest.raises(__A       ):
     logger.info(f"\n\t{test_subtraction.__name__} returned integer"       )
     matop.subtract(__A							,__A       )
   elif (np.array(__A       )).shape == (np.array(__A       )).shape:
    logger.info(f"\n\t{test_subtraction.__name__} with same matrix dims"       )
    __UpperCamelCase				      =  (np.array(__A       ) - np.array(__A       )).tolist()
    __UpperCamelCase				      =  matop.subtract(__A							,__A       )
    assert theo == act
   else:
    with pytest.raises(__A       ):
     logger.info(f"\n\t{test_subtraction.__name__} with different matrix dims"       )
     assert matop.subtract(__A							,__A       )
  
  
  
  
  
  
  
  @pytest.mark.mat_ops
  @pytest.mark.parametrize(
      ("""mat1""", """mat2""")							,[(mat_a, mat_b), (mat_c, mat_d), (mat_d, mat_e), (mat_f, mat_h)]       )
  def _lowercase   (  __A							,__A       ):
  
  
  
   '''simple docstring'''
  
  
  
   if (np.array(__A       )).shape < (2, 2) or (np.array(__A       )).shape < (2, 2):
    logger.info(f"\n\t{test_multiplication.__name__} returned integer"       )
    with pytest.raises(__A       ):
     matop.add(__A							,__A       )
   elif (np.array(__A       )).shape == (np.array(__A       )).shape:
    logger.info(f"\n\t{test_multiplication.__name__} meets dim requirements"       )
    __UpperCamelCase				      =  (np.matmul(__A							,__A       )).tolist()
    __UpperCamelCase				      =  matop.multiply(__A							,__A       )
    assert theo == act
   else:
    with pytest.raises(__A       ):
     logger.info(
         f"\n\t{test_multiplication.__name__} does not meet dim requirements"       )
     assert matop.subtract(__A							,__A       )
  
  
  
  
  
  
  
  @pytest.mark.mat_ops
  def _lowercase   (  ):
  
  
  
   '''simple docstring'''
  
  
  
   __UpperCamelCase				      =  (3.5 * np.array(__A       )).tolist()
   __UpperCamelCase				      =  matop.scalar_multiply(__A							,3.5       )
   assert theo == act
  
  
  
  
  
  
  
  @pytest.mark.mat_ops
  def _lowercase   (  ):
  
  
  
   '''simple docstring'''
  
  
  
   __UpperCamelCase				      =  (np.identity(5       )).tolist()
   __UpperCamelCase				      =  matop.identity(5       )
   assert theo == act
  
  
  
  
  
  
  
  @pytest.mark.mat_ops
  @pytest.mark.parametrize("""mat"""							,[mat_a, mat_b, mat_c, mat_d, mat_e, mat_f]       )
  def _lowercase   (  __A       ):
  
  
  
   '''simple docstring'''
  
  
  
   if (np.array(__A       )).shape < (2, 2):
    with pytest.raises(__A       ):
     logger.info(f"\n\t{test_transpose.__name__} returned integer"       )
     matop.transpose(__A       )
   else:
    __UpperCamelCase				      =  (np.transpose(__A       )).tolist()
    __UpperCamelCase				      =  matop.transpose(__A							,return_map=__A       )
    assert theo == act
  
  
  
  
  
  
style_context: 
  
  
  
  '''simple docstring'''
  
  
  
  a__						:			Any										=			{
      '0000': '0',
      '0001': '1',
      '0010': '2',
      '0011': '3',
      '0100': '4',
      '0101': '5',
      '0110': '6',
      '0111': '7',
      '1000': '8',
      '1001': '9',
      '1010': 'a',
      '1011': 'b',
      '1100': 'c',
      '1101': 'd',
      '1110': 'e',
      '1111': 'f',
  }
  
  
  
  
  
  
  
  def _lowercase   (  __A       ):
  
  
  
   '''simple docstring'''
  
  
  
   __UpperCamelCase				      =  str(__A       ).strip()
  
   # Exceptions
   if not binary_str:
    raise ValueError("""Empty string was passed to the function"""       )
   __UpperCamelCase				      =  binary_str[0] == """-"""
   __UpperCamelCase				      =  binary_str[1:] if is_negative else binary_str
   if not all(char in """01""" for char in binary_str       ):
    raise ValueError("""Non-binary value was passed to the function"""       )
  
   __UpperCamelCase				      =  (
       """0""" * (4 * (divmod(len(__A       )							,4       )[0] + 1) - len(__A       )) + binary_str
   )
  
   __UpperCamelCase				      =  []
   for x in range(0							,len(__A       )							,4       ):
    hexadecimal.append(BITS_TO_HEX[binary_str[x : x + 4]]       )
   __UpperCamelCase				      =  """0x""" + """""".join(__A       )
  
   return "-" + hexadecimal_str if is_negative else hexadecimal_str
  
  
  if __name__ == "__main__":
   from doctest import testmod
  
   testmod()
  
  
  
  
  
  