





from typing import Any

import numpy as np



def 		A_    (					_lowerCAmelCase					)						->			bool:
 return np.array_equal(_lowerCAmelCase							,       matrix.conjugate().T					)



def 		A_    (					_lowerCAmelCase							,       _lowerCAmelCase					)						->			Any:
 UpperCamelCase     : str	     =       v.conjugate().T
 UpperCamelCase     : Optional[Any]	     =       v_star.dot(_lowerCAmelCase					)
 assert isinstance(_lowerCAmelCase							,       np.ndarray					)
 return (v_star_dot.dot(_lowerCAmelCase					)) / (v_star.dot(_lowerCAmelCase					))



def 		A_    (					)						->			None:
 UpperCamelCase     : Any	     =       np.array([[2, 2 + 1j, 4], [2 - 1j, 3, 1j], [4, -1j, 1]]					)
 UpperCamelCase     : Any	     =       np.array([[1], [2], [3]]					)
 assert is_hermitian(_lowerCAmelCase					), F"""{a} is not hermitian."""
 print(rayleigh_quotient(_lowerCAmelCase							,       _lowerCAmelCase					)					)

 UpperCamelCase     : Any	     =       np.array([[1, 2, 4], [2, 3, -1], [4, -1, 1]]					)
 assert is_hermitian(_lowerCAmelCase					), F"""{a} is not hermitian."""
 assert rayleigh_quotient(_lowerCAmelCase							,       _lowerCAmelCase					) == float(3					)


if __name__ == "__main__":
    import doctest

    doctest.testmod()
    tests()







import sys

from .dependency_versions_table import deps
from .utils.versions import require_version, require_version_core


# define which module versions we always want to check at run time
# (usually the ones defined in `install_requires` in setup.py)
#
# order specific notes:
# - tqdm must be checked before tokenizers

__lowerCamelCase	:					Optional[int]			  =					"""python tqdm regex requests packaging filelock numpy tokenizers""".split()
if sys.version_info < (3, 7):
    pkgs_to_check_at_runtime.append("""dataclasses""")
if sys.version_info < (3, 8):
    pkgs_to_check_at_runtime.append("""importlib_metadata""")

for pkg in pkgs_to_check_at_runtime:
    if pkg in deps:
        if pkg == "tokenizers":
            # must be loaded here, or else tqdm check may fail
            from .utils import is_tokenizers_available

            if not is_tokenizers_available():
                continue  # not required, check version only if installed

        require_version_core(deps[pkg])
    else:
        raise ValueError(f"""can't find {pkg} in {deps.keys()}, check dependency_versions_table.py""")



def 		A_    (					_lowerCAmelCase							,       _lowerCAmelCase=None					)						->			Optional[Any]:
 require_version(deps[pkg]							,       _lowerCAmelCase					)
