Как найти конкретную матрицу путем генерации случайной матрицы

Современный Python (3.6+) с использованием модуля pathlib для краткой ООП-подобной обработки путей и pathlib.Path.rglob() для рекурсивного глобирования. Насколько я могу судить, это эквивалентно ответу Джорджа В. Рейли: молнии с сжатием, самый верхний элемент - это каталог, содержит пустые директории, использует относительные пути.

from pathlib import Path
from zipfile import ZIP_DEFLATED, ZipFile

from os import PathLike
from typing import Union


def zip_dir(zip_name: str, source_dir: Union[str, PathLike]):
    src_path = Path(source_dir).expanduser().resolve(strict=True)
    with ZipFile(zip_name, 'w', ZIP_DEFLATED) as zf:
        for file in src_path.rglob('*'):
            zf.write(file, file.relative_to(src_path.parent))

Примечание: как необязательные подсказки типа указывают, что zip_name не может быть объектом Path ( будет зафиксировано в 3.6.2 + ).

0
задан Mian Asbat Ahmad 4 March 2019 в 22:18
поделиться

1 ответ

Ответ делает это без рекурсии. Спасибо Г. Андерсону.

import numpy as np
import random
import pivot as p

condition = True
while(condition):
    matrices = np.random.rand(4, 4)
    print(matrices)
    u, s, v = np.linalg.svd(matrices, full_matrices=False)
    Rank = 0
    for i in range(len(s)):
        if s[i] < 0.01:
            s[i] = 0
            print(s)
            condition = False
0
ответ дан Mian Asbat Ahmad 4 March 2019 в 22:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: