





import numpy as np





def 				__lowerCAmelCase(       _SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE = 1e-12							,     _SCREAMING_SNAKE_CASE = 100							,     )							-> tuple[float, np.ndarray]:




    """simple docstring"""




    assert np.shape(_SCREAMING_SNAKE_CASE				)[0] == np.shape(_SCREAMING_SNAKE_CASE				)[1]
    # Ensure proper dimensionality.
    assert np.shape(_SCREAMING_SNAKE_CASE				)[0] == np.shape(_SCREAMING_SNAKE_CASE				)[0]
    # Ensure inputs are either both complex or both real
    assert np.iscomplexobj(_SCREAMING_SNAKE_CASE				) == np.iscomplexobj(_SCREAMING_SNAKE_CASE				)
    _A     =							np.iscomplexobj(_SCREAMING_SNAKE_CASE				)
    if is_complex:
        # Ensure complex input_matrix is Hermitian
        assert np.array_equal(_SCREAMING_SNAKE_CASE							,     input_matrix.conj().T				)

    # Set convergence to False. Will define convergence when we exceed max_iterations
    # or when we have small changes from one iteration to next.

    _A     =							False
    _A     =							0
    _A     =							0
    _A     =							1e12

    while not convergence:
        # Multiple matrix by the vector.
        _A     =							np.dot(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				)
        # Normalize the resulting output vector.
        _A     =							w / np.linalg.norm(_SCREAMING_SNAKE_CASE				)
        # Find rayleigh quotient
        # (faster than usual b/c we know vector is normalized already)
        _A     =							vector.conj().T if is_complex else vector.T
        _A     =							np.dot(_SCREAMING_SNAKE_CASE							,     np.dot(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				)				)

        # Check convergence.
        _A     =							np.abs(lambda_ - lambda_previous				) / lambda_
        iterations += 1

        if error <= error_tol or iterations >= max_iterations:
            _A     =							True

        _A     =							lambda_

    if is_complex:
        _A     =							np.real(lambda_				)

    return lambda_, vector





def 				__lowerCAmelCase(       )							-> None:




    """simple docstring"""




    _A     =							np.array([[41, 4, 20], [4, 26, 30], [20, 30, 50]]				)
    _A     =							np.array([41, 4, 20]				)
    _A     =							real_input_matrix.astype(np.complexaaa				)
    _A     =							np.triu(1j * complex_input_matrix							,     1				)
    complex_input_matrix += imag_matrix
    complex_input_matrix += -1 * imag_matrix.T
    _A     =							np.array([41, 4, 20]				).astype(np.complexaaa				)

    for problem_type in ["real", "complex"]:
        if problem_type == "real":
            _A     =							real_input_matrix
            _A     =							real_vector
        elif problem_type == "complex":
            _A     =							complex_input_matrix
            _A     =							complex_vector

        # Our implementation.
        _A,			_A     =							power_iteration(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				)

        # Numpy implementation.

        # Get eigenvalues and eigenvectors using built-in numpy
        # eigh (eigh used for symmetric or hermetian matrices).
        _A,			_A     =							np.linalg.eigh(_SCREAMING_SNAKE_CASE				)
        # Last eigenvalue is the maximum one.
        _A     =							eigen_values[-1]
        # Last column in this matrix is eigenvector corresponding to largest eigenvalue.
        _A     =							eigen_vectors[:, -1]

        # Check our implementation and numpy gives close answers.
        assert np.abs(eigen_value - eigen_value_max				) <= 1e-6
        # Take absolute values element wise of each eigenvector.
        # as they are only unique to a minus sign.
        assert np.linalg.norm(np.abs(_SCREAMING_SNAKE_CASE				) - np.abs(_SCREAMING_SNAKE_CASE				)				) <= 1e-6


if __name__ == "__main__":
 import doctest

 doctest.testmod()
 test_power_iteration()












import json
import os
from pathlib import Path

import pytest

from datasets.download.download_config import DownloadConfig
from datasets.download.download_manager import DownloadManager
from datasets.utils.file_utils import hash_url_to_filename


__A							:			List[Any]         =			"http://www.mocksite.com/file1.txt"
__A							:			List[Any]         =			"\"text\": [\"foo\", \"foo\"]"
__A							:			Dict         =			"6d8ce9aa78a471c7477201efbeabd3bb01ac2e7d100a6dc024ba1608361f90a8"







class      lowerCamelCase:
     '''simple docstring'''


     __magic_name__   =			200
     __magic_name__   =			{'Content-Length': '100'}
     __magic_name__   =			{}




     def        lowerCAmelCase__		(    self				,     **snake_case_							):
         return [bytes(snake_case_				,     'utf-8'							)]





def 				__lowerCAmelCase(       *_SCREAMING_SNAKE_CASE							,     **_SCREAMING_SNAKE_CASE				)							-> Optional[Any]:




    """simple docstring"""




    return MockResponse()





@pytest.mark.parametrize('urls_type'							,     [str, list, dict]				)
def 				__lowerCAmelCase(       _SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				)							-> str:




    """simple docstring"""




    import requests

    monkeypatch.setattr(_SCREAMING_SNAKE_CASE							,     'request'							,     _SCREAMING_SNAKE_CASE				)

    _A     =							URL
    if issubclass(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				):
        _A     =							url
    elif issubclass(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				):
        _A     =							[url]
    elif issubclass(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				):
        _A     =							{'train': url}
    _A     =							'dummy'
    _A     =							'downloads'
    _A     =							tmp_path
    _A     =							DownloadConfig(
        cache_dir=os.path.join(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				)							,     use_etag=_SCREAMING_SNAKE_CASE							,     )
    _A     =							DownloadManager(dataset_name=_SCREAMING_SNAKE_CASE							,     download_config=_SCREAMING_SNAKE_CASE				)
    _A     =							dl_manager.download(_SCREAMING_SNAKE_CASE				)
    _A     =							urls
    for downloaded_paths in [downloaded_paths]:
        if isinstance(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				):
            _A     =							[downloaded_paths]
            _A     =							[urls]
        elif isinstance(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				):
            assert "train" in downloaded_paths.keys()
            _A     =							downloaded_paths.values()
            _A     =							urls.values()
        assert downloaded_paths
        for downloaded_path, input_url in zip(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				):
            assert downloaded_path == dl_manager.downloaded_paths[input_url]
            _A     =							Path(_SCREAMING_SNAKE_CASE				)
            _A     =							downloaded_path.parts
            assert parts[-1] == HASH
            assert parts[-2] == cache_subdir
            assert downloaded_path.exists()
            _A     =							downloaded_path.read_text()
            assert content == CONTENT
            _A     =							downloaded_path.with_suffix('.json'				)
            assert metadata_downloaded_path.exists()
            _A     =							json.loads(metadata_downloaded_path.read_text()				)
            assert metadata_content == {"url": URL, "etag": None}





@pytest.mark.parametrize('paths_type'							,     [str, list, dict]				)
def 				__lowerCAmelCase(       _SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				)							-> Optional[Any]:




    """simple docstring"""




    _A     =							str(_SCREAMING_SNAKE_CASE				)
    if issubclass(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				):
        _A     =							filename
    elif issubclass(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				):
        _A     =							[filename]
    elif issubclass(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				):
        _A     =							{'train': filename}
    _A     =							'dummy'
    _A     =							xz_file.parent
    _A     =							'extracted'
    _A     =							DownloadConfig(
        cache_dir=_SCREAMING_SNAKE_CASE							,     use_etag=_SCREAMING_SNAKE_CASE							,     )
    _A     =							DownloadManager(dataset_name=_SCREAMING_SNAKE_CASE							,     download_config=_SCREAMING_SNAKE_CASE				)
    _A     =							dl_manager.extract(_SCREAMING_SNAKE_CASE				)
    _A     =							paths
    for extracted_paths in [extracted_paths]:
        if isinstance(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				):
            _A     =							[extracted_paths]
            _A     =							[paths]
        elif isinstance(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				):
            assert "train" in extracted_paths.keys()
            _A     =							extracted_paths.values()
            _A     =							paths.values()
        assert extracted_paths
        for extracted_path, input_path in zip(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				):
            assert extracted_path == dl_manager.extracted_paths[input_path]
            _A     =							Path(_SCREAMING_SNAKE_CASE				)
            _A     =							extracted_path.parts
            assert parts[-1] == hash_url_to_filename(_SCREAMING_SNAKE_CASE							,     etag=_SCREAMING_SNAKE_CASE				)
            assert parts[-2] == extracted_subdir
            assert extracted_path.exists()
            _A     =							extracted_path.read_text()
            _A     =							text_file.read_text()
            assert extracted_file_content == expected_file_content





def 				__lowerCAmelCase(       _SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				)							-> Dict:




    """simple docstring"""




    assert path.endswith('.jsonl'				)
    for num_items, line in enumerate(_SCREAMING_SNAKE_CASE							,     start=1				):
        _A     =							json.loads(line.decode('utf-8'				)				)
        assert item.keys() == {"col_1", "col_2", "col_3"}
    assert num_items == 4





@pytest.mark.parametrize('archive_jsonl'							,     ['tar_jsonl_path', 'zip_jsonl_path']				)
def 				__lowerCAmelCase(       _SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				)							-> Optional[int]:




    """simple docstring"""




    _A     =							request.getfixturevalue(_SCREAMING_SNAKE_CASE				)
    _A     =							DownloadManager()
    for num_jsonl, (path, file) in enumerate(dl_manager.iter_archive(_SCREAMING_SNAKE_CASE				)							,     start=1				):
        _test_jsonl(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				)
    assert num_jsonl == 2





@pytest.mark.parametrize('archive_nested_jsonl'							,     ['tar_nested_jsonl_path', 'zip_nested_jsonl_path']				)
def 				__lowerCAmelCase(       _SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				)							-> Any:




    """simple docstring"""




    _A     =							request.getfixturevalue(_SCREAMING_SNAKE_CASE				)
    _A     =							DownloadManager()
    for num_tar, (path, file) in enumerate(dl_manager.iter_archive(_SCREAMING_SNAKE_CASE				)							,     start=1				):
        for num_jsonl, (subpath, subfile) in enumerate(dl_manager.iter_archive(_SCREAMING_SNAKE_CASE				)							,     start=1				):
            _test_jsonl(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				)
    assert num_tar == 1
    assert num_jsonl == 2





def 				__lowerCAmelCase(       _SCREAMING_SNAKE_CASE				)							-> int:




    """simple docstring"""




    _A     =							DownloadManager()
    for num_file, file in enumerate(dl_manager.iter_files(_SCREAMING_SNAKE_CASE				)							,     start=1				):
        assert os.path.basename(_SCREAMING_SNAKE_CASE				) == ("test.txt" if num_file == 1 else "train.txt")
    assert num_file == 2





