From be8f3fba424c8249d5e8156ebf6ff7aca6dee495 Mon Sep 17 00:00:00 2001 From: Vitor Hideyoshi Date: Fri, 30 Sep 2022 03:24:18 -0300 Subject: [PATCH] Clears Repository Files and Adds Pipfile --- .gitignore | 2 + Older Versions/yoshi-seals1.2.1.tar.gz | Bin 25513 -> 0 bytes Older Versions/yoshi-seals1.2.1/LICENSE | 278 ------------------ Older Versions/yoshi-seals1.2.1/README.md | 53 ---- .../yoshi-seals1.2.1/Seals/Seals.py | 268 ----------------- .../yoshi-seals1.2.1/Seals/__init__.py | 23 -- .../Seals/__pycache__/Seals.cpython-37.pyc | Bin 4657 -> 0 bytes .../Seals/__pycache__/__init__.cpython-37.pyc | Bin 307 -> 0 bytes .../yoshi-seals1.2.1/build/lib/Seals/Seals.py | 268 ----------------- .../build/lib/Seals/__init__.py | 23 -- .../dist/yoshi-seals-1.2.1.tar.gz | Bin 3841 -> 0 bytes .../dist/yoshi-seals-1.2.tar.gz | Bin 3805 -> 0 bytes .../dist/yoshi_seals-1.2-py3-none-any.whl | Bin 10571 -> 0 bytes .../dist/yoshi_seals-1.2.1-py3-none-any.whl | Bin 10615 -> 0 bytes Older Versions/yoshi-seals1.2.1/setup.py | 27 -- .../yoshi_seals.egg-info/PKG-INFO | 69 ----- .../yoshi_seals.egg-info/SOURCES.txt | 9 - .../yoshi_seals.egg-info/dependency_links.txt | 1 - .../yoshi_seals.egg-info/requires.txt | 2 - .../yoshi_seals.egg-info/top_level.txt | 1 - Older Versions/yoshi-seals1.2.tar.gz | Bin 24970 -> 0 bytes Older Versions/yoshi-seals1.2/LICENSE | 278 ------------------ Older Versions/yoshi-seals1.2/README.md | 53 ---- Older Versions/yoshi-seals1.2/Seals/Seals.py | 260 ---------------- .../yoshi-seals1.2/Seals/__init__.py | 23 -- .../yoshi-seals1.2/build/lib/Seals/Seals.py | 260 ---------------- .../build/lib/Seals/__init__.py | 23 -- .../dist/yoshi-seals-1.2.tar.gz | Bin 3805 -> 0 bytes .../dist/yoshi_seals-1.2-py3-none-any.whl | Bin 10571 -> 0 bytes Older Versions/yoshi-seals1.2/setup.py | 27 -- .../yoshi_seals.egg-info/PKG-INFO | 69 ----- .../yoshi_seals.egg-info/SOURCES.txt | 9 - .../yoshi_seals.egg-info/dependency_links.txt | 1 - .../yoshi_seals.egg-info/requires.txt | 2 - .../yoshi_seals.egg-info/top_level.txt | 1 - Older Versions/yoshi-seals1.3.1.tar.xz | Bin 34124 -> 0 bytes .../yoshi-seals1.3.1/.vscode/settings.json | 3 - Older Versions/yoshi-seals1.3.1/LICENSE | 278 ------------------ Older Versions/yoshi-seals1.3.1/README.md | 55 ---- .../Seals/__pycache__/__init__.cpython-37.pyc | Bin 184 -> 0 bytes .../eigen/__pycache__/__init__.cpython-37.pyc | Bin 218 -> 0 bytes .../eigen/__pycache__/eigen.cpython-37.pyc | Bin 650 -> 0 bytes .../yoshi-seals1.3.1/Seals/eigen/eigen.py | 51 ---- .../__pycache__/__init__.cpython-37.pyc | Bin 257 -> 0 bytes .../insert/__pycache__/insert.cpython-37.pyc | Bin 688 -> 0 bytes .../yoshi-seals1.3.1/Seals/insert/insert.py | 46 --- .../__pycache__/__init__.cpython-37.pyc | Bin 386 -> 0 bytes .../__pycache__/process.cpython-37.pyc | Bin 2597 -> 0 bytes .../yoshi-seals1.3.1/Seals/process/process.py | 203 ------------- .../scan/__pycache__/__init__.cpython-37.pyc | Bin 260 -> 0 bytes .../scan/__pycache__/scan.cpython-37.pyc | Bin 641 -> 0 bytes .../yoshi-seals1.3.1/Seals/scan/scan.py | 45 --- .../write/__pycache__/__init__.cpython-37.pyc | Bin 262 -> 0 bytes .../write/__pycache__/write.cpython-37.pyc | Bin 596 -> 0 bytes .../yoshi-seals1.3.1/Seals/write/write.py | 33 --- .../build/lib/Seals/__init__.py | 18 -- .../build/lib/Seals/eigen/__init__.py | 20 -- .../build/lib/Seals/eigen/eigen.py | 51 ---- .../build/lib/Seals/insert/__init__.py | 21 -- .../build/lib/Seals/insert/insert.py | 46 --- .../build/lib/Seals/process/__init__.py | 25 -- .../build/lib/Seals/process/process.py | 203 ------------- .../build/lib/Seals/scan/__init__.py | 21 -- .../build/lib/Seals/scan/scan.py | 45 --- .../build/lib/Seals/write/__init__.py | 21 -- .../build/lib/Seals/write/write.py | 33 --- .../dist/yoshi-seals-1.3.tar.gz | Bin 5719 -> 0 bytes .../dist/yoshi_seals-1.3-py3-none-any.whl | Bin 17403 -> 0 bytes Older Versions/yoshi-seals1.3.1/setup.py | 27 -- .../yoshi_seals.egg-info/PKG-INFO | 71 ----- .../yoshi_seals.egg-info/SOURCES.txt | 18 -- .../yoshi_seals.egg-info/dependency_links.txt | 1 - .../yoshi_seals.egg-info/requires.txt | 2 - .../yoshi_seals.egg-info/top_level.txt | 1 - Older Versions/yoshi-seals1.3.2.tar.xz | Bin 35308 -> 0 bytes .../yoshi-seals1.3.2/.vscode/launch.json | 15 - .../yoshi-seals1.3.2/.vscode/settings.json | 3 - Older Versions/yoshi-seals1.3.2/LICENSE | 278 ------------------ Older Versions/yoshi-seals1.3.2/README.md | 55 ---- .../yoshi-seals1.3.2/Seals/__init__.py | 18 -- .../Seals/__pycache__/__init__.cpython-37.pyc | Bin 184 -> 0 bytes .../yoshi-seals1.3.2/Seals/eigen/__init__.py | 20 -- .../eigen/__pycache__/__init__.cpython-37.pyc | Bin 218 -> 0 bytes .../eigen/__pycache__/eigen.cpython-37.pyc | Bin 650 -> 0 bytes .../yoshi-seals1.3.2/Seals/eigen/eigen.py | 71 ----- .../yoshi-seals1.3.2/Seals/insert/__init__.py | 21 -- .../__pycache__/__init__.cpython-37.pyc | Bin 257 -> 0 bytes .../insert/__pycache__/insert.cpython-37.pyc | Bin 688 -> 0 bytes .../Seals/process/__init__.py | 25 -- .../__pycache__/__init__.cpython-37.pyc | Bin 386 -> 0 bytes .../__pycache__/process.cpython-37.pyc | Bin 2597 -> 0 bytes .../yoshi-seals1.3.2/Seals/process/process.py | 203 ------------- .../yoshi-seals1.3.2/Seals/scan/__init__.py | 21 -- .../scan/__pycache__/__init__.cpython-37.pyc | Bin 260 -> 0 bytes .../scan/__pycache__/scan.cpython-37.pyc | Bin 641 -> 0 bytes .../yoshi-seals1.3.2/Seals/write/__init__.py | 21 -- .../write/__pycache__/__init__.cpython-37.pyc | Bin 262 -> 0 bytes .../write/__pycache__/write.cpython-37.pyc | Bin 596 -> 0 bytes .../build/lib/Seals/__init__.py | 18 -- .../build/lib/Seals/eigen/__init__.py | 20 -- .../build/lib/Seals/eigen/eigen.py | 71 ----- .../build/lib/Seals/insert/__init__.py | 21 -- .../build/lib/Seals/insert/insert.py | 46 --- .../build/lib/Seals/process/__init__.py | 25 -- .../build/lib/Seals/process/process.py | 203 ------------- .../build/lib/Seals/scan/__init__.py | 21 -- .../build/lib/Seals/scan/scan.py | 45 --- .../build/lib/Seals/write/__init__.py | 21 -- .../build/lib/Seals/write/write.py | 33 --- .../dist/yoshi-seals-1.3.2.tar.gz | Bin 6308 -> 0 bytes .../dist/yoshi_seals-1.3.2-py3-none-any.whl | Bin 17612 -> 0 bytes Older Versions/yoshi-seals1.3.2/setup.py | 27 -- .../yoshi_seals.egg-info/PKG-INFO | 71 ----- .../yoshi_seals.egg-info/SOURCES.txt | 18 -- .../yoshi_seals.egg-info/dependency_links.txt | 1 - .../yoshi_seals.egg-info/requires.txt | 2 - .../yoshi_seals.egg-info/top_level.txt | 1 - Older Versions/yoshi-seals1.3.3.tar.xz | Bin 34960 -> 0 bytes .../yoshi-seals1.3.3/.vscode/launch.json | 15 - .../yoshi-seals1.3.3/.vscode/settings.json | 3 - Older Versions/yoshi-seals1.3.3/LICENSE | 278 ------------------ Older Versions/yoshi-seals1.3.3/README.md | 55 ---- .../yoshi-seals1.3.3/Seals/__init__.py | 18 -- .../Seals/__pycache__/__init__.cpython-37.pyc | Bin 184 -> 0 bytes .../yoshi-seals1.3.3/Seals/eigen/__init__.py | 20 -- .../eigen/__pycache__/__init__.cpython-37.pyc | Bin 218 -> 0 bytes .../eigen/__pycache__/eigen.cpython-37.pyc | Bin 650 -> 0 bytes .../yoshi-seals1.3.3/Seals/insert/__init__.py | 21 -- .../__pycache__/__init__.cpython-37.pyc | Bin 257 -> 0 bytes .../insert/__pycache__/insert.cpython-37.pyc | Bin 688 -> 0 bytes .../yoshi-seals1.3.3/Seals/insert/insert.py | 46 --- .../Seals/process/__init__.py | 25 -- .../__pycache__/__init__.cpython-37.pyc | Bin 386 -> 0 bytes .../__pycache__/process.cpython-37.pyc | Bin 2597 -> 0 bytes .../yoshi-seals1.3.3/Seals/process/process.py | 203 ------------- .../yoshi-seals1.3.3/Seals/scan/__init__.py | 21 -- .../scan/__pycache__/__init__.cpython-37.pyc | Bin 260 -> 0 bytes .../scan/__pycache__/__init__.cpython-38.pyc | Bin 266 -> 0 bytes .../scan/__pycache__/scan.cpython-37.pyc | Bin 641 -> 0 bytes .../scan/__pycache__/scan.cpython-38.pyc | Bin 587 -> 0 bytes .../yoshi-seals1.3.3/Seals/scan/scan.py | 39 --- .../yoshi-seals1.3.3/Seals/write/__init__.py | 24 -- .../write/__pycache__/__init__.cpython-37.pyc | Bin 262 -> 0 bytes .../write/__pycache__/__init__.cpython-38.pyc | Bin 284 -> 0 bytes .../write/__pycache__/write.cpython-37.pyc | Bin 596 -> 0 bytes .../write/__pycache__/write.cpython-38.pyc | Bin 1558 -> 0 bytes .../yoshi-seals1.3.3/Seals/write/write.py | 51 ---- .../build/lib/Seals/__init__.py | 18 -- .../build/lib/Seals/eigen/__init__.py | 20 -- .../build/lib/Seals/eigen/eigen.py | 64 ---- .../build/lib/Seals/insert/__init__.py | 21 -- .../build/lib/Seals/insert/insert.py | 46 --- .../build/lib/Seals/process/__init__.py | 25 -- .../build/lib/Seals/process/process.py | 203 ------------- .../build/lib/Seals/scan/__init__.py | 21 -- .../build/lib/Seals/scan/scan.py | 45 --- .../build/lib/Seals/write/__init__.py | 21 -- .../build/lib/Seals/write/write.py | 33 --- .../dist/yoshi-seals-1.3.3.tar.gz | Bin 6236 -> 0 bytes .../dist/yoshi_seals-1.3.3-py3-none-any.whl | Bin 17566 -> 0 bytes Older Versions/yoshi-seals1.3.3/setup.py | 26 -- .../yoshi_seals.egg-info/PKG-INFO | 70 ----- .../yoshi_seals.egg-info/SOURCES.txt | 18 -- .../yoshi_seals.egg-info/dependency_links.txt | 1 - .../yoshi_seals.egg-info/requires.txt | 2 - .../yoshi_seals.egg-info/top_level.txt | 1 - Older Versions/yoshi-seals1.3.tar.xz | Bin 33748 -> 0 bytes Older Versions/yoshi-seals1.3/LICENSE | 278 ------------------ Older Versions/yoshi-seals1.3/README.md | 55 ---- .../yoshi-seals1.3/Seals/__init__.py | 18 -- .../Seals/__pycache__/__init__.cpython-37.pyc | Bin 184 -> 0 bytes .../yoshi-seals1.3/Seals/eigen/__init__.py | 20 -- .../eigen/__pycache__/__init__.cpython-37.pyc | Bin 218 -> 0 bytes .../eigen/__pycache__/eigen.cpython-37.pyc | Bin 650 -> 0 bytes .../yoshi-seals1.3/Seals/eigen/eigen.py | 51 ---- .../yoshi-seals1.3/Seals/insert/__init__.py | 21 -- .../__pycache__/__init__.cpython-37.pyc | Bin 257 -> 0 bytes .../insert/__pycache__/insert.cpython-37.pyc | Bin 688 -> 0 bytes .../yoshi-seals1.3/Seals/insert/insert.py | 46 --- .../yoshi-seals1.3/Seals/process/__init__.py | 25 -- .../__pycache__/__init__.cpython-37.pyc | Bin 386 -> 0 bytes .../__pycache__/process.cpython-37.pyc | Bin 2597 -> 0 bytes .../yoshi-seals1.3/Seals/process/process.py | 203 ------------- .../yoshi-seals1.3/Seals/scan/__init__.py | 21 -- .../scan/__pycache__/__init__.cpython-37.pyc | Bin 260 -> 0 bytes .../scan/__pycache__/scan.cpython-37.pyc | Bin 641 -> 0 bytes .../yoshi-seals1.3/Seals/scan/scan.py | 45 --- .../yoshi-seals1.3/Seals/write/__init__.py | 21 -- .../write/__pycache__/__init__.cpython-37.pyc | Bin 262 -> 0 bytes .../write/__pycache__/write.cpython-37.pyc | Bin 596 -> 0 bytes .../yoshi-seals1.3/Seals/write/write.py | 33 --- .../build/lib/Seals/__init__.py | 18 -- .../build/lib/Seals/eigen/__init__.py | 20 -- .../build/lib/Seals/eigen/eigen.py | 51 ---- .../build/lib/Seals/insert/__init__.py | 21 -- .../build/lib/Seals/insert/insert.py | 46 --- .../build/lib/Seals/process/__init__.py | 25 -- .../build/lib/Seals/process/process.py | 203 ------------- .../build/lib/Seals/scan/__init__.py | 21 -- .../build/lib/Seals/scan/scan.py | 45 --- .../build/lib/Seals/write/__init__.py | 21 -- .../build/lib/Seals/write/write.py | 33 --- .../dist/yoshi-seals-1.3.tar.gz | Bin 5670 -> 0 bytes .../dist/yoshi_seals-1.3-py3-none-any.whl | Bin 17369 -> 0 bytes Older Versions/yoshi-seals1.3/setup.py | 27 -- .../yoshi_seals.egg-info/PKG-INFO | 71 ----- .../yoshi_seals.egg-info/SOURCES.txt | 18 -- .../yoshi_seals.egg-info/dependency_links.txt | 1 - .../yoshi_seals.egg-info/requires.txt | 2 - .../yoshi_seals.egg-info/top_level.txt | 1 - Pipfile | 13 + Pipfile.lock | 111 +++++++ Source Code - Seals/__init__.py | 18 -- .../__pycache__/__init__.cpython-37.pyc | Bin 184 -> 0 bytes Source Code - Seals/eigen/__init__.py | 20 -- .../eigen/__pycache__/__init__.cpython-37.pyc | Bin 218 -> 0 bytes .../eigen/__pycache__/eigen.cpython-37.pyc | Bin 650 -> 0 bytes Source Code - Seals/eigen/eigen.py | 64 ---- Source Code - Seals/insert/__init__.py | 21 -- .../__pycache__/__init__.cpython-37.pyc | Bin 257 -> 0 bytes .../insert/__pycache__/insert.cpython-37.pyc | Bin 688 -> 0 bytes Source Code - Seals/insert/insert.py | 46 --- Source Code - Seals/process/__init__.py | 25 -- .../__pycache__/__init__.cpython-37.pyc | Bin 386 -> 0 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 389 -> 0 bytes .../__pycache__/process.cpython-37.pyc | Bin 2597 -> 0 bytes .../__pycache__/process.cpython-38.pyc | Bin 3046 -> 0 bytes Source Code - Seals/scan/__init__.py | 21 -- .../scan/__pycache__/__init__.cpython-37.pyc | Bin 260 -> 0 bytes .../scan/__pycache__/scan.cpython-37.pyc | Bin 641 -> 0 bytes Source Code - Seals/scan/scan.py | 45 --- Source Code - Seals/write/__init__.py | 21 -- .../write/__pycache__/__init__.cpython-37.pyc | Bin 262 -> 0 bytes .../write/__pycache__/write.cpython-37.pyc | Bin 596 -> 0 bytes Source Code - Seals/write/write.py | 33 --- .../Seals => yoshi-seals}/__init__.py | 0 .../Seals => yoshi-seals}/eigen/__init__.py | 0 .../Seals => yoshi-seals}/eigen/eigen.py | 2 +- .../Seals => yoshi-seals}/insert/__init__.py | 0 .../Seals => yoshi-seals}/insert/insert.py | 6 +- .../Seals => yoshi-seals}/process/__init__.py | 0 .../process/process.py | 12 +- .../Seals => yoshi-seals}/scan/__init__.py | 0 .../Seals => yoshi-seals}/scan/scan.py | 4 +- .../Seals => yoshi-seals}/write/__init__.py | 0 .../Seals => yoshi-seals}/write/write.py | 6 +- yoshi-seals1.3.3-1.tar.xz | Bin 32888 -> 0 bytes yoshi-seals1.3.3-1/LICENSE | 278 ------------------ yoshi-seals1.3.3-1/README.md | 55 ---- yoshi-seals1.3.3-1/Seals/__init__.py | 18 -- yoshi-seals1.3.3-1/Seals/eigen/__init__.py | 20 -- yoshi-seals1.3.3-1/Seals/eigen/eigen.py | 64 ---- yoshi-seals1.3.3-1/Seals/insert/__init__.py | 21 -- yoshi-seals1.3.3-1/Seals/insert/insert.py | 46 --- yoshi-seals1.3.3-1/Seals/process/__init__.py | 25 -- yoshi-seals1.3.3-1/Seals/process/process.py | 239 --------------- yoshi-seals1.3.3-1/Seals/scan/__init__.py | 21 -- yoshi-seals1.3.3-1/Seals/scan/scan.py | 45 --- yoshi-seals1.3.3-1/Seals/write/__init__.py | 21 -- yoshi-seals1.3.3-1/Seals/write/write.py | 33 --- .../build/lib/Seals/__init__.py | 18 -- .../build/lib/Seals/eigen/__init__.py | 20 -- .../build/lib/Seals/eigen/eigen.py | 64 ---- .../build/lib/Seals/insert/__init__.py | 21 -- .../build/lib/Seals/insert/insert.py | 46 --- .../build/lib/Seals/process/__init__.py | 25 -- .../build/lib/Seals/process/process.py | 239 --------------- .../build/lib/Seals/scan/__init__.py | 21 -- .../build/lib/Seals/scan/scan.py | 45 --- .../build/lib/Seals/write/__init__.py | 21 -- .../build/lib/Seals/write/write.py | 33 --- .../dist/yoshi-seals-1.3.3.post1.tar.gz | Bin 6537 -> 0 bytes .../yoshi_seals-1.3.3.post1-py3-none-any.whl | Bin 17874 -> 0 bytes yoshi-seals1.3.3-1/setup.py | 26 -- .../yoshi_seals.egg-info/PKG-INFO | 70 ----- .../yoshi_seals.egg-info/SOURCES.txt | 18 -- .../yoshi_seals.egg-info/dependency_links.txt | 1 - .../yoshi_seals.egg-info/requires.txt | 2 - .../yoshi_seals.egg-info/top_level.txt | 1 - 279 files changed, 143 insertions(+), 9560 deletions(-) create mode 100644 .gitignore delete mode 100644 Older Versions/yoshi-seals1.2.1.tar.gz delete mode 100644 Older Versions/yoshi-seals1.2.1/LICENSE delete mode 100644 Older Versions/yoshi-seals1.2.1/README.md delete mode 100755 Older Versions/yoshi-seals1.2.1/Seals/Seals.py delete mode 100644 Older Versions/yoshi-seals1.2.1/Seals/__init__.py delete mode 100644 Older Versions/yoshi-seals1.2.1/Seals/__pycache__/Seals.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.2.1/Seals/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.2.1/build/lib/Seals/Seals.py delete mode 100644 Older Versions/yoshi-seals1.2.1/build/lib/Seals/__init__.py delete mode 100644 Older Versions/yoshi-seals1.2.1/dist/yoshi-seals-1.2.1.tar.gz delete mode 100644 Older Versions/yoshi-seals1.2.1/dist/yoshi-seals-1.2.tar.gz delete mode 100644 Older Versions/yoshi-seals1.2.1/dist/yoshi_seals-1.2-py3-none-any.whl delete mode 100644 Older Versions/yoshi-seals1.2.1/dist/yoshi_seals-1.2.1-py3-none-any.whl delete mode 100644 Older Versions/yoshi-seals1.2.1/setup.py delete mode 100644 Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/PKG-INFO delete mode 100644 Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/SOURCES.txt delete mode 100644 Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/dependency_links.txt delete mode 100644 Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/requires.txt delete mode 100644 Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/top_level.txt delete mode 100644 Older Versions/yoshi-seals1.2.tar.gz delete mode 100644 Older Versions/yoshi-seals1.2/LICENSE delete mode 100644 Older Versions/yoshi-seals1.2/README.md delete mode 100755 Older Versions/yoshi-seals1.2/Seals/Seals.py delete mode 100644 Older Versions/yoshi-seals1.2/Seals/__init__.py delete mode 100644 Older Versions/yoshi-seals1.2/build/lib/Seals/Seals.py delete mode 100644 Older Versions/yoshi-seals1.2/build/lib/Seals/__init__.py delete mode 100644 Older Versions/yoshi-seals1.2/dist/yoshi-seals-1.2.tar.gz delete mode 100644 Older Versions/yoshi-seals1.2/dist/yoshi_seals-1.2-py3-none-any.whl delete mode 100644 Older Versions/yoshi-seals1.2/setup.py delete mode 100644 Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/PKG-INFO delete mode 100644 Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/SOURCES.txt delete mode 100644 Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/dependency_links.txt delete mode 100644 Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/requires.txt delete mode 100644 Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/top_level.txt delete mode 100644 Older Versions/yoshi-seals1.3.1.tar.xz delete mode 100644 Older Versions/yoshi-seals1.3.1/.vscode/settings.json delete mode 100644 Older Versions/yoshi-seals1.3.1/LICENSE delete mode 100644 Older Versions/yoshi-seals1.3.1/README.md delete mode 100644 Older Versions/yoshi-seals1.3.1/Seals/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.1/Seals/eigen/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.1/Seals/eigen/__pycache__/eigen.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.1/Seals/eigen/eigen.py delete mode 100644 Older Versions/yoshi-seals1.3.1/Seals/insert/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.1/Seals/insert/__pycache__/insert.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.1/Seals/insert/insert.py delete mode 100644 Older Versions/yoshi-seals1.3.1/Seals/process/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.1/Seals/process/__pycache__/process.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.1/Seals/process/process.py delete mode 100644 Older Versions/yoshi-seals1.3.1/Seals/scan/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.1/Seals/scan/__pycache__/scan.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.1/Seals/scan/scan.py delete mode 100644 Older Versions/yoshi-seals1.3.1/Seals/write/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.1/Seals/write/__pycache__/write.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.1/Seals/write/write.py delete mode 100644 Older Versions/yoshi-seals1.3.1/build/lib/Seals/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.1/build/lib/Seals/eigen/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.1/build/lib/Seals/eigen/eigen.py delete mode 100644 Older Versions/yoshi-seals1.3.1/build/lib/Seals/insert/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.1/build/lib/Seals/insert/insert.py delete mode 100644 Older Versions/yoshi-seals1.3.1/build/lib/Seals/process/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.1/build/lib/Seals/process/process.py delete mode 100644 Older Versions/yoshi-seals1.3.1/build/lib/Seals/scan/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.1/build/lib/Seals/scan/scan.py delete mode 100644 Older Versions/yoshi-seals1.3.1/build/lib/Seals/write/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.1/build/lib/Seals/write/write.py delete mode 100644 Older Versions/yoshi-seals1.3.1/dist/yoshi-seals-1.3.tar.gz delete mode 100644 Older Versions/yoshi-seals1.3.1/dist/yoshi_seals-1.3-py3-none-any.whl delete mode 100644 Older Versions/yoshi-seals1.3.1/setup.py delete mode 100644 Older Versions/yoshi-seals1.3.1/yoshi_seals.egg-info/PKG-INFO delete mode 100644 Older Versions/yoshi-seals1.3.1/yoshi_seals.egg-info/SOURCES.txt delete mode 100644 Older Versions/yoshi-seals1.3.1/yoshi_seals.egg-info/dependency_links.txt delete mode 100644 Older Versions/yoshi-seals1.3.1/yoshi_seals.egg-info/requires.txt delete mode 100644 Older Versions/yoshi-seals1.3.1/yoshi_seals.egg-info/top_level.txt delete mode 100644 Older Versions/yoshi-seals1.3.2.tar.xz delete mode 100644 Older Versions/yoshi-seals1.3.2/.vscode/launch.json delete mode 100644 Older Versions/yoshi-seals1.3.2/.vscode/settings.json delete mode 100644 Older Versions/yoshi-seals1.3.2/LICENSE delete mode 100644 Older Versions/yoshi-seals1.3.2/README.md delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/eigen/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/eigen/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/eigen/__pycache__/eigen.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/eigen/eigen.py delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/insert/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/insert/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/insert/__pycache__/insert.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/process/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/process/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/process/__pycache__/process.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/process/process.py delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/scan/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/scan/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/scan/__pycache__/scan.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/write/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/write/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.2/Seals/write/__pycache__/write.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.2/build/lib/Seals/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.2/build/lib/Seals/eigen/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.2/build/lib/Seals/eigen/eigen.py delete mode 100644 Older Versions/yoshi-seals1.3.2/build/lib/Seals/insert/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.2/build/lib/Seals/insert/insert.py delete mode 100644 Older Versions/yoshi-seals1.3.2/build/lib/Seals/process/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.2/build/lib/Seals/process/process.py delete mode 100644 Older Versions/yoshi-seals1.3.2/build/lib/Seals/scan/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.2/build/lib/Seals/scan/scan.py delete mode 100644 Older Versions/yoshi-seals1.3.2/build/lib/Seals/write/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.2/build/lib/Seals/write/write.py delete mode 100644 Older Versions/yoshi-seals1.3.2/dist/yoshi-seals-1.3.2.tar.gz delete mode 100644 Older Versions/yoshi-seals1.3.2/dist/yoshi_seals-1.3.2-py3-none-any.whl delete mode 100644 Older Versions/yoshi-seals1.3.2/setup.py delete mode 100644 Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/PKG-INFO delete mode 100644 Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/SOURCES.txt delete mode 100644 Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/dependency_links.txt delete mode 100644 Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/requires.txt delete mode 100644 Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/top_level.txt delete mode 100644 Older Versions/yoshi-seals1.3.3.tar.xz delete mode 100644 Older Versions/yoshi-seals1.3.3/.vscode/launch.json delete mode 100644 Older Versions/yoshi-seals1.3.3/.vscode/settings.json delete mode 100644 Older Versions/yoshi-seals1.3.3/LICENSE delete mode 100644 Older Versions/yoshi-seals1.3.3/README.md delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/eigen/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/eigen/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/eigen/__pycache__/eigen.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/insert/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/insert/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/insert/__pycache__/insert.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/insert/insert.py delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/process/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/process/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/process/__pycache__/process.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/process/process.py delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/scan/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/scan/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/scan/__pycache__/__init__.cpython-38.pyc delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/scan/__pycache__/scan.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/scan/__pycache__/scan.cpython-38.pyc delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/scan/scan.py delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/write/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/write/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/write/__pycache__/__init__.cpython-38.pyc delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/write/__pycache__/write.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/write/__pycache__/write.cpython-38.pyc delete mode 100644 Older Versions/yoshi-seals1.3.3/Seals/write/write.py delete mode 100644 Older Versions/yoshi-seals1.3.3/build/lib/Seals/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.3/build/lib/Seals/eigen/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.3/build/lib/Seals/eigen/eigen.py delete mode 100644 Older Versions/yoshi-seals1.3.3/build/lib/Seals/insert/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.3/build/lib/Seals/insert/insert.py delete mode 100644 Older Versions/yoshi-seals1.3.3/build/lib/Seals/process/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.3/build/lib/Seals/process/process.py delete mode 100644 Older Versions/yoshi-seals1.3.3/build/lib/Seals/scan/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.3/build/lib/Seals/scan/scan.py delete mode 100644 Older Versions/yoshi-seals1.3.3/build/lib/Seals/write/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3.3/build/lib/Seals/write/write.py delete mode 100644 Older Versions/yoshi-seals1.3.3/dist/yoshi-seals-1.3.3.tar.gz delete mode 100644 Older Versions/yoshi-seals1.3.3/dist/yoshi_seals-1.3.3-py3-none-any.whl delete mode 100644 Older Versions/yoshi-seals1.3.3/setup.py delete mode 100644 Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/PKG-INFO delete mode 100644 Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/SOURCES.txt delete mode 100644 Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/dependency_links.txt delete mode 100644 Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/requires.txt delete mode 100644 Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/top_level.txt delete mode 100644 Older Versions/yoshi-seals1.3.tar.xz delete mode 100644 Older Versions/yoshi-seals1.3/LICENSE delete mode 100644 Older Versions/yoshi-seals1.3/README.md delete mode 100644 Older Versions/yoshi-seals1.3/Seals/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3/Seals/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3/Seals/eigen/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3/Seals/eigen/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3/Seals/eigen/__pycache__/eigen.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3/Seals/eigen/eigen.py delete mode 100644 Older Versions/yoshi-seals1.3/Seals/insert/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3/Seals/insert/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3/Seals/insert/__pycache__/insert.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3/Seals/insert/insert.py delete mode 100644 Older Versions/yoshi-seals1.3/Seals/process/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3/Seals/process/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3/Seals/process/__pycache__/process.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3/Seals/process/process.py delete mode 100644 Older Versions/yoshi-seals1.3/Seals/scan/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3/Seals/scan/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3/Seals/scan/__pycache__/scan.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3/Seals/scan/scan.py delete mode 100644 Older Versions/yoshi-seals1.3/Seals/write/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3/Seals/write/__pycache__/__init__.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3/Seals/write/__pycache__/write.cpython-37.pyc delete mode 100644 Older Versions/yoshi-seals1.3/Seals/write/write.py delete mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/eigen/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/eigen/eigen.py delete mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/insert/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/insert/insert.py delete mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/process/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/process/process.py delete mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/scan/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/scan/scan.py delete mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/write/__init__.py delete mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/write/write.py delete mode 100644 Older Versions/yoshi-seals1.3/dist/yoshi-seals-1.3.tar.gz delete mode 100644 Older Versions/yoshi-seals1.3/dist/yoshi_seals-1.3-py3-none-any.whl delete mode 100644 Older Versions/yoshi-seals1.3/setup.py delete mode 100644 Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/PKG-INFO delete mode 100644 Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/SOURCES.txt delete mode 100644 Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/dependency_links.txt delete mode 100644 Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/requires.txt delete mode 100644 Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/top_level.txt create mode 100644 Pipfile create mode 100644 Pipfile.lock delete mode 100644 Source Code - Seals/__init__.py delete mode 100644 Source Code - Seals/__pycache__/__init__.cpython-37.pyc delete mode 100644 Source Code - Seals/eigen/__init__.py delete mode 100644 Source Code - Seals/eigen/__pycache__/__init__.cpython-37.pyc delete mode 100644 Source Code - Seals/eigen/__pycache__/eigen.cpython-37.pyc delete mode 100644 Source Code - Seals/eigen/eigen.py delete mode 100644 Source Code - Seals/insert/__init__.py delete mode 100644 Source Code - Seals/insert/__pycache__/__init__.cpython-37.pyc delete mode 100644 Source Code - Seals/insert/__pycache__/insert.cpython-37.pyc delete mode 100644 Source Code - Seals/insert/insert.py delete mode 100644 Source Code - Seals/process/__init__.py delete mode 100644 Source Code - Seals/process/__pycache__/__init__.cpython-37.pyc delete mode 100644 Source Code - Seals/process/__pycache__/__init__.cpython-38.pyc delete mode 100644 Source Code - Seals/process/__pycache__/process.cpython-37.pyc delete mode 100644 Source Code - Seals/process/__pycache__/process.cpython-38.pyc delete mode 100644 Source Code - Seals/scan/__init__.py delete mode 100644 Source Code - Seals/scan/__pycache__/__init__.cpython-37.pyc delete mode 100644 Source Code - Seals/scan/__pycache__/scan.cpython-37.pyc delete mode 100644 Source Code - Seals/scan/scan.py delete mode 100644 Source Code - Seals/write/__init__.py delete mode 100644 Source Code - Seals/write/__pycache__/__init__.cpython-37.pyc delete mode 100644 Source Code - Seals/write/__pycache__/write.cpython-37.pyc delete mode 100644 Source Code - Seals/write/write.py rename {Older Versions/yoshi-seals1.3.1/Seals => yoshi-seals}/__init__.py (100%) rename {Older Versions/yoshi-seals1.3.1/Seals => yoshi-seals}/eigen/__init__.py (100%) rename {Older Versions/yoshi-seals1.3.3/Seals => yoshi-seals}/eigen/eigen.py (97%) rename {Older Versions/yoshi-seals1.3.1/Seals => yoshi-seals}/insert/__init__.py (100%) rename {Older Versions/yoshi-seals1.3.2/Seals => yoshi-seals}/insert/insert.py (92%) rename {Older Versions/yoshi-seals1.3.1/Seals => yoshi-seals}/process/__init__.py (100%) rename {Source Code - Seals => yoshi-seals}/process/process.py (94%) rename {Older Versions/yoshi-seals1.3.1/Seals => yoshi-seals}/scan/__init__.py (100%) rename {Older Versions/yoshi-seals1.3.2/Seals => yoshi-seals}/scan/scan.py (89%) rename {Older Versions/yoshi-seals1.3.1/Seals => yoshi-seals}/write/__init__.py (100%) rename {Older Versions/yoshi-seals1.3.2/Seals => yoshi-seals}/write/write.py (89%) delete mode 100644 yoshi-seals1.3.3-1.tar.xz delete mode 100644 yoshi-seals1.3.3-1/LICENSE delete mode 100644 yoshi-seals1.3.3-1/README.md delete mode 100644 yoshi-seals1.3.3-1/Seals/__init__.py delete mode 100644 yoshi-seals1.3.3-1/Seals/eigen/__init__.py delete mode 100644 yoshi-seals1.3.3-1/Seals/eigen/eigen.py delete mode 100644 yoshi-seals1.3.3-1/Seals/insert/__init__.py delete mode 100644 yoshi-seals1.3.3-1/Seals/insert/insert.py delete mode 100644 yoshi-seals1.3.3-1/Seals/process/__init__.py delete mode 100644 yoshi-seals1.3.3-1/Seals/process/process.py delete mode 100644 yoshi-seals1.3.3-1/Seals/scan/__init__.py delete mode 100644 yoshi-seals1.3.3-1/Seals/scan/scan.py delete mode 100644 yoshi-seals1.3.3-1/Seals/write/__init__.py delete mode 100644 yoshi-seals1.3.3-1/Seals/write/write.py delete mode 100644 yoshi-seals1.3.3-1/build/lib/Seals/__init__.py delete mode 100644 yoshi-seals1.3.3-1/build/lib/Seals/eigen/__init__.py delete mode 100644 yoshi-seals1.3.3-1/build/lib/Seals/eigen/eigen.py delete mode 100644 yoshi-seals1.3.3-1/build/lib/Seals/insert/__init__.py delete mode 100644 yoshi-seals1.3.3-1/build/lib/Seals/insert/insert.py delete mode 100644 yoshi-seals1.3.3-1/build/lib/Seals/process/__init__.py delete mode 100644 yoshi-seals1.3.3-1/build/lib/Seals/process/process.py delete mode 100644 yoshi-seals1.3.3-1/build/lib/Seals/scan/__init__.py delete mode 100644 yoshi-seals1.3.3-1/build/lib/Seals/scan/scan.py delete mode 100644 yoshi-seals1.3.3-1/build/lib/Seals/write/__init__.py delete mode 100644 yoshi-seals1.3.3-1/build/lib/Seals/write/write.py delete mode 100644 yoshi-seals1.3.3-1/dist/yoshi-seals-1.3.3.post1.tar.gz delete mode 100644 yoshi-seals1.3.3-1/dist/yoshi_seals-1.3.3.post1-py3-none-any.whl delete mode 100644 yoshi-seals1.3.3-1/setup.py delete mode 100644 yoshi-seals1.3.3-1/yoshi_seals.egg-info/PKG-INFO delete mode 100644 yoshi-seals1.3.3-1/yoshi_seals.egg-info/SOURCES.txt delete mode 100644 yoshi-seals1.3.3-1/yoshi_seals.egg-info/dependency_links.txt delete mode 100644 yoshi-seals1.3.3-1/yoshi_seals.egg-info/requires.txt delete mode 100644 yoshi-seals1.3.3-1/yoshi_seals.egg-info/top_level.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6f44278 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.pyc +.vscode \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.2.1.tar.gz b/Older Versions/yoshi-seals1.2.1.tar.gz deleted file mode 100644 index 5f77793df5f9353ce8c5ac8a61af239a3cbf2b5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25513 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%0D_@O}Z{wSa~EyikAx`T!vnz68oz%TkL9>y)`n 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 diff --git a/Older Versions/yoshi-seals1.2.1/LICENSE b/Older Versions/yoshi-seals1.2.1/LICENSE deleted file mode 100644 index d2c5abe..0000000 --- a/Older Versions/yoshi-seals1.2.1/LICENSE +++ /dev/null @@ -1,278 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.2.1/README.md b/Older Versions/yoshi-seals1.2.1/README.md deleted file mode 100644 index 3d00157..0000000 --- a/Older Versions/yoshi-seals1.2.1/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# Seals - Numeric Calculus - -This python package is made for applied Numeric Calculus of Linear Algebra. It is made with the following objectives in mind: - -* Scan *csv* files to make a numpy matrix. - -* Write a matrix into a *csv* file - -* Insert user input into a matrix or a vector. - -* Use methods to proccess the matrices. - * Identity Matrix - * Gauss Elimination - * Inverse Matrix - * Cholesky Decomposition - * LU Decomposition - * Cramer - -## Syntax - -The function *scan* has the following syntax `scan(path)`, where `path` is the path to your directory. - -The function *solution* has the following syntax `write(array,path)`, where `array` is the matrix that you desire to output and `path` is the path to your directory. - -The python class *Insert* has a method for *matrix* and another for *vector*, and it has the following syntax `Insert.method(array)`, where `Insert` is the *Python Class* and `method` is either a `matrix` or a `vector` and `array` is either a *matrix* or a *vector*. - -### Processes - -The python class *process* has all the methods described in the first session. - -To call the method use a syntax like `sl = Seals.process()`, where `sl` is an instance and to use a method you have to append the method in front of the instance like: `sl.identity(array)`. - -* The method *identity* returns a *numpy* identity matrix of the order of the matrix passed into to it, and it has the following syntax `sl.identity(array)`, which `array` is a square matrix. - -* The method *gauss* returns a *numpy* vector containing the vector of variables from the augmented matrix. `sl.gauss(matrix)`, which `matrix` is the augmented matrix. - -* The method *inverse* returns a *numpy* inverse matrix of the matrix passed into to it, and it has the following syntax `sl.inverse(matrix)`, which `matrix` is a square matrix. - -* The method *cholesky* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - -* The method *decomposition* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - -* The method *cramer* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - -## Installation - -To install the package from source `cd` into the directory and run: - -`pip install .` - -or run - -`pip install yoshi-seals` diff --git a/Older Versions/yoshi-seals1.2.1/Seals/Seals.py b/Older Versions/yoshi-seals1.2.1/Seals/Seals.py deleted file mode 100755 index d7e4e9b..0000000 --- a/Older Versions/yoshi-seals1.2.1/Seals/Seals.py +++ /dev/null @@ -1,268 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import numpy as np -import csv -import pandas as pd -import math - -class scan: - - def __init__(self): - pass - - def np(self, path): - - df=pd.read_csv(path, sep=';',decimal=",",header=None) - array = df.to_numpy() - - return array - - def pd(self, path): - return pd.read_csv(path, sep=';',decimal=",") - -def write(array, path): - - with open(path, mode='w') as sistema_linear: - - solution_writer = csv.writer(sistema_linear, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) - solution_writer.writerows(array) - - return array - -class insert: - - def __init__(self): - pass - - def matrix(self, matrix): - - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[1]): - - matrix[i][j] = float(input('Insira o elemento {}x{}: '.format((i+1),(j+1)))) - j += 1 - - i += 1 - - return matrix - - def vector(self, vector): - - j=0 - - while (j < vector.shape[0]): - - vector[j] = float(input('Insira o elemento b{}: '.format((j+1)))) - j += 1 - - return vector - -class process: - - def __init__(self): - pass - - def identity(self, matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[0]): - - if (i == j): - - matrix[i][j] = 1 - - elif (i != j): - - matrix[i][j] = 0 - - j += 1 - - i += 1 - - return matrix - - def gauss(self, matrix): - - i = 0 - k = 0 - - while (i < matrix.shape[0]): - - if (matrix[i][i] == 0): - - n = i - - while (matrix[i][i] == 0) and (n < matrix.shape[0]): - - temp = matrix[i].copy() - matrix[i] = matrix[n] - matrix[n] = temp - - n += 1 - - while (k < matrix.shape[0]): - - if (k == i) or (matrix[i][i] == 0): - - k += 1 - - else: - - mult = matrix[k][i]/matrix[i][i] - matrix[k] = matrix[k] - mult*matrix[i] - k += 1 - - i += 1 - k = 0 - - i = 0 - - while ((i) < matrix.shape[0]) and (matrix[i][i] != 0): - - matrix[i] = matrix[i]/matrix[i][i] - i += 1 - - return matrix[:,(matrix.shape[0]):] - - def inverse(self, matrix): - - return self.gauss(np.hstack((matrix, self.identity(np.zeros(matrix.shape))))) - - def cholesky(self, A, b): - - g = np.zeros((A.shape)) - - i = 0 - j = 0 - - while j < A.shape[1]: - while i < A.shape[0]: - - if i == 0 and j == 0: - - g[i][j] = math.sqrt(A[0][0]) - - elif j == 0: - - g[i][j] = A[i][0]/g[0][0] - - elif i == j: - - k = 0 - theta = 0 - - while k < i: - - theta += g[i][k]**2 - k += 1 - - g[i][j] = math.sqrt(A[i][i] - theta) - - else: - - k = 0 - theta = 0 - - while k < j: - - theta += g[i][k]*g[j][k] - k += 1 - - g[i][j] = (A[i][j] - theta)/g[j][j] - - i += 1 - - j += 1 - i = j - - y = (self.inverse(g)).dot(b) - - x = (self.inverse(g.T)).dot(y) - - return x - - def decomposition(self, U, b): - - L = self.identity(np.zeros(U.shape)) - - i = 0 - k = 0 - - while (i < U.shape[0]): - - k = 0 - - if (U[i][i] == 0): - - n = i - - while (U[i][i] == 0) and (n < U.shape[0]): - - temp = U[i].copy() - U[i] = U[n] - U[n] = temp - - n += 1 - - while (k < U.shape[0]): - - if (k <= i) or (U[i][i] == 0): - - k += 1 - - else: - L[k][i] = U[k][i]/U[i][i] - U[k] = U[k] - L[k][i]*U[i] - k += 1 - - i += 1 - - y = (self.inverse(L)).dot(b) - - x = (self.inverse(U)).dot(y) - - return x - - def cramer(self, A, b): - - x = np.vstack(np.zeros(b.shape)) - k = 0 - - while (k < A.shape[0]): - - temp = A.copy() - temp[:,k] = b - - x[k] = np.linalg.det(temp)/np.linalg.det(A) - - k += 1 - - return x diff --git a/Older Versions/yoshi-seals1.2.1/Seals/__init__.py b/Older Versions/yoshi-seals1.2.1/Seals/__init__.py deleted file mode 100644 index fd4284d..0000000 --- a/Older Versions/yoshi-seals1.2.1/Seals/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .Seals import process -from .Seals import insert -from .Seals import scan -from .Seals import write \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.2.1/Seals/__pycache__/Seals.cpython-37.pyc b/Older Versions/yoshi-seals1.2.1/Seals/__pycache__/Seals.cpython-37.pyc deleted file mode 100644 index fadc49c45fc7a926334338d95af48711cfbd5dae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4657 zcmbtY&668P6`$_;&}i8&HVavQ5Ef?%QDX1LCXiI(GEN*IrsBnkV>_ivMH#DSE$vD( z+Mdx`tBklf91X5iZXD27ae+U9;>>|Fr@4}giySym99&e2-+L|1YQ<84LRH=U=FOY# z_wjqLyY>3q+>C|a7cczngTJm=)?esh{Ifw^MoVs?Q>s*DyYya09nvEqtt`1DeAzFt z?op@EnzScj)_M`dgx2;0qo*!`uYGhCsmnwY^gz!NJ!fdrNY7JO1cKmfcArt9 zqc$rZ`8NvMVXc#tJB%N@?n6zQ(Xh!bdRsV{xoFEOvM zl9VIG*~(Wyq?U=y1NqCfflS3VVnYB0Wh)o4LX3t^W*rD&-3AEXw%)PcvoZpsx0#E3 zghuEavR599GYD2$g{@}0nTEPr-tER|SZ@TnS|Sp7thl)ocfu&Q5z5@Vr&)0B?VCS+ z_lLD>S2wR-d+n`i*|6h#2|`T4V24)clV*~J?V#3bMj_^0Na9vEZN^c}$WM7ZcbWYx zzE3Dhw!9mX)dqM(UJ;9MbR7x}*RyYQfBT zd`=PgIBpFPN(^N0gG^>(8}tcl$I^GevwN2^n|YFXw^ETJo*FSMJN}4)YjaS1~*bbvKUj1m$`)KgW zYQ@Rjq!Dz&+}&!$L7KbGsMAezZ!6aAART9_2U<6KxoGBMd)gaMV~OvhB@}VXcI2X@ zwkBrftnAN?d}C%P5N$)Ws5Y1Iz@B;Wh-Y4AFG%)+4f|oeu^+a>JIC4EfAZf=y+ej- zsw6Pyn;7&eb>E`y47!SK%8|Dh*3(#PO7>|Rp8@Ypw1hV;w(lhDE37l0q9o`g`uYj# zmZ{_HCl6_wVq#iyfGIHF0CgViF#DG@@#<*BuYmd+V14=4q|dCPChZ zguNs6C55yZgFjkkuC3ou|7}XxCM66K1S4UDZ~Zj1(QDKl6a3uA1|6l%bpJil{Ojl} zMgXDQM{)9jbH;jM`}l(b?oucD;?oGuvb93*C(Ba*uq=_KyEE8`sQmqC(&C3gUp6z)EU?+0;7qJXGO%P^ z=Ke`#4#yJf=S3+cdJA&^+D9TSInudPk8$!SnR;HtI~O~-h;j$pQ>W^*yRCF0MQLx& z-Mc|INje~tb##clptw_wTa~k77N?R~JgvwXXGN@_Civhua!nH5pBrZb&r-mFvY9Fg z!+~m0W(}=W3<==Y&;~^Tb`QjX*pk%4C_&Zb9Ax=0fm2qJ2K60H+hp$cLmeju(sIH? zo5Z4RW!ci{5lT`1MAN3(3y@uOXSdjLt#=P*TttZBd>^ zIXr_#oEh+D<*GyUtUL{R4I?GUqFj>wqFj!rJc2z!Ea%7Tz}{hgY{N5C2t89FGWCD4d2aZq;n3F8<+Z=#U?jB$Us z>LQ+<9g+NDYUMwUU8SD{wgjMZXBDK*>%05*~B$mca=@L_bg6S?cIIqF<$Ms@lxqLKwF@ zanhu-{+}U{&P^*{+#lnSI0jBq5cBm=75chFdsYwVi3A24rCD0eC`vG;7V-um{<;kb|JLqnpC3Gw1Tj`4byzltm^Pl5) zm6_b-`@DhCNk~<_P7tXeF<0FS;P5?`Z*F|1XHAwoN6(u)IYVa+ zL+2+_72gy`E4r*M!Ak{zT4)CHq)$ diff --git a/Older Versions/yoshi-seals1.2.1/build/lib/Seals/Seals.py b/Older Versions/yoshi-seals1.2.1/build/lib/Seals/Seals.py deleted file mode 100644 index d7e4e9b..0000000 --- a/Older Versions/yoshi-seals1.2.1/build/lib/Seals/Seals.py +++ /dev/null @@ -1,268 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import numpy as np -import csv -import pandas as pd -import math - -class scan: - - def __init__(self): - pass - - def np(self, path): - - df=pd.read_csv(path, sep=';',decimal=",",header=None) - array = df.to_numpy() - - return array - - def pd(self, path): - return pd.read_csv(path, sep=';',decimal=",") - -def write(array, path): - - with open(path, mode='w') as sistema_linear: - - solution_writer = csv.writer(sistema_linear, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) - solution_writer.writerows(array) - - return array - -class insert: - - def __init__(self): - pass - - def matrix(self, matrix): - - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[1]): - - matrix[i][j] = float(input('Insira o elemento {}x{}: '.format((i+1),(j+1)))) - j += 1 - - i += 1 - - return matrix - - def vector(self, vector): - - j=0 - - while (j < vector.shape[0]): - - vector[j] = float(input('Insira o elemento b{}: '.format((j+1)))) - j += 1 - - return vector - -class process: - - def __init__(self): - pass - - def identity(self, matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[0]): - - if (i == j): - - matrix[i][j] = 1 - - elif (i != j): - - matrix[i][j] = 0 - - j += 1 - - i += 1 - - return matrix - - def gauss(self, matrix): - - i = 0 - k = 0 - - while (i < matrix.shape[0]): - - if (matrix[i][i] == 0): - - n = i - - while (matrix[i][i] == 0) and (n < matrix.shape[0]): - - temp = matrix[i].copy() - matrix[i] = matrix[n] - matrix[n] = temp - - n += 1 - - while (k < matrix.shape[0]): - - if (k == i) or (matrix[i][i] == 0): - - k += 1 - - else: - - mult = matrix[k][i]/matrix[i][i] - matrix[k] = matrix[k] - mult*matrix[i] - k += 1 - - i += 1 - k = 0 - - i = 0 - - while ((i) < matrix.shape[0]) and (matrix[i][i] != 0): - - matrix[i] = matrix[i]/matrix[i][i] - i += 1 - - return matrix[:,(matrix.shape[0]):] - - def inverse(self, matrix): - - return self.gauss(np.hstack((matrix, self.identity(np.zeros(matrix.shape))))) - - def cholesky(self, A, b): - - g = np.zeros((A.shape)) - - i = 0 - j = 0 - - while j < A.shape[1]: - while i < A.shape[0]: - - if i == 0 and j == 0: - - g[i][j] = math.sqrt(A[0][0]) - - elif j == 0: - - g[i][j] = A[i][0]/g[0][0] - - elif i == j: - - k = 0 - theta = 0 - - while k < i: - - theta += g[i][k]**2 - k += 1 - - g[i][j] = math.sqrt(A[i][i] - theta) - - else: - - k = 0 - theta = 0 - - while k < j: - - theta += g[i][k]*g[j][k] - k += 1 - - g[i][j] = (A[i][j] - theta)/g[j][j] - - i += 1 - - j += 1 - i = j - - y = (self.inverse(g)).dot(b) - - x = (self.inverse(g.T)).dot(y) - - return x - - def decomposition(self, U, b): - - L = self.identity(np.zeros(U.shape)) - - i = 0 - k = 0 - - while (i < U.shape[0]): - - k = 0 - - if (U[i][i] == 0): - - n = i - - while (U[i][i] == 0) and (n < U.shape[0]): - - temp = U[i].copy() - U[i] = U[n] - U[n] = temp - - n += 1 - - while (k < U.shape[0]): - - if (k <= i) or (U[i][i] == 0): - - k += 1 - - else: - L[k][i] = U[k][i]/U[i][i] - U[k] = U[k] - L[k][i]*U[i] - k += 1 - - i += 1 - - y = (self.inverse(L)).dot(b) - - x = (self.inverse(U)).dot(y) - - return x - - def cramer(self, A, b): - - x = np.vstack(np.zeros(b.shape)) - k = 0 - - while (k < A.shape[0]): - - temp = A.copy() - temp[:,k] = b - - x[k] = np.linalg.det(temp)/np.linalg.det(A) - - k += 1 - - return x diff --git a/Older Versions/yoshi-seals1.2.1/build/lib/Seals/__init__.py b/Older Versions/yoshi-seals1.2.1/build/lib/Seals/__init__.py deleted file mode 100644 index fd4284d..0000000 --- a/Older Versions/yoshi-seals1.2.1/build/lib/Seals/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .Seals import process -from .Seals import insert -from .Seals import scan -from .Seals import write \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.2.1/dist/yoshi-seals-1.2.1.tar.gz b/Older Versions/yoshi-seals1.2.1/dist/yoshi-seals-1.2.1.tar.gz deleted file mode 100644 index 73294aa3c8e06e62cb2e902eeba9e74c4c52f07f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3841 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 diff --git a/Older Versions/yoshi-seals1.2.1/dist/yoshi_seals-1.2-py3-none-any.whl b/Older Versions/yoshi-seals1.2.1/dist/yoshi_seals-1.2-py3-none-any.whl deleted file mode 100644 index 3932dc2456d59c112bbe84ad9264a89851326fa3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10571 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 diff --git a/Older Versions/yoshi-seals1.2.1/dist/yoshi_seals-1.2.1-py3-none-any.whl b/Older Versions/yoshi-seals1.2.1/dist/yoshi_seals-1.2.1-py3-none-any.whl deleted file mode 100644 index 0552b304215a2970458fa62d416c4ae354a5f19f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10615 zcma)?1yCJb)~<1PcXzi0cL;iLcL*oAI~?4CI|K>t8r(IwyW1fIcXw{S`Ro28HFxHA zS9e!;)p}}I^?vtSwcn+p01bl!0Re#kL5WyGa5l!L+WHmM?U>FLICYJ*fahl>b!Yn8Wfj~Q%86MPU z8oh>CG=l|2r`b1HmfyQ6NFn68s!WT@g<|YjYvKnv6DA^5#{k8K!@yO7F~fL*`4tL#F$DDloKE7dlV$s?vX; zD4Xm)RYl_ueY`6PqYw}2Ha z84xv>nZ#ZS_B+bChxZTwSiJWBK0Ia3GTaD2UOJn|_22p4&g*!(VPL$GZPsL8<{p{< z24_tdW)Llq8~H;vBmSI&5Q{Vl3Sk6#pztACI9DHrna=2}hc5yqhbj>b1E`Hc2Az43 z@3zfp`pt~?VCpZiWglPshuABKsm%oic$JmB>C(KJ4W=PN~TdXMR^ zVO%5iD1Q7rNsdBjLg78Z3O-dssa0Mno~{Q$(H!B)G&bh4m_-5`)WMl1CI?c2K0ikF z(8924LpKi_vr?hA)bbeISwWyoQ7(~FtAOr~ir&M6eE*eh$Ei~~n^w|GhWY@lARkS( zdNmWBUlHC;oF*S=PkgdNPQNRGkZM2{& zZ1;2P_j5P)b8!KkTq!;uJ91EGCTXywbfbsL>hyfsbS1*jQ5s@-!53^+ujTaK5~hLF<6kI0KBw%1C(ndEQ@-=Gih2==keU{!yU@v zvtk~*MNM5M$m(yC+tfFS48Lm|+9j7H6teRJtqQehrW$?VkGt%td_@eF`jtgcn~W{H zX_DcJ#-XDxWn#sDL&@gh)1**Td#ln5sGxbpU{F38>8^IE}ovY2( zh-aOJANtti-0yt>j_P_5=`Top zW4=MFskJM`FNf_DtYNjz-du=HbTfq2F*Bi!h~I3gKPQTCi`w)n!VCZkMBP@e^z&Kp zRoz6&iT2diFsBx}1%3uwg)Ks)8V;eFTn{2+bQ9uowl}U3Dz}B#!X4lu;8i(!i>z;n z+9vzTvCmdyFP*IW4zsMO3`N*~u95zPJ;faVfvfmHL#r=h4iT-M$xXF6ag4>nlX6O$+Stfi!{{@cRT7cxf&fpK5T}GJaS_J z+~n>E%XW%gBqB=G=82DS(cBRFeaa(0QK6adV0*3!&s^hIY<<&$saylfx@uBXGjg}_ z0$eBEj~2`gZW9$3#|_Lk(2~cXy=4a;3T1|)_^z1m+7U!{*pgkAJ)#b{0K`{{ax;)1Nhz1bJv_AzrQ46vgg750PvhZ8=wZY!#;q;PE zEtRQp#RrQ0d=bT`0Za;GYw*84sy7V!r?51BACjy5ZxZADlf+ia)*yJGARu61ARsXR zH;EY=TiIK=8XNz~V=?Mu_G=s%9sA61!$q(-OYSr3N|BgDP$Wa~yKo}2^P^M}2~cwU zD&1WQ{BdN_xx5kWf`aH*M6igbPQg|6GW2>4`Bd|Zf#pV#xs{kiqcB{QfjDsRY=Tt6 zxoRSOZU@ks+DjP4-Zl5x<=kNngH7^&Vv6x#O)J#T&_SM*mIBV2!!0A+iVi$paqa~4 zJR{RCoi0ts!=aSomI$+2$zom)CLahdm{t&6XyDLePN7>`H8;5rU|P)9Lr>vKVgWtP z10Lfg*Nhi}$U?1ZxTuS~NW_;^Z#t4KpTQzu`LsWF6#H<8ix#+h>W6EC5AcFdWfo#Z zHUf}lV#uR6R^=Cs2F!1*(=LrTy))}#TiazMtsnIa&sEyVbbrY(3D}% zVSzrkfkjF1S2L)or32TW54Tx0NZIXzv`hGQOu7{*#J}v)WIWgm0{S{E?>Z3HCovQ> zxnI=ukFnNuyZVJLzL^Q+Oce9h=gbkhOOGa6Tj(oJDkrlxu}O&}k`EUpn!&OelzVpN zr%lSR`a}MGiowP7srZ?3EQjDhK!^)MKv4ggVqOj|mR80te^pDYoNQcdoNVS+F0QOr z_Fo*>73CzQmDHub>l=EkeM#dONtTcE%O77#@?LK@)|$KD zUhW*ayBd}2^J)w5wa<_p6SUm-NA2{M?19I9Y`w97s}#c`O~c}-Vt2eLHpiP(iF1&05hj$0YDKQ+WfsSV*85rUFrFI2uGxa@Oc=cyQxYOZdB0HPFwV2C2Ci6PH=Nb!Jp}{XbFOhk}x%Gys zOPoR}j~b2gfJ?}3T zEuelo3HA7Xr7P4c8!ax!&bL}@lh{;a)!0hXAS0eyq+l#t$e2dc8DuK2x?C^$vOw2? zkTVcBQvn(jw4Nfo6aY;H4HY@dQMFENR9q3?yczj2#6PFv*RXDAif7<5N=~KdSQuR_ ztg_m~kc@bz=+Js3uqns@SP!LA62rOh4o7>m)9XqV(-aDyC6loTOJuaSZYqMb7zvw; z5K5H|(_6dd1Yt1^fpV<_ zL%3DZT+l&^srg}rHWBdZEKu-QN+-;6u3O`9=S5Y75V~uaV?=74HFR1J_u4i}DUYJK zgeEE6ySxIn;!gtik`5TZxHhfszT(C;&F;0R<}|g62G_erv}PXsbGAIu{#K8qQoT-l zHHH*{^4+mwlaN+!q+#>oKweW$44qP19L|Kv~4D(*uIz2R2+2+t$c~rH7Vwj~T`iw=u zTIjDpZYWaYp>0;{OZq+b@@5#^1IXqx&SNw0fSu#9b0Ihy5_w?3& z7X)0-K%N&o))2ii8}Fs3kpk2&ULeKJ<|$gJ#cC*+wV5}&U3p(7io7p?S@T@6An~-W zjvC_IrlO!gH*pwGxc65Ag(;aiWp2T&_0`PqkyB3*zi;Cw8$WSGMf^yWMNm#oJwN8e z*5o{-2t6Ev-9fxvgjdjHkH;ywrRqOMo{KHXb{LAiSVtX102s7=VJUK@^msdlsh;~q z;ja9a>gJU^nsxWf9>_dM*sgNsz>Fq>G70E-k(dwF^KcGiDc!sQOK5r|1dtr8&uY|E zgu|UQ;(Q0hn7{-}%dwHbj1>VK;bS#S{--b=S^Uakb`J6^Kqt)({O}YRl zfnai>IH;V?HVfLjlwhf+*^pp15$FlHzsqzH41*EwkrXbd(aZy3qSR`h0VPhM7(sQV z2C?co%M|(ws~3dg$%Zuqc|l!A+Xz(hvbJv|N#?MX6%^GzM8(!sg?4ciy6D#N*1XS1 zy$N33izaBDnc0Pw4(DYwWIT9+Ii?IQQ7Kd$gGevJu7{A~QTrXoLPNpAd8KM8C8Tub zia9IMUp@-W$R?~awOgoP_TX#X&JnoDTc6WQF>|W zX+(}nOTT)s&Wr$;Fj&I<0&@C#yCquD~=u4TgMoWOoM&UzesY!wvt7yciwD znfyM_ER&;#CLN39Ft?E>jULT%sknybtjuo(opN(IRNZfw;!8r4$F8$KH3{;ouK@*%af7lGz7@^-p5Y|K@j*8;}jG> z7DYig4CJTCX&W~Zbaq&mn1kAJ=&N`xh@n3NE`jqv-BM#3i=u1R6NMuqbmx4PLyXOV zgXdYfwx{o~P1<$GqrhVhf0U094iZ6)O7h;vh~*$s!d>AMbe@P?E|vH_0?HTVq*Q@8 z)kygMYBqqNWP(hyfJyvg7CT*4`)GoptL$fMH3>*iPA+Xj%C#iH47$F8mvrs)$}own z?hc8WxJY98usEQ&P3lt-L_eDQ1$dP5;oyrCxmiSL{AzC_$;dt zmiDB2F`&&#nykRE4A--4d2j*0zx~l2tjo5GW?f7}P&4hdYZho9Smb1omQsqI$$s{0%`iI77UBE_y9kf^Q~RxMI;o0wHS{`xi-_2Y77 z%x+yQZjMpI5CKo=jaiCJen;N%fpL!*jWdd1crg_PfH4W@58h3z`A9pp;){1Wl!&%K zN}JfA+ItmnF0A=bBCVYe;tttz8jV5+NWtgVL^nmxu@szmF2^`firi*#}FP!nIZ^43P+*H{4!xt4P#FjE1U7ycylvK3hysX@rMbZ&9ah0$17; zm;^A?jdmkdCTi`N>B)BnvT|1Mh`A5c*<{WOExx8N1{x4QdAB9Z-3~kQy7c3V3{j%$ z7d6=EO)mohv@vpOngd*@*Bl{Y5NyEzLIFKlXfw-_F*dBGk!~1BTkuSf61#?k^9!o|30Ei`?%YFB+H~%xl+}8z=W;mL zBtmR#2V=jF^3&Ey$o81oYX#9Vrx9@~>D>2?;Z)rs63Cct5|s>4o-V(J%y$m9rvlnY zPVqm&kkY^D>2-(~&yy{LHM4*P)VN!PC>(cvA?=X~aLpd_F|&-*)qm8b(R!JRgVu!{ z^4GJU)?B_j*?SzM=NBb?9qw&lPzw_adq1Fn{w_NtCQvDUPfzU{TEl61D2`YVE5Gly z?fkePEN#_6NTC8luS%y5?s5<)tX}&A9_G@9o z=X0bR82w_@pSi|VmaXL0E)`0ZQiR|^!^$xzOb9(5Oxv2BJ}gN+_b5Kr&sh9swC=o$ z1A&kY!5!Cq?~8!q2wDZ~hFG(CeoN;>zUbHb9%K4e7kah>cIe`E&ng zuVgf9g1Qt!J;)cctuLhlfRP4DPOzeTVn5t(V&I}MFn>;VkisJ9ZOES zXNoXUciw0?+m6velx?)Q3mq%&7H85wKZYtRGa?1&=vQZ|*;jbC(|5rhe>xIfXC#y8L|CYSTml@`Y$(tmkRbU&h+HfE4s(b?s*9DX|MFx-$h!o<@Bxq+`w?KwDgD1&v^JE9jG9>-OV(e=?sk&@@PrI#l zK%w_)d*cU9hAuMY8)WoBX10r-&T`i^a|HDgZE0`cK%%P?Q()RH0Az)Iddk177Ir>k z({)8om@q8Jx0k+rO$;%lATRgBzFk(GCw+&{kg^e2E0gx)UAGB2e>>Jhf)92?S=E7( zm|xnbbB|p|ivd}|-e!2Z>lM+kFaT*dk4ku z@_bGKugaZ>=F=PGGZHwTIj6u2=dIO=FtFjS&!Bwl1H<ONFJPzmh=k;id^f(A>sK75y7Nd-3sXy$mtI{n>n#Q*v*FO@^FHj&cQ$; zo#U8E!9}cJyzf$S-R46s-py{fYYN+oy?bAO)(Z2$3B8*2#8exvaW{x@f&77!x@o z?{kaNiR#Xi6yI`VE$M1FoxG%m=CQyt0r?W5i%zyA{D>rsX4ahQ=W$m84~+h52KqrLF! zR||4{NOq-`fLktl&+1fc-1$dm-%V`JRZnr~hJWMz7?i;H2rRVi z4B|H>%nbgFQSxoA%CD`PimceI)v8QzgX|bR9Ta6WIWjC%o3JJB!pgTqulwu8a%b{!G=TZ(;ptuUN1m zKzsP}1vXY-pfE~0(_odqq`y}X36#6D10;JTi2+LzO3m6QXQ_6DvNRG$Dcvv}+tY{{ zjjU?tRaxx5LDY~hdML`f6Yk(qdv%_ML9Q`fg&Mz$6IJrObgtFn>(Dz?7vAQEQ8DmD zuFX!NSvYKry(?La^0TLa?bp!f-X0Cru#~_})!v?sSh9`YEXQ!_mG)y4&Azu}B(&<` zyHh9yOcOuP(5gc#d!<+BurtcBmp{eiOXl{?Tt%?-Sv|$vt1|ohEJbZYD^_LG z;rF9(F0rEzI?Q2rdc-uygxO(QI#B=OxyR2CA7GaNke#G~T?MknyCc;*I_s7SGQo4U=KJI_cTP_i zrUEbKL-jxCeQeH)3le-=>Uqh-=goFmPZYf0L-m>E8T%P$d{D`LZ zbKPGT(8$TfL7u*%b@xBnRW1*vGG~6R`#thye1lJX=YkWhe~f33roS6=6(Uy_K@hLr zQyL-{nLHf|e_or>xbyJuJ-o{IB~jY{H8UO%H}z|+OT{6K`^W2`AK{d!h|q-o9^<;> z)xw*LP%G*3j1EG~8z?LGOZ-;A-2*ls8F=h+ckk^`ODniW-1LegJez{>AxreDbzgm; zz&A+WYb&16H@a)^?So%5b*lo1H(S{;#Fhj-zXR~$1T*JqJ~!D-PV zbMV=8_sQ-8PrneavMyj|3H$<@RnrqTCek?3NoGiK2=|e}SG82qZaO8iRMg<7*?lCVwES zhS%S!(87@R7n+HD=)ta){FanIgWfqp5PZ`pcY&GZOOS@Yu>$`l)7|3#ZDz%B7-Sjx z`NdawXKro=<|)yUXmec%fT;%xatO#=!49$$!Ym*dWu6hr-VF1^5?*TuKfGCa?|$Zc zgk++TyKG#f=pFfz27L)B*!5GDm%Q`VmfgC0HI8H879kGRK{PJi>xLv)=UYst5}6Qe z%}~WV>_2Z}Uqq>~r~UCrm{B1hX#UG4Hb7cKTuNL+{P$li03R{@mW-Xmj14HYrg4^o z1JSq>DN$1edb1j81QZ$uLa8(poy%Wu+o`PvV(Tk^-f8u4R6hG|`3jBZgbWc0D~Tc> z7tV0=F>eBqZ3j@`ei8AzL8Xj+x@`|aP4!*NC;jr{K;IMyyI)#vbc@#3%lk>v=Ew*! zo(M$UlNoC}PE=ilXK7mf(G1A>Y^le2>L@uvbS}s%D7+#2XRk4z>-11YH%jFv6#0d6 z!N6gnO?q)wdopaR`E~Z}Dj_I!Q-?q}3B;tAYz?QshzH1v!u38BdaE;qwHT`g(l!*x zpW%12+IO+k>4*B+**??oYae78D2PYcSFPyS>X-34#(2-E<8x4Zo#gm+ivCar>pInU z1bHp#*5iH|CsULbOK5&iRkYO@qmp~tcMWwal=O(mFtsy~Lq`5ROIX)^X*fZW zR0}ZlNx^OxK3(vEecA(kTk#d?-8 zQ{B9<4(BzJMYV)kVx&t7h|lUb+f^@GKTh$Pg_-le_QkWF@z+n_#>{vh9A=`lZJv)O zV&B8)mxp{Exx44N)lzwPlLfGpF@X&jL|UfR6ChR0v+Hl5K}ZQfCs;mpubOg4@LrZP zY7U1Fk-k5#2UT3qp`C(dcm1`DY8d<<(*cVivL^2F~^ zzTj8pnZFiFZgsFKZ`WdKiH*e3PJK0e2oxk!bjYJy<)D#tN**fB_U}wRPT1!Xw{hb0 zO65Wr%Cds%5})$Q!;8go!7aWQVm3SJX5_|f-l>Q8BJpLxnNxv|xccl*ei?%K=d_tP6e--Z zZE|GDHrZ;OQVq~|@CJJUh2hX8Dd)}a1Eu2M`dXl>&^dX$U!u^Nd1hL8{t^ndJbs{evhla^Fglky!OaSq~ufS7LI!cxhH z;lB}+lajX7P5zzOi)pi*Pe*lkEO;8tE$rnrgr6c!JvdWy^a$Bs79ilQpy0Z+_DQEw z_N@ALLCYPSa?wEKep32b`F=-6*3-b=I-od={|R|8xh_^t{vF_SHtybFr2Sm@gBxjo zS=6H$qCU5dda4F`pTpc;9~2HbP3I`$?dW8t@!}U*ETO56t|%MoCL^+0X}cq{>m`#& zh@TbNzW}odn$M#VaiwjY)BjYRs9Cc1#x4DJ*9n(VO?eGGOIYsHvK78B%B)-pYZN3> zBUb^-em~uD)AG8b+-mntaCi(@Lj+9;b9^US9TU>Us`HvOuAjsn6qh4bC$#1M{d&iA zF)LS8_my6XyAGL`l5R)@nhx|R?^g_1NsD2Ee|+I=r%)O-$+l2!a1=;{t$*G(kIK+* zJg6~9Gx9O|s+k1?(Rm_i<{v^3FoUk5011Ty{r_&K`}2qXb~FV3_4w!Jx_^xQcU=ts z6A1y)5IFE>^88QiKlC*GWB9*wsQ(_$fcXFASN|*UU#o?`15e5SGw}b`4*yF0SDF5u zIQXX=`A?Sm-$eV5xPK?DzvE14|1<8Ng!Yfve=3.6', - install_requires=[ - 'numpy', - 'pandas', - ], -) \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/PKG-INFO b/Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/PKG-INFO deleted file mode 100644 index 144f73a..0000000 --- a/Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/PKG-INFO +++ /dev/null @@ -1,69 +0,0 @@ -Metadata-Version: 2.1 -Name: yoshi-seals -Version: 1.2.1 -Summary: Numeric Calculus python module in the topic of Linear Algebra -Home-page: https://github.com/HideyoshiNakazone/Seals-NumericCalculus.git -Author: Vitor Hideyoshi -Author-email: vitor.h.n.batista@gmail.com -License: UNKNOWN -Description: # Seals - Numeric Calculus - - This python package is made for applied Numeric Calculus of Linear Algebra. It is made with the following objectives in mind: - - * Scan *csv* files to make a numpy matrix. - - * Write a matrix into a *csv* file - - * Insert user input into a matrix or a vector. - - * Use methods to proccess the matrices. - * Identity Matrix - * Gauss Elimination - * Inverse Matrix - * Cholesky Decomposition - * LU Decomposition - * Cramer - - ## Syntax - - The function *scan* has the following syntax `scan(path)`, where `path` is the path to your directory. - - The function *solution* has the following syntax `write(array,path)`, where `array` is the matrix that you desire to output and `path` is the path to your directory. - - The python class *Insert* has a method for *matrix* and another for *vector*, and it has the following syntax `Insert.method(array)`, where `Insert` is the *Python Class* and `method` is either a `matrix` or a `vector` and `array` is either a *matrix* or a *vector*. - - ### Processes - - The python class *process* has all the methods described in the first session. - - To call the method use a syntax like `sl = Seals.process()`, where `sl` is an instance and to use a method you have to append the method in front of the instance like: `sl.identity(array)`. - - * The method *identity* returns a *numpy* identity matrix of the order of the matrix passed into to it, and it has the following syntax `sl.identity(array)`, which `array` is a square matrix. - - * The method *gauss* returns a *numpy* vector containing the vector of variables from the augmented matrix. `sl.gauss(matrix)`, which `matrix` is the augmented matrix. - - * The method *inverse* returns a *numpy* inverse matrix of the matrix passed into to it, and it has the following syntax `sl.inverse(matrix)`, which `matrix` is a square matrix. - - * The method *cholesky* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - - * The method *decomposition* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - - * The method *cramer* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - - ## Installation - - To install the package from source `cd` into the directory and run: - - `pip install .` - - or run - - `pip install yoshi-seals` - -Platform: UNKNOWN -Classifier: Programming Language :: Python :: 3 -Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2) -Classifier: Operating System :: OS Independent -Classifier: Development Status :: 2 - Pre-Alpha -Requires-Python: >=3.6 -Description-Content-Type: text/markdown diff --git a/Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/SOURCES.txt b/Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/SOURCES.txt deleted file mode 100644 index 99af693..0000000 --- a/Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/SOURCES.txt +++ /dev/null @@ -1,9 +0,0 @@ -README.md -setup.py -Seals/Seals.py -Seals/__init__.py -yoshi_seals.egg-info/PKG-INFO -yoshi_seals.egg-info/SOURCES.txt -yoshi_seals.egg-info/dependency_links.txt -yoshi_seals.egg-info/requires.txt -yoshi_seals.egg-info/top_level.txt \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/dependency_links.txt b/Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/dependency_links.txt deleted file mode 100644 index 8b13789..0000000 --- a/Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/requires.txt b/Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/requires.txt deleted file mode 100644 index 5da331c..0000000 --- a/Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/requires.txt +++ /dev/null @@ -1,2 +0,0 @@ -numpy -pandas diff --git a/Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/top_level.txt b/Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/top_level.txt deleted file mode 100644 index ce88a75..0000000 --- a/Older Versions/yoshi-seals1.2.1/yoshi_seals.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -Seals diff --git a/Older Versions/yoshi-seals1.2.tar.gz b/Older Versions/yoshi-seals1.2.tar.gz deleted file mode 100644 index 723ed8e24862107e90cdda5bee34d5520fd54cbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24970 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 diff --git a/Older Versions/yoshi-seals1.2/LICENSE b/Older Versions/yoshi-seals1.2/LICENSE deleted file mode 100644 index d2c5abe..0000000 --- a/Older Versions/yoshi-seals1.2/LICENSE +++ /dev/null @@ -1,278 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.2/README.md b/Older Versions/yoshi-seals1.2/README.md deleted file mode 100644 index 3d00157..0000000 --- a/Older Versions/yoshi-seals1.2/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# Seals - Numeric Calculus - -This python package is made for applied Numeric Calculus of Linear Algebra. It is made with the following objectives in mind: - -* Scan *csv* files to make a numpy matrix. - -* Write a matrix into a *csv* file - -* Insert user input into a matrix or a vector. - -* Use methods to proccess the matrices. - * Identity Matrix - * Gauss Elimination - * Inverse Matrix - * Cholesky Decomposition - * LU Decomposition - * Cramer - -## Syntax - -The function *scan* has the following syntax `scan(path)`, where `path` is the path to your directory. - -The function *solution* has the following syntax `write(array,path)`, where `array` is the matrix that you desire to output and `path` is the path to your directory. - -The python class *Insert* has a method for *matrix* and another for *vector*, and it has the following syntax `Insert.method(array)`, where `Insert` is the *Python Class* and `method` is either a `matrix` or a `vector` and `array` is either a *matrix* or a *vector*. - -### Processes - -The python class *process* has all the methods described in the first session. - -To call the method use a syntax like `sl = Seals.process()`, where `sl` is an instance and to use a method you have to append the method in front of the instance like: `sl.identity(array)`. - -* The method *identity* returns a *numpy* identity matrix of the order of the matrix passed into to it, and it has the following syntax `sl.identity(array)`, which `array` is a square matrix. - -* The method *gauss* returns a *numpy* vector containing the vector of variables from the augmented matrix. `sl.gauss(matrix)`, which `matrix` is the augmented matrix. - -* The method *inverse* returns a *numpy* inverse matrix of the matrix passed into to it, and it has the following syntax `sl.inverse(matrix)`, which `matrix` is a square matrix. - -* The method *cholesky* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - -* The method *decomposition* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - -* The method *cramer* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - -## Installation - -To install the package from source `cd` into the directory and run: - -`pip install .` - -or run - -`pip install yoshi-seals` diff --git a/Older Versions/yoshi-seals1.2/Seals/Seals.py b/Older Versions/yoshi-seals1.2/Seals/Seals.py deleted file mode 100755 index c3bc1e7..0000000 --- a/Older Versions/yoshi-seals1.2/Seals/Seals.py +++ /dev/null @@ -1,260 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import numpy as np -import csv -import pandas as pd -import math - -def scan(path): - - df=pd.read_csv(path, sep=';',decimal=",",header=None) - array = df.to_numpy() - - return array - -def write(array, path): - - with open(path, mode='w') as sistema_linear: - - solution_writer = csv.writer(sistema_linear, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) - solution_writer.writerows(array) - - return array - -class Insert: - - def __init__(self): - pass - - def matrix(self, matrix): - - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[1]): - - matrix[i][j] = float(input('Insira o elemento {}x{}: '.format((i+1),(j+1)))) - j += 1 - - i += 1 - - return matrix - - def vector(self, vector): - - j=0 - - while (j < vector.shape[0]): - - vector[j] = float(input('Insira o elemento b{}: '.format((j+1)))) - j += 1 - - return vector - -class process: - - def __init__(self): - pass - - def identity(self, matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[0]): - - if (i == j): - - matrix[i][j] = 1 - - elif (i != j): - - matrix[i][j] = 0 - - j += 1 - - i += 1 - - return matrix - - def gauss(self, matrix): - - i = 0 - k = 0 - - while (i < matrix.shape[0]): - - if (matrix[i][i] == 0): - - n = i - - while (matrix[i][i] == 0) and (n < matrix.shape[0]): - - temp = matrix[i].copy() - matrix[i] = matrix[n] - matrix[n] = temp - - n += 1 - - while (k < matrix.shape[0]): - - if (k == i) or (matrix[i][i] == 0): - - k += 1 - - else: - - mult = matrix[k][i]/matrix[i][i] - matrix[k] = matrix[k] - mult*matrix[i] - k += 1 - - i += 1 - k = 0 - - i = 0 - - while ((i) < matrix.shape[0]) and (matrix[i][i] != 0): - - matrix[i] = matrix[i]/matrix[i][i] - i += 1 - - return matrix[:,(matrix.shape[0]):] - - def inverse(self, matrix): - - return self.gauss(np.hstack((matrix, self.identity(np.zeros(matrix.shape))))) - - def cholesky(self, A, b): - - g = np.zeros((A.shape)) - - i = 0 - j = 0 - - while j < A.shape[1]: - while i < A.shape[0]: - - if i == 0 and j == 0: - - g[i][j] = math.sqrt(A[0][0]) - - elif j == 0: - - g[i][j] = A[i][0]/g[0][0] - - elif i == j: - - k = 0 - theta = 0 - - while k < i: - - theta += g[i][k]**2 - k += 1 - - g[i][j] = math.sqrt(A[i][i] - theta) - - else: - - k = 0 - theta = 0 - - while k < j: - - theta += g[i][k]*g[j][k] - k += 1 - - g[i][j] = (A[i][j] - theta)/g[j][j] - - i += 1 - - j += 1 - i = j - - y = (self.inverse(g)).dot(b) - - x = (self.inverse(g.T)).dot(y) - - return x - - def decomposition(self, U, b): - - L = self.identity(np.zeros(U.shape)) - - i = 0 - k = 0 - - while (i < U.shape[0]): - - k = 0 - - if (U[i][i] == 0): - - n = i - - while (U[i][i] == 0) and (n < U.shape[0]): - - temp = U[i].copy() - U[i] = U[n] - U[n] = temp - - n += 1 - - while (k < U.shape[0]): - - if (k <= i) or (U[i][i] == 0): - - k += 1 - - else: - L[k][i] = U[k][i]/U[i][i] - U[k] = U[k] - L[k][i]*U[i] - k += 1 - - i += 1 - - y = (self.inverse(L)).dot(b) - - x = (self.inverse(U)).dot(y) - - return x - - def cramer(self, A, b): - - x = np.vstack(np.zeros(b.shape)) - k = 0 - - while (k < A.shape[0]): - - temp = A.copy() - temp[:,k] = b - - x[k] = np.linalg.det(temp)/np.linalg.det(A) - - k += 1 - - return x diff --git a/Older Versions/yoshi-seals1.2/Seals/__init__.py b/Older Versions/yoshi-seals1.2/Seals/__init__.py deleted file mode 100644 index b306940..0000000 --- a/Older Versions/yoshi-seals1.2/Seals/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .Seals import process -from .Seals import Insert -from .Seals import scan -from .Seals import write \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.2/build/lib/Seals/Seals.py b/Older Versions/yoshi-seals1.2/build/lib/Seals/Seals.py deleted file mode 100644 index c3bc1e7..0000000 --- a/Older Versions/yoshi-seals1.2/build/lib/Seals/Seals.py +++ /dev/null @@ -1,260 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import numpy as np -import csv -import pandas as pd -import math - -def scan(path): - - df=pd.read_csv(path, sep=';',decimal=",",header=None) - array = df.to_numpy() - - return array - -def write(array, path): - - with open(path, mode='w') as sistema_linear: - - solution_writer = csv.writer(sistema_linear, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) - solution_writer.writerows(array) - - return array - -class Insert: - - def __init__(self): - pass - - def matrix(self, matrix): - - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[1]): - - matrix[i][j] = float(input('Insira o elemento {}x{}: '.format((i+1),(j+1)))) - j += 1 - - i += 1 - - return matrix - - def vector(self, vector): - - j=0 - - while (j < vector.shape[0]): - - vector[j] = float(input('Insira o elemento b{}: '.format((j+1)))) - j += 1 - - return vector - -class process: - - def __init__(self): - pass - - def identity(self, matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[0]): - - if (i == j): - - matrix[i][j] = 1 - - elif (i != j): - - matrix[i][j] = 0 - - j += 1 - - i += 1 - - return matrix - - def gauss(self, matrix): - - i = 0 - k = 0 - - while (i < matrix.shape[0]): - - if (matrix[i][i] == 0): - - n = i - - while (matrix[i][i] == 0) and (n < matrix.shape[0]): - - temp = matrix[i].copy() - matrix[i] = matrix[n] - matrix[n] = temp - - n += 1 - - while (k < matrix.shape[0]): - - if (k == i) or (matrix[i][i] == 0): - - k += 1 - - else: - - mult = matrix[k][i]/matrix[i][i] - matrix[k] = matrix[k] - mult*matrix[i] - k += 1 - - i += 1 - k = 0 - - i = 0 - - while ((i) < matrix.shape[0]) and (matrix[i][i] != 0): - - matrix[i] = matrix[i]/matrix[i][i] - i += 1 - - return matrix[:,(matrix.shape[0]):] - - def inverse(self, matrix): - - return self.gauss(np.hstack((matrix, self.identity(np.zeros(matrix.shape))))) - - def cholesky(self, A, b): - - g = np.zeros((A.shape)) - - i = 0 - j = 0 - - while j < A.shape[1]: - while i < A.shape[0]: - - if i == 0 and j == 0: - - g[i][j] = math.sqrt(A[0][0]) - - elif j == 0: - - g[i][j] = A[i][0]/g[0][0] - - elif i == j: - - k = 0 - theta = 0 - - while k < i: - - theta += g[i][k]**2 - k += 1 - - g[i][j] = math.sqrt(A[i][i] - theta) - - else: - - k = 0 - theta = 0 - - while k < j: - - theta += g[i][k]*g[j][k] - k += 1 - - g[i][j] = (A[i][j] - theta)/g[j][j] - - i += 1 - - j += 1 - i = j - - y = (self.inverse(g)).dot(b) - - x = (self.inverse(g.T)).dot(y) - - return x - - def decomposition(self, U, b): - - L = self.identity(np.zeros(U.shape)) - - i = 0 - k = 0 - - while (i < U.shape[0]): - - k = 0 - - if (U[i][i] == 0): - - n = i - - while (U[i][i] == 0) and (n < U.shape[0]): - - temp = U[i].copy() - U[i] = U[n] - U[n] = temp - - n += 1 - - while (k < U.shape[0]): - - if (k <= i) or (U[i][i] == 0): - - k += 1 - - else: - L[k][i] = U[k][i]/U[i][i] - U[k] = U[k] - L[k][i]*U[i] - k += 1 - - i += 1 - - y = (self.inverse(L)).dot(b) - - x = (self.inverse(U)).dot(y) - - return x - - def cramer(self, A, b): - - x = np.vstack(np.zeros(b.shape)) - k = 0 - - while (k < A.shape[0]): - - temp = A.copy() - temp[:,k] = b - - x[k] = np.linalg.det(temp)/np.linalg.det(A) - - k += 1 - - return x diff --git a/Older Versions/yoshi-seals1.2/build/lib/Seals/__init__.py b/Older Versions/yoshi-seals1.2/build/lib/Seals/__init__.py deleted file mode 100644 index b306940..0000000 --- a/Older Versions/yoshi-seals1.2/build/lib/Seals/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .Seals import process -from .Seals import Insert -from .Seals import scan -from .Seals import write \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.2/dist/yoshi-seals-1.2.tar.gz b/Older Versions/yoshi-seals1.2/dist/yoshi-seals-1.2.tar.gz deleted file mode 100644 index 0606a1b156917919e24c7eb043cab265efadef56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3805 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 diff --git a/Older Versions/yoshi-seals1.2/dist/yoshi_seals-1.2-py3-none-any.whl b/Older Versions/yoshi-seals1.2/dist/yoshi_seals-1.2-py3-none-any.whl deleted file mode 100644 index 3932dc2456d59c112bbe84ad9264a89851326fa3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10571 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 diff --git a/Older Versions/yoshi-seals1.2/setup.py b/Older Versions/yoshi-seals1.2/setup.py deleted file mode 100644 index dd27003..0000000 --- a/Older Versions/yoshi-seals1.2/setup.py +++ /dev/null @@ -1,27 +0,0 @@ -import setuptools - -with open("README.md", "r") as fh: - long_description = fh.read() - -setuptools.setup( - name="yoshi-seals", - version="1.2", - author="Vitor Hideyoshi", - author_email="vitor.h.n.batista@gmail.com", - description="Numeric Calculus python module in the topic of Linear Algebra", - long_description=long_description, - long_description_content_type="text/markdown", - url="https://github.com/HideyoshiNakazone/Seals-NumericCalculus.git", - packages=setuptools.find_packages(), - classifiers=[ - "Programming Language :: Python :: 3", - "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", - "Operating System :: OS Independent", - "Development Status :: 2 - Pre-Alpha", - ], - python_requires='>=3.6', - install_requires=[ - 'numpy', - 'pandas', - ], -) \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/PKG-INFO b/Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/PKG-INFO deleted file mode 100644 index 5d60ffb..0000000 --- a/Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/PKG-INFO +++ /dev/null @@ -1,69 +0,0 @@ -Metadata-Version: 2.1 -Name: yoshi-seals -Version: 1.2 -Summary: Numeric Calculus python module in the topic of Linear Algebra -Home-page: https://github.com/HideyoshiNakazone/Seals-NumericCalculus.git -Author: Vitor Hideyoshi -Author-email: vitor.h.n.batista@gmail.com -License: UNKNOWN -Description: # Seals - Numeric Calculus - - This python package is made for applied Numeric Calculus of Linear Algebra. It is made with the following objectives in mind: - - * Scan *csv* files to make a numpy matrix. - - * Write a matrix into a *csv* file - - * Insert user input into a matrix or a vector. - - * Use methods to proccess the matrices. - * Identity Matrix - * Gauss Elimination - * Inverse Matrix - * Cholesky Decomposition - * LU Decomposition - * Cramer - - ## Syntax - - The function *scan* has the following syntax `scan(path)`, where `path` is the path to your directory. - - The function *solution* has the following syntax `write(array,path)`, where `array` is the matrix that you desire to output and `path` is the path to your directory. - - The python class *Insert* has a method for *matrix* and another for *vector*, and it has the following syntax `Insert.method(array)`, where `Insert` is the *Python Class* and `method` is either a `matrix` or a `vector` and `array` is either a *matrix* or a *vector*. - - ### Processes - - The python class *process* has all the methods described in the first session. - - To call the method use a syntax like `sl = Seals.process()`, where `sl` is an instance and to use a method you have to append the method in front of the instance like: `sl.identity(array)`. - - * The method *identity* returns a *numpy* identity matrix of the order of the matrix passed into to it, and it has the following syntax `sl.identity(array)`, which `array` is a square matrix. - - * The method *gauss* returns a *numpy* vector containing the vector of variables from the augmented matrix. `sl.gauss(matrix)`, which `matrix` is the augmented matrix. - - * The method *inverse* returns a *numpy* inverse matrix of the matrix passed into to it, and it has the following syntax `sl.inverse(matrix)`, which `matrix` is a square matrix. - - * The method *cholesky* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - - * The method *decomposition* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - - * The method *cramer* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - - ## Installation - - To install the package from source `cd` into the directory and run: - - `pip install .` - - or run - - `pip install yoshi-seals` - -Platform: UNKNOWN -Classifier: Programming Language :: Python :: 3 -Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2) -Classifier: Operating System :: OS Independent -Classifier: Development Status :: 2 - Pre-Alpha -Requires-Python: >=3.6 -Description-Content-Type: text/markdown diff --git a/Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/SOURCES.txt b/Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/SOURCES.txt deleted file mode 100644 index 99af693..0000000 --- a/Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/SOURCES.txt +++ /dev/null @@ -1,9 +0,0 @@ -README.md -setup.py -Seals/Seals.py -Seals/__init__.py -yoshi_seals.egg-info/PKG-INFO -yoshi_seals.egg-info/SOURCES.txt -yoshi_seals.egg-info/dependency_links.txt -yoshi_seals.egg-info/requires.txt -yoshi_seals.egg-info/top_level.txt \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/dependency_links.txt b/Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/dependency_links.txt deleted file mode 100644 index 8b13789..0000000 --- a/Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/requires.txt b/Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/requires.txt deleted file mode 100644 index 5da331c..0000000 --- a/Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/requires.txt +++ /dev/null @@ -1,2 +0,0 @@ -numpy -pandas diff --git a/Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/top_level.txt b/Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/top_level.txt deleted file mode 100644 index ce88a75..0000000 --- a/Older Versions/yoshi-seals1.2/yoshi_seals.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -Seals diff --git a/Older Versions/yoshi-seals1.3.1.tar.xz b/Older Versions/yoshi-seals1.3.1.tar.xz deleted file mode 100644 index 312999e85737a64a4203e3e503cdc7caf67f7b7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34124 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 diff --git a/Older Versions/yoshi-seals1.3.1/.vscode/settings.json b/Older Versions/yoshi-seals1.3.1/.vscode/settings.json deleted file mode 100644 index 5464203..0000000 --- a/Older Versions/yoshi-seals1.3.1/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "python.pythonPath": "/home/hideyoshi/anaconda3/bin/python" -} \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.1/LICENSE b/Older Versions/yoshi-seals1.3.1/LICENSE deleted file mode 100644 index d2c5abe..0000000 --- a/Older Versions/yoshi-seals1.3.1/LICENSE +++ /dev/null @@ -1,278 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.1/README.md b/Older Versions/yoshi-seals1.3.1/README.md deleted file mode 100644 index ef4af91..0000000 --- a/Older Versions/yoshi-seals1.3.1/README.md +++ /dev/null @@ -1,55 +0,0 @@ -# Seals - Numeric Calculus - -This python namespace is made for applied Numeric Calculus of Linear Algebra. It is made with the following objectives in mind: - -* Scan *csv* files to make a numpy matrix. - -* Write a matrix into a *csv* file - -* Insert user input into a matrix or a vector. - -* Calculate Eigen Values - -* Use methods to proccess the matrices. - * Identity Matrix - * Gauss Elimination - * Inverse Matrix - * Cholesky Decomposition - * LU Decomposition - * Cramer - -## Syntax - -To call the package *scan* use the syntax: `from Seals import scan`. The package also has a function for *Numpy* arrays and *Pandas* dataframes, and used the following syntax `scan.np(path)` for *Numpy* and `scan.pd(path)` for *Pandas*, where `path` is the path to your directory. - -To call the package *write* use the syntax: `from Seals import write`. The package also has a function for *Numpy* arrays and *Pandas* dataframes, and uses the following syntax `write.np(array,path)` for *Numpy*, where `array` is the matrix that you desire to output and `path` is the path to your directory, and `write.pd(df,path)` for *Pandas*, where `df` is the matrix that you desire to output and `path` is the path to your directory. - -To call the package *insert* use the syntax: `from Seals import insert`. The package also has a function for *matrix* and another for *vector*, and it has the following syntax `insert.function(array)`, where `insert` is the *Python Module* and `function` is either a `matrix` or a `vector` and `array` is either a *matrix* or a *vector*. - -There is also a function that given a matrix it return all real eigen values - -### Processes - -To call the module `process` use the syntax: `from Seals import process as sl`, where `sl` is an instance and to use a function you have to append the desired function in front of the instance like: `sl.identity(array)`. - -* The function *identity* returns a *numpy* identity matrix of the order of the matrix passed into to it, and it has the following syntax `sl.identity(array)`, which `array` is a square matrix. - -* The function *gauss* returns a *numpy* vector containing the vector of variables from the augmented matrix. `sl.gauss(matrix)`, which `matrix` is the augmented matrix. - -* The function *inverse* returns a *numpy* inverse matrix of the matrix passed into to it, and it has the following syntax `sl.inverse(matrix)`, which `matrix` is a square matrix. - -* The function *cholesky* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - -* The function *decomposition* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - -* The function *cramer* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - -## Installation - -To install the package from source `cd` into the directory and run: - -`pip install .` - -or run - -`pip install yoshi-seals` diff --git a/Older Versions/yoshi-seals1.3.1/Seals/__pycache__/__init__.cpython-37.pyc b/Older Versions/yoshi-seals1.3.1/Seals/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index f8ca22ef5699923e6788edc2f42d20b6b48ab2ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmZ?b<>g`kg21+4adVj&7#@Q-Fu(|8H~?`m3y?@*2xib^^jpbL1QJFNzY_H`@^e%5 zGcr?BEAxvpGW7$B^3#hFb8|EE()9x>OEU8F^nLSFN^??+^@CFrbBcBSN^?_-GLxMX vbCOGQN{jWu+H{LSa)x@w5Jmd&@tJvg`kf)1gtaod?07#@Q-Fu(+4H~?|60FX#wNMX!j$YqFPU}Q*P3TDt`e#rb@<(C*Jb%m4reFgpDJ diff --git a/Older Versions/yoshi-seals1.3.1/Seals/eigen/__pycache__/eigen.cpython-37.pyc b/Older Versions/yoshi-seals1.3.1/Seals/eigen/__pycache__/eigen.cpython-37.pyc deleted file mode 100644 index ebbe9a26e95468d23ac8cb067b83b9c3fa1f8ad0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 650 zcmZuvJ#W-N5S^V}Uydk2r*Mk$K}F{xu@D7Kgb-!ce}Q9meyTb zDtdI+An_mg5!Bm46M7mdW^IBf7-`?k?7Vq98tseS-EAOyz4!C&2M^$zOYRIQcuq%; z2_#6C!IVjq{062d*(LbmmMSorG3Uqzf6h61{ewWVmQ}E32Ck{&5H_sE)mQU3PeFaJ z;F_<+9Yf*n=HQYMzndNEJ`1dRp3oFVZ($>>)xQOgPg@r70E1b7H4_5?9VR`sYTQ1AWA6OPz zmRgosR!_yOQWPYgLG6+9FB!yT9tCkCqo&kx5?rWquELx&=D|f%#bpt^DrKETI=GC& zOrK2ZJW|Q*Jj`ZwR_mZ^JJGK8`1DCn3Zi5l6+NCV8tZlWK0T-(5daD{!V!+y5emGI yL$=M1*oaficJLwYpmKl2=hiFge9-Ln+A|6UdgK#@L7N;LcZc=Mq0s-=~w;OnrbZ znWBrSK;jdU{$JZPePR?#{rB+`Gj<8he?$cDl9=ZrZ3m$}VlXYTeCTo%@yLI-Y z|AwH){!6)f@(=LRQ{Q{rN^Jw*mzS5ktgI|EXlZ+Ybd@l6i-SK+fb$XLUVxEI z@=JEeq>vHxT*e11OGX@~utlIJpk0tF!AL&m)1!`e>=gWU_LbRVh>7W-6BH8^`|P=g z9j~K~OR>f}f%ZmR@C(T7Ag>eK6n)3$;%ws!#H0Y9pQYe4s39KS!Ex*kEBU^@*Ens9 zzUiw<)vEEPe?Fg{&p-6DI3%ttCMqQ3$`n2%x|y^-q+?_2!e>!Pp|g4#xDNdE2eSy~ z=QuA-t@2V!H8ZZ%`MxzLwy0~}oaFm6Uz#TWWMo?@mmjF2a+|}pR#uO8i)z$Xt;;EG z)8X9ftv8EBxo(`Y{&%-EnOS6qnB6KECStKlddYjDCusHoH9kuUBGdzL2=&`XsNWM- zL0BUI3OE-)0VbExKL9PUTl=5gF_N=*U=~|^VjH7@kHRdLkcp6fQzLJzeTp$ewlL4o o>w$R%a`eaOLK|=)iVw5JwP^5HB5i@$VQIT2umj?PMJzr41q1k%SO5S3 diff --git a/Older Versions/yoshi-seals1.3.1/Seals/insert/insert.py b/Older Versions/yoshi-seals1.3.1/Seals/insert/insert.py deleted file mode 100644 index 003e274..0000000 --- a/Older Versions/yoshi-seals1.3.1/Seals/insert/insert.py +++ /dev/null @@ -1,46 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -def matrix(matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[1]): - - matrix[i][j] = float(input('Insira o elemento {}x{}: '.format((i+1),(j+1)))) - j += 1 - - i += 1 - - return matrix - -def vector(vector): - - j=0 - - while (j < vector.shape[0]): - - vector[j] = float(input('Insira o elemento b{}: '.format((j+1)))) - j += 1 - - return vector \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.1/Seals/process/__pycache__/__init__.cpython-37.pyc b/Older Versions/yoshi-seals1.3.1/Seals/process/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index 9e70d8d1e4c013be3676b8f769da71dc46342d72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 386 zcmXw#J5Izf5Qgo%L8PPN23zb}h!!CPEvy!8=YlA5ti-~P$de%DNL(o`6$hZ9VrM^B_f#66J&Vv%o=q6dRn8Y`_i{2ZLe4+X6#xJL diff --git a/Older Versions/yoshi-seals1.3.1/Seals/process/__pycache__/process.cpython-37.pyc b/Older Versions/yoshi-seals1.3.1/Seals/process/__pycache__/process.cpython-37.pyc deleted file mode 100644 index 0a056eeb3c4be8973cc38935e325c026dd511ef4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2597 zcmZuz&u<$=6rP!#U2jvzgc5<<1{6?17)q>GLU6FE0#y$cL=i1SL{)|HY+^h9IlGDM zYR#o^;eaAIa7`pG@F!H_#)&^+uk;eB$BF~u!1vy+*N)XhGxO%nn>RD>``%lByu7?5 z@b}A|XAi0`3h_5hrhf{;O|z@L+~PcVi(bVg3($iy-hZO9kJzOYT`)aX{M=5+UA zq4t%%VW5p+7pt1+t+Lj!pBwC-YGd5=12Iv>*<*YKFgwkI2nnkjbb@*Mt2sphp{sk;lp(G zSe}T9hU_55h+j>_Jj3X4ES=%TwitEJpz{PXoD&|?4(ywr`+JVXL#(KDWoC0(Ox#RQ zBX+HdGM%bwXc>wRXDHH3hfCWjXKv5G_(L$9;AB-!WB^0bn8o8gyUZSI*JJ`|PgHFWUNjskm+`ak%z=s%a zpaag5kS46xRZ$itVZEZtYDt%6Sr(NKjaF9_$+mr>psMe{~)$8PMP#{3m~ znVky{&PxIn!;4+!oICt=8xf`R`Ao_LuYC3nU*{gL!=vVRy*2L>-Zl2Y`|4TW{}AWW zx1@eEOIXj}J66Vgn3?I{;xikKp;y5Jc5<6%$w_)^I3;*eQ%AwpUtB%Nl znJ2JgT9?Fu=H6XHhf_(LQ3SPDIbUmwn*JFb!*hU zO5H*MSvEnV-yQVBR@CbEeuhPO6`i2cN3`IN-Fy+eKt<45m+K%z5mYEC`#S7%Dp0+p z#^tXKfeH>9K0ZW-Y1tWV&eOn}STK+p9}JxpduLbGu)FOdiS!A4u!Iy(QxE~31{LWR ztHqB&fn%07 zP!|xT6{H0v4?YENLI*h9-a&UTPElKhDg}|Me2N-n566u+%z?t^@h8czb@^w@4cZ^l RR?0oU?7!=4|9$_R{{ixa_{RVM diff --git a/Older Versions/yoshi-seals1.3.1/Seals/process/process.py b/Older Versions/yoshi-seals1.3.1/Seals/process/process.py deleted file mode 100644 index 968cd9c..0000000 --- a/Older Versions/yoshi-seals1.3.1/Seals/process/process.py +++ /dev/null @@ -1,203 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import numpy as np -import math - -def identity(matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[0]): - - if (i == j): - - matrix[i][j] = 1 - - elif (i != j): - - matrix[i][j] = 0 - - j += 1 - - i += 1 - - return matrix - -def gauss(matrix): - - i = 0 - k = 0 - - while (i < matrix.shape[0]): - - if (matrix[i][i] == 0): - - n = i - - while (matrix[i][i] == 0) and (n < matrix.shape[0]): - - temp = matrix[i].copy() - matrix[i] = matrix[n] - matrix[n] = temp - - n += 1 - - while (k < matrix.shape[0]): - - if (k == i) or (matrix[i][i] == 0): - - k += 1 - - else: - - mult = matrix[k][i]/matrix[i][i] - matrix[k] = matrix[k] - mult*matrix[i] - k += 1 - - i += 1 - k = 0 - - i = 0 - - while ((i) < matrix.shape[0]) and (matrix[i][i] != 0): - - matrix[i] = matrix[i]/matrix[i][i] - i += 1 - - return matrix[:,(matrix.shape[0]):] - -def inverse(matrix): - - return gauss(np.hstack((matrix, identity(np.zeros(matrix.shape))))) - -def cholesky(A, b): - - g = np.zeros((A.shape)) - - i = 0 - j = 0 - - while j < A.shape[1]: - while i < A.shape[0]: - - if i == 0 and j == 0: - - g[i][j] = math.sqrt(A[0][0]) - - elif j == 0: - - g[i][j] = A[i][0]/g[0][0] - - elif i == j: - - k = 0 - theta = 0 - - while k < i: - - theta += g[i][k]**2 - k += 1 - - g[i][j] = math.sqrt(A[i][i] - theta) - - else: - - k = 0 - theta = 0 - - while k < j: - - theta += g[i][k]*g[j][k] - k += 1 - - g[i][j] = (A[i][j] - theta)/g[j][j] - - i += 1 - - j += 1 - i = j - - y = (inverse(g)).dot(b) - - x = (inverse(g.T)).dot(y) - - return x - -def decomposition(U, b): - - L = identity(np.zeros(U.shape)) - - i = 0 - k = 0 - - while (i < U.shape[0]): - - k = 0 - - if (U[i][i] == 0): - - n = i - - while (U[i][i] == 0) and (n < U.shape[0]): - - temp = U[i].copy() - U[i] = U[n] - U[n] = temp - - n += 1 - - while (k < U.shape[0]): - - if (k <= i) or (U[i][i] == 0): - - k += 1 - - else: - L[k][i] = U[k][i]/U[i][i] - U[k] = U[k] - L[k][i]*U[i] - k += 1 - - i += 1 - - y = (inverse(L)).dot(b) - - x = (inverse(U)).dot(y) - - return x - -def cramer(A, b): - - x = np.vstack(np.zeros(b.shape)) - k = 0 - - while (k < A.shape[0]): - - temp = A.copy() - temp[:,k] = b - - x[k] = np.linalg.det(temp)/np.linalg.det(A) - - k += 1 - - return x \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.1/Seals/scan/__pycache__/__init__.cpython-37.pyc b/Older Versions/yoshi-seals1.3.1/Seals/scan/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index dfa267e815a50d4c7ceaf9a32d318071f01ada1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmXwzze)o^5XN`+E6OHNvzTh^rB6j{5cK5dg#TmNJcysQ$Z5*eITQ{rR LU6D1GpDy_?<{Cyu diff --git a/Older Versions/yoshi-seals1.3.1/Seals/scan/__pycache__/scan.cpython-37.pyc b/Older Versions/yoshi-seals1.3.1/Seals/scan/__pycache__/scan.cpython-37.pyc deleted file mode 100644 index 0452701527b478502880943d0c179b2b939cf7b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 641 zcma)4y=ojW5Z2$`$;Ov}F*py9A_ws;A&@GBVAoy@?yj&S?wpOFUzAAg-Zv$VVG1@cYg2_uVGUS^xac5ghquez|5)l( zd)f4LH_VfuIrv>1hjnWqo>XP34cWzP7H+PfV5fRqxYScH}AcZt;GTl=|E>(JZnn?9rx?HRAt2Sd%w0^5g{OJL)hOf8UJ$lyFVBbUWm435gtR%nSoz y(wPQ~e~rG6A7s0#dr9>o%c82dbr4M#@y!I{^WTR0V;#x+bU-cXKWKdO?(7faL5IZv diff --git a/Older Versions/yoshi-seals1.3.1/Seals/scan/scan.py b/Older Versions/yoshi-seals1.3.1/Seals/scan/scan.py deleted file mode 100644 index 07c5cbd..0000000 --- a/Older Versions/yoshi-seals1.3.1/Seals/scan/scan.py +++ /dev/null @@ -1,45 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import numpy as np -import pandas as pd - -def numpy(path, sep=None, decimal=None): - - if sep is None: - sep = "," - - if decimal is None: - decimal = "." - - df=pd.read_csv(path, sep=sep, decimal=decimal, header=None) - array = df.to_numpy() - - return array - -def pandas(path, sep=None, decimal=None): - - if sep is None: - sep = "," - - if decimal is None: - decimal = "." - - return pd.read_csv(path, sep=sep, decimal=decimal) - diff --git a/Older Versions/yoshi-seals1.3.1/Seals/write/__pycache__/__init__.cpython-37.pyc b/Older Versions/yoshi-seals1.3.1/Seals/write/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index 7b0ac6bf9012026fce51535debab2ec80e263b49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmXwzziPuU5XL1tPC}`-j(q_S$q}-a5ZbvWkS#-uh=eWBKO~FdN9qIgWelA<^#QtM z%E=`Mcl?gK`@VZE%Ljt-CI8OfIUzr(xkrYu#|+O{IN?+gO-~t3oFV6@8FGFk)$Etz zN=3)QMC}HIxnqX2P*=rRe0bRlpVY?8IFB|6j(-xrK%C08h0baLo#bM$p_6d%w)ISF zX<9f8eP<24TOO4Na1>01RUNhP^76*iC8`);I$MP_+pM?$OE6hO(?}!xrdhjTT)yZ@ MX7_~NAwBg-ZzYFF761SM diff --git a/Older Versions/yoshi-seals1.3.1/Seals/write/__pycache__/write.cpython-37.pyc b/Older Versions/yoshi-seals1.3.1/Seals/write/__pycache__/write.cpython-37.pyc deleted file mode 100644 index 9beac4490212a6d0dd37690bdf7db96a22eed3d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 596 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 diff --git a/Older Versions/yoshi-seals1.3.1/dist/yoshi_seals-1.3-py3-none-any.whl b/Older Versions/yoshi-seals1.3.1/dist/yoshi_seals-1.3-py3-none-any.whl deleted file mode 100644 index e0814943a69f931a9ffb5289c2f2529eb6aa557d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17403 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.6 -Description-Content-Type: text/markdown diff --git a/Older Versions/yoshi-seals1.3.1/yoshi_seals.egg-info/SOURCES.txt b/Older Versions/yoshi-seals1.3.1/yoshi_seals.egg-info/SOURCES.txt deleted file mode 100644 index d941c7a..0000000 --- a/Older Versions/yoshi-seals1.3.1/yoshi_seals.egg-info/SOURCES.txt +++ /dev/null @@ -1,18 +0,0 @@ -README.md -setup.py -Seals/__init__.py -Seals/eigen/__init__.py -Seals/eigen/eigen.py -Seals/insert/__init__.py -Seals/insert/insert.py -Seals/process/__init__.py -Seals/process/process.py -Seals/scan/__init__.py -Seals/scan/scan.py -Seals/write/__init__.py -Seals/write/write.py -yoshi_seals.egg-info/PKG-INFO -yoshi_seals.egg-info/SOURCES.txt -yoshi_seals.egg-info/dependency_links.txt -yoshi_seals.egg-info/requires.txt -yoshi_seals.egg-info/top_level.txt \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.1/yoshi_seals.egg-info/dependency_links.txt b/Older Versions/yoshi-seals1.3.1/yoshi_seals.egg-info/dependency_links.txt deleted file mode 100644 index 8b13789..0000000 --- a/Older Versions/yoshi-seals1.3.1/yoshi_seals.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Older Versions/yoshi-seals1.3.1/yoshi_seals.egg-info/requires.txt b/Older Versions/yoshi-seals1.3.1/yoshi_seals.egg-info/requires.txt deleted file mode 100644 index 5da331c..0000000 --- a/Older Versions/yoshi-seals1.3.1/yoshi_seals.egg-info/requires.txt +++ /dev/null @@ -1,2 +0,0 @@ -numpy -pandas diff --git a/Older Versions/yoshi-seals1.3.1/yoshi_seals.egg-info/top_level.txt b/Older Versions/yoshi-seals1.3.1/yoshi_seals.egg-info/top_level.txt deleted file mode 100644 index ce88a75..0000000 --- a/Older Versions/yoshi-seals1.3.1/yoshi_seals.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -Seals diff --git a/Older Versions/yoshi-seals1.3.2.tar.xz b/Older Versions/yoshi-seals1.3.2.tar.xz deleted file mode 100644 index 53949aba4f0679e44b7614e22954802d1f3ea9e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35308 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 diff --git a/Older Versions/yoshi-seals1.3.2/Seals/eigen/__pycache__/eigen.cpython-37.pyc b/Older Versions/yoshi-seals1.3.2/Seals/eigen/__pycache__/eigen.cpython-37.pyc deleted file mode 100644 index ebbe9a26e95468d23ac8cb067b83b9c3fa1f8ad0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 650 zcmZuvJ#W-N5S^V}Uydk2r*Mk$K}F{xu@D7Kgb-!ce}Q9meyTb zDtdI+An_mg5!Bm46M7mdW^IBf7-`?k?7Vq98tseS-EAOyz4!C&2M^$zOYRIQcuq%; z2_#6C!IVjq{062d*(LbmmMSorG3Uqzf6h61{ewWVmQ}E32Ck{&5H_sE)mQU3PeFaJ z;F_<+9Yf*n=HQYMzndNEJ`1dRp3oFVZ($>>)xQOgPg@r70E1b7H4_5?9VR`sYTQ1AWA6OPz zmRgosR!_yOQWPYgLG6+9FB!yT9tCkCqo&kx5?rWquELx&=D|f%#bpt^DrKETI=GC& zOrK2ZJW|Q*Jj`ZwR_mZ^JJGK8`1DCn3Zi5l6+NCV8tZlWK0T-(5daD{!V!+y5emGI yL$=M1*oaficJLwYpmKl2=hiFge9-Ln+A|6UdgK#@L7N;LcZc=Mq0s-=~w;OnrbZ znWBrSK;jdU{$JZPePR?#{rB+`Gj<8he?$cDl9=ZrZ3m$}VlXYTeCTo%@yLI-Y z|AwH){!6)f@(=LRQ{Q{rN^Jw*mzS5ktgI|EXlZ+Ybd@l6i-SK+fb$XLUVxEI z@=JEeq>vHxT*e11OGX@~utlIJpk0tF!AL&m)1!`e>=gWU_LbRVh>7W-6BH8^`|P=g z9j~K~OR>f}f%ZmR@C(T7Ag>eK6n)3$;%ws!#H0Y9pQYe4s39KS!Ex*kEBU^@*Ens9 zzUiw<)vEEPe?Fg{&p-6DI3%ttCMqQ3$`n2%x|y^-q+?_2!e>!Pp|g4#xDNdE2eSy~ z=QuA-t@2V!H8ZZ%`MxzLwy0~}oaFm6Uz#TWWMo?@mmjF2a+|}pR#uO8i)z$Xt;;EG z)8X9ftv8EBxo(`Y{&%-EnOS6qnB6KECStKlddYjDCusHoH9kuUBGdzL2=&`XsNWM- zL0BUI3OE-)0VbExKL9PUTl=5gF_N=*U=~|^VjH7@kHRdLkcp6fQzLJzeTp$ewlL4o o>w$R%a`eaOLK|=)iVw5JwP^5HB5i@$VQIT2umj?PMJzr41q1k%SO5S3 diff --git a/Older Versions/yoshi-seals1.3.2/Seals/process/__init__.py b/Older Versions/yoshi-seals1.3.2/Seals/process/__init__.py deleted file mode 100644 index 985e6e0..0000000 --- a/Older Versions/yoshi-seals1.3.2/Seals/process/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .process import identity -from .process import gauss -from .process import inverse -from .process import cholesky -from .process import decomposition -from .process import cramer \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.2/Seals/process/__pycache__/__init__.cpython-37.pyc b/Older Versions/yoshi-seals1.3.2/Seals/process/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index 9e70d8d1e4c013be3676b8f769da71dc46342d72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 386 zcmXw#J5Izf5Qgo%L8PPN23zb}h!!CPEvy!8=YlA5ti-~P$de%DNL(o`6$hZ9VrM^B_f#66J&Vv%o=q6dRn8Y`_i{2ZLe4+X6#xJL diff --git a/Older Versions/yoshi-seals1.3.2/Seals/process/__pycache__/process.cpython-37.pyc b/Older Versions/yoshi-seals1.3.2/Seals/process/__pycache__/process.cpython-37.pyc deleted file mode 100644 index 0a056eeb3c4be8973cc38935e325c026dd511ef4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2597 zcmZuz&u<$=6rP!#U2jvzgc5<<1{6?17)q>GLU6FE0#y$cL=i1SL{)|HY+^h9IlGDM zYR#o^;eaAIa7`pG@F!H_#)&^+uk;eB$BF~u!1vy+*N)XhGxO%nn>RD>``%lByu7?5 z@b}A|XAi0`3h_5hrhf{;O|z@L+~PcVi(bVg3($iy-hZO9kJzOYT`)aX{M=5+UA zq4t%%VW5p+7pt1+t+Lj!pBwC-YGd5=12Iv>*<*YKFgwkI2nnkjbb@*Mt2sphp{sk;lp(G zSe}T9hU_55h+j>_Jj3X4ES=%TwitEJpz{PXoD&|?4(ywr`+JVXL#(KDWoC0(Ox#RQ zBX+HdGM%bwXc>wRXDHH3hfCWjXKv5G_(L$9;AB-!WB^0bn8o8gyUZSI*JJ`|PgHFWUNjskm+`ak%z=s%a zpaag5kS46xRZ$itVZEZtYDt%6Sr(NKjaF9_$+mr>psMe{~)$8PMP#{3m~ znVky{&PxIn!;4+!oICt=8xf`R`Ao_LuYC3nU*{gL!=vVRy*2L>-Zl2Y`|4TW{}AWW zx1@eEOIXj}J66Vgn3?I{;xikKp;y5Jc5<6%$w_)^I3;*eQ%AwpUtB%Nl znJ2JgT9?Fu=H6XHhf_(LQ3SPDIbUmwn*JFb!*hU zO5H*MSvEnV-yQVBR@CbEeuhPO6`i2cN3`IN-Fy+eKt<45m+K%z5mYEC`#S7%Dp0+p z#^tXKfeH>9K0ZW-Y1tWV&eOn}STK+p9}JxpduLbGu)FOdiS!A4u!Iy(QxE~31{LWR ztHqB&fn%07 zP!|xT6{H0v4?YENLI*h9-a&UTPElKhDg}|Me2N-n566u+%z?t^@h8czb@^w@4cZ^l RR?0oU?7!=4|9$_R{{ixa_{RVM diff --git a/Older Versions/yoshi-seals1.3.2/Seals/process/process.py b/Older Versions/yoshi-seals1.3.2/Seals/process/process.py deleted file mode 100644 index 968cd9c..0000000 --- a/Older Versions/yoshi-seals1.3.2/Seals/process/process.py +++ /dev/null @@ -1,203 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import numpy as np -import math - -def identity(matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[0]): - - if (i == j): - - matrix[i][j] = 1 - - elif (i != j): - - matrix[i][j] = 0 - - j += 1 - - i += 1 - - return matrix - -def gauss(matrix): - - i = 0 - k = 0 - - while (i < matrix.shape[0]): - - if (matrix[i][i] == 0): - - n = i - - while (matrix[i][i] == 0) and (n < matrix.shape[0]): - - temp = matrix[i].copy() - matrix[i] = matrix[n] - matrix[n] = temp - - n += 1 - - while (k < matrix.shape[0]): - - if (k == i) or (matrix[i][i] == 0): - - k += 1 - - else: - - mult = matrix[k][i]/matrix[i][i] - matrix[k] = matrix[k] - mult*matrix[i] - k += 1 - - i += 1 - k = 0 - - i = 0 - - while ((i) < matrix.shape[0]) and (matrix[i][i] != 0): - - matrix[i] = matrix[i]/matrix[i][i] - i += 1 - - return matrix[:,(matrix.shape[0]):] - -def inverse(matrix): - - return gauss(np.hstack((matrix, identity(np.zeros(matrix.shape))))) - -def cholesky(A, b): - - g = np.zeros((A.shape)) - - i = 0 - j = 0 - - while j < A.shape[1]: - while i < A.shape[0]: - - if i == 0 and j == 0: - - g[i][j] = math.sqrt(A[0][0]) - - elif j == 0: - - g[i][j] = A[i][0]/g[0][0] - - elif i == j: - - k = 0 - theta = 0 - - while k < i: - - theta += g[i][k]**2 - k += 1 - - g[i][j] = math.sqrt(A[i][i] - theta) - - else: - - k = 0 - theta = 0 - - while k < j: - - theta += g[i][k]*g[j][k] - k += 1 - - g[i][j] = (A[i][j] - theta)/g[j][j] - - i += 1 - - j += 1 - i = j - - y = (inverse(g)).dot(b) - - x = (inverse(g.T)).dot(y) - - return x - -def decomposition(U, b): - - L = identity(np.zeros(U.shape)) - - i = 0 - k = 0 - - while (i < U.shape[0]): - - k = 0 - - if (U[i][i] == 0): - - n = i - - while (U[i][i] == 0) and (n < U.shape[0]): - - temp = U[i].copy() - U[i] = U[n] - U[n] = temp - - n += 1 - - while (k < U.shape[0]): - - if (k <= i) or (U[i][i] == 0): - - k += 1 - - else: - L[k][i] = U[k][i]/U[i][i] - U[k] = U[k] - L[k][i]*U[i] - k += 1 - - i += 1 - - y = (inverse(L)).dot(b) - - x = (inverse(U)).dot(y) - - return x - -def cramer(A, b): - - x = np.vstack(np.zeros(b.shape)) - k = 0 - - while (k < A.shape[0]): - - temp = A.copy() - temp[:,k] = b - - x[k] = np.linalg.det(temp)/np.linalg.det(A) - - k += 1 - - return x \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.2/Seals/scan/__init__.py b/Older Versions/yoshi-seals1.3.2/Seals/scan/__init__.py deleted file mode 100644 index c0167ff..0000000 --- a/Older Versions/yoshi-seals1.3.2/Seals/scan/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .scan import numpy as np -from .scan import pandas as pd \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.2/Seals/scan/__pycache__/__init__.cpython-37.pyc b/Older Versions/yoshi-seals1.3.2/Seals/scan/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index dfa267e815a50d4c7ceaf9a32d318071f01ada1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmXwzze)o^5XN`+E6OHNvzTh^rB6j{5cK5dg#TmNJcysQ$Z5*eITQ{rR LU6D1GpDy_?<{Cyu diff --git a/Older Versions/yoshi-seals1.3.2/Seals/scan/__pycache__/scan.cpython-37.pyc b/Older Versions/yoshi-seals1.3.2/Seals/scan/__pycache__/scan.cpython-37.pyc deleted file mode 100644 index 0452701527b478502880943d0c179b2b939cf7b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 641 zcma)4y=ojW5Z2$`$;Ov}F*py9A_ws;A&@GBVAoy@?yj&S?wpOFUzAAg-Zv$VVG1@cYg2_uVGUS^xac5ghquez|5)l( zd)f4LH_VfuIrv>1hjnWqo>XP34cWzP7H+PfV5fRqxYScH}AcZt;GTl=|E>(JZnn?9rx?HRAt2Sd%w0^5g{OJL)hOf8UJ$lyFVBbUWm435gtR%nSoz y(wPQ~e~rG6A7s0#dr9>o%c82dbr4M#@y!I{^WTR0V;#x+bU-cXKWKdO?(7faL5IZv diff --git a/Older Versions/yoshi-seals1.3.2/Seals/write/__init__.py b/Older Versions/yoshi-seals1.3.2/Seals/write/__init__.py deleted file mode 100644 index 90f152d..0000000 --- a/Older Versions/yoshi-seals1.3.2/Seals/write/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .write import numpy as np -from .write import pandas as pd \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.2/Seals/write/__pycache__/__init__.cpython-37.pyc b/Older Versions/yoshi-seals1.3.2/Seals/write/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index 7b0ac6bf9012026fce51535debab2ec80e263b49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmXwzziPuU5XL1tPC}`-j(q_S$q}-a5ZbvWkS#-uh=eWBKO~FdN9qIgWelA<^#QtM z%E=`Mcl?gK`@VZE%Ljt-CI8OfIUzr(xkrYu#|+O{IN?+gO-~t3oFV6@8FGFk)$Etz zN=3)QMC}HIxnqX2P*=rRe0bRlpVY?8IFB|6j(-xrK%C08h0baLo#bM$p_6d%w)ISF zX<9f8eP<24TOO4Na1>01RUNhP^76*iC8`);I$MP_+pM?$OE6hO(?}!xrdhjTT)yZ@ MX7_~NAwBg-ZzYFF761SM diff --git a/Older Versions/yoshi-seals1.3.2/Seals/write/__pycache__/write.cpython-37.pyc b/Older Versions/yoshi-seals1.3.2/Seals/write/__pycache__/write.cpython-37.pyc deleted file mode 100644 index 9beac4490212a6d0dd37690bdf7db96a22eed3d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 596 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 diff --git a/Older Versions/yoshi-seals1.3.2/dist/yoshi_seals-1.3.2-py3-none-any.whl b/Older Versions/yoshi-seals1.3.2/dist/yoshi_seals-1.3.2-py3-none-any.whl deleted file mode 100644 index 7c6b89f485e31c78f39ada3e212a1190206510a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17612 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 diff --git a/Older Versions/yoshi-seals1.3.2/setup.py b/Older Versions/yoshi-seals1.3.2/setup.py deleted file mode 100644 index 11ab735..0000000 --- a/Older Versions/yoshi-seals1.3.2/setup.py +++ /dev/null @@ -1,27 +0,0 @@ -import setuptools - -with open("README.md", "r") as fh: - long_description = fh.read() - -setuptools.setup( - name="yoshi-seals", - version="1.3.2", - author="Vitor Hideyoshi", - author_email="vitor.h.n.batista@gmail.com", - description="Numeric Calculus python module in the topic of Linear Algebra", - long_description=long_description, - long_description_content_type="text/markdown", - url="https://github.com/HideyoshiNakazone/Seals-NumericCalculus.git", - packages=setuptools.find_packages(), - classifiers=[ - "Programming Language :: Python :: 3", - "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", - "Operating System :: OS Independent", - "Development Status :: 2 - Pre-Alpha", - ], - python_requires='>=3.6', - install_requires=[ - 'numpy', - 'pandas', - ], -) \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/PKG-INFO b/Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/PKG-INFO deleted file mode 100644 index 04d3b9b..0000000 --- a/Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/PKG-INFO +++ /dev/null @@ -1,71 +0,0 @@ -Metadata-Version: 2.1 -Name: yoshi-seals -Version: 1.3.2 -Summary: Numeric Calculus python module in the topic of Linear Algebra -Home-page: https://github.com/HideyoshiNakazone/Seals-NumericCalculus.git -Author: Vitor Hideyoshi -Author-email: vitor.h.n.batista@gmail.com -License: UNKNOWN -Description: # Seals - Numeric Calculus - - This python namespace is made for applied Numeric Calculus of Linear Algebra. It is made with the following objectives in mind: - - * Scan *csv* files to make a numpy matrix. - - * Write a matrix into a *csv* file - - * Insert user input into a matrix or a vector. - - * Calculate Eigen Values - - * Use methods to proccess the matrices. - * Identity Matrix - * Gauss Elimination - * Inverse Matrix - * Cholesky Decomposition - * LU Decomposition - * Cramer - - ## Syntax - - To call the package *scan* use the syntax: `from Seals import scan`. The package also has a function for *Numpy* arrays and *Pandas* dataframes, and used the following syntax `scan.np(path)` for *Numpy* and `scan.pd(path)` for *Pandas*, where `path` is the path to your directory. - - To call the package *write* use the syntax: `from Seals import write`. The package also has a function for *Numpy* arrays and *Pandas* dataframes, and uses the following syntax `write.np(array,path)` for *Numpy*, where `array` is the matrix that you desire to output and `path` is the path to your directory, and `write.pd(df,path)` for *Pandas*, where `df` is the matrix that you desire to output and `path` is the path to your directory. - - To call the package *insert* use the syntax: `from Seals import insert`. The package also has a function for *matrix* and another for *vector*, and it has the following syntax `insert.function(array)`, where `insert` is the *Python Module* and `function` is either a `matrix` or a `vector` and `array` is either a *matrix* or a *vector*. - - There is also a function that given a matrix it return all real eigen values - - ### Processes - - To call the module `process` use the syntax: `from Seals import process as sl`, where `sl` is an instance and to use a function you have to append the desired function in front of the instance like: `sl.identity(array)`. - - * The function *identity* returns a *numpy* identity matrix of the order of the matrix passed into to it, and it has the following syntax `sl.identity(array)`, which `array` is a square matrix. - - * The function *gauss* returns a *numpy* vector containing the vector of variables from the augmented matrix. `sl.gauss(matrix)`, which `matrix` is the augmented matrix. - - * The function *inverse* returns a *numpy* inverse matrix of the matrix passed into to it, and it has the following syntax `sl.inverse(matrix)`, which `matrix` is a square matrix. - - * The function *cholesky* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - - * The function *decomposition* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - - * The function *cramer* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - - ## Installation - - To install the package from source `cd` into the directory and run: - - `pip install .` - - or run - - `pip install yoshi-seals` - -Platform: UNKNOWN -Classifier: Programming Language :: Python :: 3 -Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2) -Classifier: Operating System :: OS Independent -Classifier: Development Status :: 2 - Pre-Alpha -Requires-Python: >=3.6 -Description-Content-Type: text/markdown diff --git a/Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/SOURCES.txt b/Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/SOURCES.txt deleted file mode 100644 index d941c7a..0000000 --- a/Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/SOURCES.txt +++ /dev/null @@ -1,18 +0,0 @@ -README.md -setup.py -Seals/__init__.py -Seals/eigen/__init__.py -Seals/eigen/eigen.py -Seals/insert/__init__.py -Seals/insert/insert.py -Seals/process/__init__.py -Seals/process/process.py -Seals/scan/__init__.py -Seals/scan/scan.py -Seals/write/__init__.py -Seals/write/write.py -yoshi_seals.egg-info/PKG-INFO -yoshi_seals.egg-info/SOURCES.txt -yoshi_seals.egg-info/dependency_links.txt -yoshi_seals.egg-info/requires.txt -yoshi_seals.egg-info/top_level.txt \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/dependency_links.txt b/Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/dependency_links.txt deleted file mode 100644 index 8b13789..0000000 --- a/Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/requires.txt b/Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/requires.txt deleted file mode 100644 index 5da331c..0000000 --- a/Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/requires.txt +++ /dev/null @@ -1,2 +0,0 @@ -numpy -pandas diff --git a/Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/top_level.txt b/Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/top_level.txt deleted file mode 100644 index ce88a75..0000000 --- a/Older Versions/yoshi-seals1.3.2/yoshi_seals.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -Seals diff --git a/Older Versions/yoshi-seals1.3.3.tar.xz b/Older Versions/yoshi-seals1.3.3.tar.xz deleted file mode 100644 index 61dd4c16480754db7954c8ec055c3af445203624..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34960 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ΌoiPF-qc{5WI zVtfH{lzefOVM>KCZ-*-^)>jzaTRej`d3Z6+q`mgT{eLf4Kv|j(CSVUrSH(~BTIKL_ z@TVZ`y`XIX{8N8FaJCBVCeEv$BNFU*M9Xfr=j4G(O6iT+7N_b9Q-^myYq+knp;Q>9 z2efsUy9VD#Zn^!Yf$OeC2-K{Q9M)TM%H|yy7`zEW$@Vj_Vjkxv7KVNM`K!1mo5UV> z>DNVVS!9PXuylaMYzx}_wsQ<#9LZu@ZETKCs7zF$(fpwX`T>CEk10vER{x&hht*Tf zvcnX1oyO>j1I&wLt1sgOl%0H;8l!)qcWVCHTS^*Ut_8yuBAQU~FlPT#8YV$6eo@@4ZEl-s#U9IBl% z2Dp~&Tzs;5^2>z8gPs_M+6qX?FfWK#Omiv6GwIc$kPFNn-T&-cCvgdR-ynS0HY9aZ zERoR;e+}^BZtEz*E*CkyZb=jyh^{&KufLv5Qp}?U74|jl_a-S=)EqM#@r19KNv69_ zU6LLXV<9@(Uamb%?<%4(;hBrCy=iehN&WnJooz>=moPf+U|vfksG#1l0#2Ufj?^t| zhCO;fo6)6IiD2yg)1Ecogx+0Al&!0-S8-nw9*eDV9{#Zt85a2L;J-DVT4tD$h{R0D zzNh}iR*MY@3-(Xh?H2~DL1wmZLpbWu1?H+M$3GgaKe2<}Uiv*BWRnX5Es6kde*U*4 zXzLk!<_8B%+PM&$ecD(%x-bS*p4a)Uj5>r1c=E;B=~{O4>R>k_)4`C+s-UR-I`CYI zLFK!-f{DiB4cD4()e_8R^5(miK=@zJJPL@h3;iP(z&Q=28g;p@=t3G27R6yRrGcMa zl7ZY=JW_xyhgy@b9y0|es(yN>+Z~=w7W<&s{Luy$`YD@F9)QC!<0xAWg%H7524b{R z(S%SQS37w_Gq%pn9bmKm=wQbz=gZcb_|65#TnqllHeRdUMM26ydI#+18QSC;Tl-hfOnv)RJLa2qLtv_3h5~YggoiyoE~7w( z=^46=F+-K!__woE5#vgJ0({5VuiHHq(5?S2<-b!DTAfb2&4njb4bKg{oFrz50QD)? zEI{;Cr<3ePF(+qMdgsn+jcs-h)}(?UQ!D zM#HjnQ?gbEMi7A8LrTJJ*uyH@rRr}yH}rH$>}AqEo(;c%WxKqovVJHt2=UXjgB{%c zy20K2T~4{@&vxcz&ZSMEK%4L^Xlk6DkttqC>ME@9a6gQ1H=K{6gb6N0(In>#R4VzqcOiB=LSm>5wG=>8{ zg}hSGP6p&B0@)X>QZLYgiAazr`RkP0hw@IN#!o5E}}=P9mZ!; zsEiM#>qP9ayo1G;Ge5JBlC`?eOKbYQlYVq4A|Gz`;qNDYVuc0eUI8zBH4y>j0=57E k0I+dw?epk%x&Q&{kOF|92>C2*PO-#i`vL#}000D8TAPg#&;S4c diff --git a/Older Versions/yoshi-seals1.3.3/.vscode/launch.json b/Older Versions/yoshi-seals1.3.3/.vscode/launch.json deleted file mode 100644 index 17e15f2..0000000 --- a/Older Versions/yoshi-seals1.3.3/.vscode/launch.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Python: Current File", - "type": "python", - "request": "launch", - "program": "${file}", - "console": "integratedTerminal" - } - ] -} \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/.vscode/settings.json b/Older Versions/yoshi-seals1.3.3/.vscode/settings.json deleted file mode 100644 index 5464203..0000000 --- a/Older Versions/yoshi-seals1.3.3/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "python.pythonPath": "/home/hideyoshi/anaconda3/bin/python" -} \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/LICENSE b/Older Versions/yoshi-seals1.3.3/LICENSE deleted file mode 100644 index d2c5abe..0000000 --- a/Older Versions/yoshi-seals1.3.3/LICENSE +++ /dev/null @@ -1,278 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/README.md b/Older Versions/yoshi-seals1.3.3/README.md deleted file mode 100644 index b0f33ad..0000000 --- a/Older Versions/yoshi-seals1.3.3/README.md +++ /dev/null @@ -1,55 +0,0 @@ -# Seals - Numeric Calculus - -This python namespace is made for applied Numeric Calculus of Linear Algebra. It is made with the following objectives in mind: - -* Scan *csv* files to make a numpy matrix. - -* Write a matrix into a *csv* file. - -* Insert user input into a matrix or a vector. - -* Calculate Eigenvalues and his Eigenvectors. - -* Use methods to proccess the matrices. - * Identity Matrix - * Gauss Elimination - * Inverse Matrix - * Cholesky Decomposition - * LU Decomposition - * Cramer - -## Syntax - -To call the package *scan* use the syntax: `from Seals import scan`. The package also has a function for *Numpy* arrays and *Pandas* dataframes, and used the following syntax `scan.np(path)` for *Numpy* and `scan.pd(path)` for *Pandas*, where `path` is the path to your directory. - -To call the package *write* use the syntax: `from Seals import write`. The package also has a function for *Numpy* arrays and *Pandas* dataframes, and uses the following syntax `write.np(array,path)` for *Numpy*, where `array` is the matrix that you desire to output and `path` is the path to your directory, and `write.pd(df,path)` for *Pandas*, where `df` is the matrix that you desire to output and `path` is the path to your directory. - -To call the package *insert* use the syntax: `from Seals import insert`. The package also has a function for *matrix* and another for *vector*, and it has the following syntax `insert.function(array)`, where `insert` is the *Python Module* and `function` is either a `matrix` or a `vector` and `array` is either a *matrix* or a *vector*. - -There is also a function that given a matrix it return all real eigenvalues and all real eigenvectors, this function uses the power method to find the eigenvalues and inverse power method for the eigenvector. - -### Processes - -To call the module `process` use the syntax: `from Seals import process as sl`, where `sl` is an instance and to use a function you have to append the desired function in front of the instance like: `sl.identity(array)`. - -* The function *identity* returns a *numpy* identity matrix of the order of the matrix passed into to it, and it has the following syntax `sl.identity(array)`, which `array` is a square matrix. - -* The function *gauss* returns a *numpy* vector containing the vector of variables from the augmented matrix. `sl.gauss(matrix)`, which `matrix` is the augmented matrix. - -* The function *inverse* returns a *numpy* inverse matrix of the matrix passed into to it, and it has the following syntax `sl.inverse(matrix)`, which `matrix` is a square matrix. - -* The function *cholesky* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - -* The function *decomposition* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - -* The function *cramer* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - -## Installation - -To install the package from source `cd` into the directory and run: - -`pip install .` - -or run - -`pip install yoshi-seals` diff --git a/Older Versions/yoshi-seals1.3.3/Seals/__init__.py b/Older Versions/yoshi-seals1.3.3/Seals/__init__.py deleted file mode 100644 index e5d934d..0000000 --- a/Older Versions/yoshi-seals1.3.3/Seals/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/Seals/__pycache__/__init__.cpython-37.pyc b/Older Versions/yoshi-seals1.3.3/Seals/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index f8ca22ef5699923e6788edc2f42d20b6b48ab2ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmZ?b<>g`kg21+4adVj&7#@Q-Fu(|8H~?`m3y?@*2xib^^jpbL1QJFNzY_H`@^e%5 zGcr?BEAxvpGW7$B^3#hFb8|EE()9x>OEU8F^nLSFN^??+^@CFrbBcBSN^?_-GLxMX vbCOGQN{jWu+H{LSa)x@w5Jmd&@tJvg`kf)1gtaod?07#@Q-Fu(+4H~?|60FX#wNMX!j$YqFPU}Q*P3TDt`e#rb@<(C*Jb%m4reFgpDJ diff --git a/Older Versions/yoshi-seals1.3.3/Seals/eigen/__pycache__/eigen.cpython-37.pyc b/Older Versions/yoshi-seals1.3.3/Seals/eigen/__pycache__/eigen.cpython-37.pyc deleted file mode 100644 index ebbe9a26e95468d23ac8cb067b83b9c3fa1f8ad0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 650 zcmZuvJ#W-N5S^V}Uydk2r*Mk$K}F{xu@D7Kgb-!ce}Q9meyTb zDtdI+An_mg5!Bm46M7mdW^IBf7-`?k?7Vq98tseS-EAOyz4!C&2M^$zOYRIQcuq%; z2_#6C!IVjq{062d*(LbmmMSorG3Uqzf6h61{ewWVmQ}E32Ck{&5H_sE)mQU3PeFaJ z;F_<+9Yf*n=HQYMzndNEJ`1dRp3oFVZ($>>)xQOgPg@r70E1b7H4_5?9VR`sYTQ1AWA6OPz zmRgosR!_yOQWPYgLG6+9FB!yT9tCkCqo&kx5?rWquELx&=D|f%#bpt^DrKETI=GC& zOrK2ZJW|Q*Jj`ZwR_mZ^JJGK8`1DCn3Zi5l6+NCV8tZlWK0T-(5daD{!V!+y5emGI yL$=M1*oaficJLwYpmKl2=hiFge9-Ln+A|6UdgK#@L7N;LcZc=Mq0s-=~w;OnrbZ znWBrSK;jdU{$JZPePR?#{rB+`Gj<8he?$cDl9=ZrZ3m$}VlXYTeCTo%@yLI-Y z|AwH){!6)f@(=LRQ{Q{rN^Jw*mzS5ktgI|EXlZ+Ybd@l6i-SK+fb$XLUVxEI z@=JEeq>vHxT*e11OGX@~utlIJpk0tF!AL&m)1!`e>=gWU_LbRVh>7W-6BH8^`|P=g z9j~K~OR>f}f%ZmR@C(T7Ag>eK6n)3$;%ws!#H0Y9pQYe4s39KS!Ex*kEBU^@*Ens9 zzUiw<)vEEPe?Fg{&p-6DI3%ttCMqQ3$`n2%x|y^-q+?_2!e>!Pp|g4#xDNdE2eSy~ z=QuA-t@2V!H8ZZ%`MxzLwy0~}oaFm6Uz#TWWMo?@mmjF2a+|}pR#uO8i)z$Xt;;EG z)8X9ftv8EBxo(`Y{&%-EnOS6qnB6KECStKlddYjDCusHoH9kuUBGdzL2=&`XsNWM- zL0BUI3OE-)0VbExKL9PUTl=5gF_N=*U=~|^VjH7@kHRdLkcp6fQzLJzeTp$ewlL4o o>w$R%a`eaOLK|=)iVw5JwP^5HB5i@$VQIT2umj?PMJzr41q1k%SO5S3 diff --git a/Older Versions/yoshi-seals1.3.3/Seals/insert/insert.py b/Older Versions/yoshi-seals1.3.3/Seals/insert/insert.py deleted file mode 100644 index 003e274..0000000 --- a/Older Versions/yoshi-seals1.3.3/Seals/insert/insert.py +++ /dev/null @@ -1,46 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -def matrix(matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[1]): - - matrix[i][j] = float(input('Insira o elemento {}x{}: '.format((i+1),(j+1)))) - j += 1 - - i += 1 - - return matrix - -def vector(vector): - - j=0 - - while (j < vector.shape[0]): - - vector[j] = float(input('Insira o elemento b{}: '.format((j+1)))) - j += 1 - - return vector \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/Seals/process/__init__.py b/Older Versions/yoshi-seals1.3.3/Seals/process/__init__.py deleted file mode 100644 index 985e6e0..0000000 --- a/Older Versions/yoshi-seals1.3.3/Seals/process/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .process import identity -from .process import gauss -from .process import inverse -from .process import cholesky -from .process import decomposition -from .process import cramer \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/Seals/process/__pycache__/__init__.cpython-37.pyc b/Older Versions/yoshi-seals1.3.3/Seals/process/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index 9e70d8d1e4c013be3676b8f769da71dc46342d72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 386 zcmXw#J5Izf5Qgo%L8PPN23zb}h!!CPEvy!8=YlA5ti-~P$de%DNL(o`6$hZ9VrM^B_f#66J&Vv%o=q6dRn8Y`_i{2ZLe4+X6#xJL diff --git a/Older Versions/yoshi-seals1.3.3/Seals/process/__pycache__/process.cpython-37.pyc b/Older Versions/yoshi-seals1.3.3/Seals/process/__pycache__/process.cpython-37.pyc deleted file mode 100644 index 0a056eeb3c4be8973cc38935e325c026dd511ef4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2597 zcmZuz&u<$=6rP!#U2jvzgc5<<1{6?17)q>GLU6FE0#y$cL=i1SL{)|HY+^h9IlGDM zYR#o^;eaAIa7`pG@F!H_#)&^+uk;eB$BF~u!1vy+*N)XhGxO%nn>RD>``%lByu7?5 z@b}A|XAi0`3h_5hrhf{;O|z@L+~PcVi(bVg3($iy-hZO9kJzOYT`)aX{M=5+UA zq4t%%VW5p+7pt1+t+Lj!pBwC-YGd5=12Iv>*<*YKFgwkI2nnkjbb@*Mt2sphp{sk;lp(G zSe}T9hU_55h+j>_Jj3X4ES=%TwitEJpz{PXoD&|?4(ywr`+JVXL#(KDWoC0(Ox#RQ zBX+HdGM%bwXc>wRXDHH3hfCWjXKv5G_(L$9;AB-!WB^0bn8o8gyUZSI*JJ`|PgHFWUNjskm+`ak%z=s%a zpaag5kS46xRZ$itVZEZtYDt%6Sr(NKjaF9_$+mr>psMe{~)$8PMP#{3m~ znVky{&PxIn!;4+!oICt=8xf`R`Ao_LuYC3nU*{gL!=vVRy*2L>-Zl2Y`|4TW{}AWW zx1@eEOIXj}J66Vgn3?I{;xikKp;y5Jc5<6%$w_)^I3;*eQ%AwpUtB%Nl znJ2JgT9?Fu=H6XHhf_(LQ3SPDIbUmwn*JFb!*hU zO5H*MSvEnV-yQVBR@CbEeuhPO6`i2cN3`IN-Fy+eKt<45m+K%z5mYEC`#S7%Dp0+p z#^tXKfeH>9K0ZW-Y1tWV&eOn}STK+p9}JxpduLbGu)FOdiS!A4u!Iy(QxE~31{LWR ztHqB&fn%07 zP!|xT6{H0v4?YENLI*h9-a&UTPElKhDg}|Me2N-n566u+%z?t^@h8czb@^w@4cZ^l RR?0oU?7!=4|9$_R{{ixa_{RVM diff --git a/Older Versions/yoshi-seals1.3.3/Seals/process/process.py b/Older Versions/yoshi-seals1.3.3/Seals/process/process.py deleted file mode 100644 index 968cd9c..0000000 --- a/Older Versions/yoshi-seals1.3.3/Seals/process/process.py +++ /dev/null @@ -1,203 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import numpy as np -import math - -def identity(matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[0]): - - if (i == j): - - matrix[i][j] = 1 - - elif (i != j): - - matrix[i][j] = 0 - - j += 1 - - i += 1 - - return matrix - -def gauss(matrix): - - i = 0 - k = 0 - - while (i < matrix.shape[0]): - - if (matrix[i][i] == 0): - - n = i - - while (matrix[i][i] == 0) and (n < matrix.shape[0]): - - temp = matrix[i].copy() - matrix[i] = matrix[n] - matrix[n] = temp - - n += 1 - - while (k < matrix.shape[0]): - - if (k == i) or (matrix[i][i] == 0): - - k += 1 - - else: - - mult = matrix[k][i]/matrix[i][i] - matrix[k] = matrix[k] - mult*matrix[i] - k += 1 - - i += 1 - k = 0 - - i = 0 - - while ((i) < matrix.shape[0]) and (matrix[i][i] != 0): - - matrix[i] = matrix[i]/matrix[i][i] - i += 1 - - return matrix[:,(matrix.shape[0]):] - -def inverse(matrix): - - return gauss(np.hstack((matrix, identity(np.zeros(matrix.shape))))) - -def cholesky(A, b): - - g = np.zeros((A.shape)) - - i = 0 - j = 0 - - while j < A.shape[1]: - while i < A.shape[0]: - - if i == 0 and j == 0: - - g[i][j] = math.sqrt(A[0][0]) - - elif j == 0: - - g[i][j] = A[i][0]/g[0][0] - - elif i == j: - - k = 0 - theta = 0 - - while k < i: - - theta += g[i][k]**2 - k += 1 - - g[i][j] = math.sqrt(A[i][i] - theta) - - else: - - k = 0 - theta = 0 - - while k < j: - - theta += g[i][k]*g[j][k] - k += 1 - - g[i][j] = (A[i][j] - theta)/g[j][j] - - i += 1 - - j += 1 - i = j - - y = (inverse(g)).dot(b) - - x = (inverse(g.T)).dot(y) - - return x - -def decomposition(U, b): - - L = identity(np.zeros(U.shape)) - - i = 0 - k = 0 - - while (i < U.shape[0]): - - k = 0 - - if (U[i][i] == 0): - - n = i - - while (U[i][i] == 0) and (n < U.shape[0]): - - temp = U[i].copy() - U[i] = U[n] - U[n] = temp - - n += 1 - - while (k < U.shape[0]): - - if (k <= i) or (U[i][i] == 0): - - k += 1 - - else: - L[k][i] = U[k][i]/U[i][i] - U[k] = U[k] - L[k][i]*U[i] - k += 1 - - i += 1 - - y = (inverse(L)).dot(b) - - x = (inverse(U)).dot(y) - - return x - -def cramer(A, b): - - x = np.vstack(np.zeros(b.shape)) - k = 0 - - while (k < A.shape[0]): - - temp = A.copy() - temp[:,k] = b - - x[k] = np.linalg.det(temp)/np.linalg.det(A) - - k += 1 - - return x \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/Seals/scan/__init__.py b/Older Versions/yoshi-seals1.3.3/Seals/scan/__init__.py deleted file mode 100644 index c0167ff..0000000 --- a/Older Versions/yoshi-seals1.3.3/Seals/scan/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .scan import numpy as np -from .scan import pandas as pd \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/Seals/scan/__pycache__/__init__.cpython-37.pyc b/Older Versions/yoshi-seals1.3.3/Seals/scan/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index dfa267e815a50d4c7ceaf9a32d318071f01ada1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmXwzze)o^5XN`+E6OHNvzTh^rB6j{5cK5dg#TmNJcysQ$Z5*eITQ{rR LU6D1GpDy_?<{Cyu diff --git a/Older Versions/yoshi-seals1.3.3/Seals/scan/__pycache__/__init__.cpython-38.pyc b/Older Versions/yoshi-seals1.3.3/Seals/scan/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index e2911f9451ac79e9f4e4419d90bdc25fbd5d4a8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmYk0ziI<9490EWC4|y!9s2?|2K1~SgB!iN0=vH$JqYSx<%`BvhPGn$7eUiLJT*{B(CVI_{ReFkGEI;OW&eD4u z&ipuCObq-js^T>8la>y4hvId%wpOFUzAAg-Zv$VVG1@cYg2_uVGUS^xac5ghquez|5)l( zd)f4LH_VfuIrv>1hjnWqo>XP34cWzP7H+PfV5fRqxYScH}AcZt;GTl=|E>(JZnn?9rx?HRAt2Sd%w0^5g{OJL)hOf8UJ$lyFVBbUWm435gtR%nSoz y(wPQ~e~rG6A7s0#dr9>o%c82dbr4M#@y!I{^WTR0V;#x+bU-cXKWKdO?(7faL5IZv diff --git a/Older Versions/yoshi-seals1.3.3/Seals/scan/__pycache__/scan.cpython-38.pyc b/Older Versions/yoshi-seals1.3.3/Seals/scan/__pycache__/scan.cpython-38.pyc deleted file mode 100644 index bc6dd0d994b6a219bceb8288518be6e931dbc87c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 587 zcmYjOu};G<5Vf7O4FxtN5Cb!jXd=Xl5K?ENN)<~MWaUf~h?B@p5S7}EwI9L<@H1JN zSQ(kPGgRtHem9A`a9&T~ja|B?(OO|rCi`0W52=Lx` z%3uUO4A2w6=PV4qFq>y!WhX-kBL<%O8mITB|rOKrL&V7xB#03nR5I zszp3ows~E}cQtgSvhiHW(oT|2D^p}sS!P|?+1Qm$EZtp3SJBm9T5K~}If$BNKd3t0 zERTr@y~;$uePIIhGSX{n01RUNhP^76*iC8`);I$MP_+pM?$OE6hO(?}!xrdhjTT)yZ@ MX7_~NAwBg-ZzYFF761SM diff --git a/Older Versions/yoshi-seals1.3.3/Seals/write/__pycache__/__init__.cpython-38.pyc b/Older Versions/yoshi-seals1.3.3/Seals/write/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 29386bcd3df10ffc95e7addb8281055895a8b7f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmYjKyK2KQ6upvTQ%bV+BjOL7+9FAi#DFC|Aw^Tvw5J3Vd4;}G6nQ19 z6SS)@g6A!nYnN@9P&7d}Dbk^>=lUh;QN`jMF%o9#LQjKygV>Z=p&!i#ZxtJ~RFhAG zX2<9+QCO?pg&n7H@QyusnT<;9q=ZSkL$)gF^P@25Y;t1D+b)&eZMX0Ce`jn7XPj%N YN6x!2%~yAJF}lCO;8fDrWKA3L3%;I8O8@`> diff --git a/Older Versions/yoshi-seals1.3.3/Seals/write/__pycache__/write.cpython-37.pyc b/Older Versions/yoshi-seals1.3.3/Seals/write/__pycache__/write.cpython-37.pyc deleted file mode 100644 index 9beac4490212a6d0dd37690bdf7db96a22eed3d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 596 zcmYjPv2GMG5FLAWk6Wa>0J=~iAt9QT;H*#rLO?_jDR(3!QP35fth32(w7XtxAE%Wz z9c{!1qzNTIMB$c-p6V*bK7kl%W}mHjH{F}O+IQ*ZTCGeLyM$}aTNgLn z=Ch$GjFlCimqjhPo^2UbE^VRe`G)cx^er4}eZq28NtPEvw#wuMJJ9M(^QyuY*g#>o%G&|!b;~jS7Av^W`u~2*5v@WTaRny+}+VwF29nujQQGEyT zKZ(865qgk#h@gXO6xjH|0dnAVFo_XNlz2fAQiKpPvJi@dmjn|9&1E#2?#+%hk4^WC z&8{{la<%vi;lRN^fHVK2ublV`zQ9*KUc8Ykphs2RUENh(kFVzO=H>>&`1QlzlHWtd z{-DkJ@UYnfnfqXpNnWtHn|UnU-i!UOnH17{!KC+-h>?46qBZ^CUlHQTQjc**GJ< zJ_I&2^rM?ZSww%o~4vp2IHPJrE_+XM9vNJwD z1GBzS#YB_TvGd7jT9;}x&83>xW}1&4>iVfp%QCN?jvmgNXKZy{0Sxa@!@0|0Sk!J@|6?q9Sbv$_1){V-hsg8TJMDS5y{d%S<>t*KHhAtc( zZ$5hb?e||L2M@*%4!-;*9(3aR#6*DxV3-Y3t<$;nXK6EyhbA|TD$}IMD+SwIrY_nh zudAffyR3umL0NBsy$3R6iix4P!54!rM{wem^iZl^1G)5UW6`i9z7$JNcpVU}b zbig|R^u`PCgZq4GiEBW_ z+n6+UyA6-iqE$w}Pm;@Oxg1ahKL%YOW4Mltl~V)_O?|PZd|B#k9DGC;sA*iOeN8fS iq{9eB*f~SeSj^;AW^DiS4sBoDz%4_i>2rKyc>Qk!ia84a diff --git a/Older Versions/yoshi-seals1.3.3/Seals/write/write.py b/Older Versions/yoshi-seals1.3.3/Seals/write/write.py deleted file mode 100644 index 632928e..0000000 --- a/Older Versions/yoshi-seals1.3.3/Seals/write/write.py +++ /dev/null @@ -1,51 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import csv -import numpy as np -import pandas as pd - -class numpy: - - def __init__(self): - pass - def csv(self, array, path): - - with open(path, mode='w') as sistema_linear: - - solution_writer = csv.writer(sistema_linear, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) - solution_writer.writerows(array) - - def txt(self, array, path): - - np.savetxt(path, array, fmt='%8f', delimiter=' ', \ - newline='\n', header='', footer='', comments='# ', encoding=None) - -class pandas: - - def __init__(self): - pass - def csv(self, df, path): - - df.to_csv(path) - - def txt(self, df, path): - - np.savetxt(path, df.values, fmt='%8f', delimiter=' ', \ - newline='\n', header='', footer='', comments='# ', encoding=None) diff --git a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/__init__.py b/Older Versions/yoshi-seals1.3.3/build/lib/Seals/__init__.py deleted file mode 100644 index e5d934d..0000000 --- a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/eigen/__init__.py b/Older Versions/yoshi-seals1.3.3/build/lib/Seals/eigen/__init__.py deleted file mode 100644 index efa3006..0000000 --- a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/eigen/__init__.py +++ /dev/null @@ -1,20 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .eigen import eigen \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/eigen/eigen.py b/Older Versions/yoshi-seals1.3.3/build/lib/Seals/eigen/eigen.py deleted file mode 100644 index 52c62f2..0000000 --- a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/eigen/eigen.py +++ /dev/null @@ -1,64 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import numpy as np - -def eigen(a): - - k = 0 - l = np.ones((a.shape[0])) - - at = a #variavel temporaria para A - b = np.random.rand(a.shape[0],a.shape[1]) - - while (k < at.shape[0]): - - u = np.random.rand(at.shape[0],1) - u = u/max(u.min(), u.max(), key=abs) - - ctrl = 0 - - while (ctrl != l[k]): - - ctrl = l[k] - u = at.dot(u) - l[k] = max(u.min(), u.max(), key=abs) - u = u/l[k] - - alpha = 0.999*l[k] - - t = np.random.rand(a.shape[0],1) - - b[k] = b[k]/max(b[k].min(), b[k].max(), key=abs) - t = l/max(l.min(), l.max(), key=abs) - - while not (np.allclose(b[k],t,atol=10**(-17))): - t = b[k].copy() - b[k] = np.linalg.solve((a - alpha*np.identity(a.shape[0])),((l[k]-alpha)*t)) - b[k] = b[k]/max(b[k].min(), b[k].max(), key=abs) - - i = 0 - - while (u[i] == 0): - i += 1 - - at = at - (1/u[i])*u*at[i] - k += 1 - - return l, b \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/insert/__init__.py b/Older Versions/yoshi-seals1.3.3/build/lib/Seals/insert/__init__.py deleted file mode 100644 index 08ffc8f..0000000 --- a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/insert/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .insert import matrix -from .insert import vector \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/insert/insert.py b/Older Versions/yoshi-seals1.3.3/build/lib/Seals/insert/insert.py deleted file mode 100644 index 003e274..0000000 --- a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/insert/insert.py +++ /dev/null @@ -1,46 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -def matrix(matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[1]): - - matrix[i][j] = float(input('Insira o elemento {}x{}: '.format((i+1),(j+1)))) - j += 1 - - i += 1 - - return matrix - -def vector(vector): - - j=0 - - while (j < vector.shape[0]): - - vector[j] = float(input('Insira o elemento b{}: '.format((j+1)))) - j += 1 - - return vector \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/process/__init__.py b/Older Versions/yoshi-seals1.3.3/build/lib/Seals/process/__init__.py deleted file mode 100644 index 985e6e0..0000000 --- a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/process/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .process import identity -from .process import gauss -from .process import inverse -from .process import cholesky -from .process import decomposition -from .process import cramer \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/process/process.py b/Older Versions/yoshi-seals1.3.3/build/lib/Seals/process/process.py deleted file mode 100644 index 968cd9c..0000000 --- a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/process/process.py +++ /dev/null @@ -1,203 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import numpy as np -import math - -def identity(matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[0]): - - if (i == j): - - matrix[i][j] = 1 - - elif (i != j): - - matrix[i][j] = 0 - - j += 1 - - i += 1 - - return matrix - -def gauss(matrix): - - i = 0 - k = 0 - - while (i < matrix.shape[0]): - - if (matrix[i][i] == 0): - - n = i - - while (matrix[i][i] == 0) and (n < matrix.shape[0]): - - temp = matrix[i].copy() - matrix[i] = matrix[n] - matrix[n] = temp - - n += 1 - - while (k < matrix.shape[0]): - - if (k == i) or (matrix[i][i] == 0): - - k += 1 - - else: - - mult = matrix[k][i]/matrix[i][i] - matrix[k] = matrix[k] - mult*matrix[i] - k += 1 - - i += 1 - k = 0 - - i = 0 - - while ((i) < matrix.shape[0]) and (matrix[i][i] != 0): - - matrix[i] = matrix[i]/matrix[i][i] - i += 1 - - return matrix[:,(matrix.shape[0]):] - -def inverse(matrix): - - return gauss(np.hstack((matrix, identity(np.zeros(matrix.shape))))) - -def cholesky(A, b): - - g = np.zeros((A.shape)) - - i = 0 - j = 0 - - while j < A.shape[1]: - while i < A.shape[0]: - - if i == 0 and j == 0: - - g[i][j] = math.sqrt(A[0][0]) - - elif j == 0: - - g[i][j] = A[i][0]/g[0][0] - - elif i == j: - - k = 0 - theta = 0 - - while k < i: - - theta += g[i][k]**2 - k += 1 - - g[i][j] = math.sqrt(A[i][i] - theta) - - else: - - k = 0 - theta = 0 - - while k < j: - - theta += g[i][k]*g[j][k] - k += 1 - - g[i][j] = (A[i][j] - theta)/g[j][j] - - i += 1 - - j += 1 - i = j - - y = (inverse(g)).dot(b) - - x = (inverse(g.T)).dot(y) - - return x - -def decomposition(U, b): - - L = identity(np.zeros(U.shape)) - - i = 0 - k = 0 - - while (i < U.shape[0]): - - k = 0 - - if (U[i][i] == 0): - - n = i - - while (U[i][i] == 0) and (n < U.shape[0]): - - temp = U[i].copy() - U[i] = U[n] - U[n] = temp - - n += 1 - - while (k < U.shape[0]): - - if (k <= i) or (U[i][i] == 0): - - k += 1 - - else: - L[k][i] = U[k][i]/U[i][i] - U[k] = U[k] - L[k][i]*U[i] - k += 1 - - i += 1 - - y = (inverse(L)).dot(b) - - x = (inverse(U)).dot(y) - - return x - -def cramer(A, b): - - x = np.vstack(np.zeros(b.shape)) - k = 0 - - while (k < A.shape[0]): - - temp = A.copy() - temp[:,k] = b - - x[k] = np.linalg.det(temp)/np.linalg.det(A) - - k += 1 - - return x \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/scan/__init__.py b/Older Versions/yoshi-seals1.3.3/build/lib/Seals/scan/__init__.py deleted file mode 100644 index c0167ff..0000000 --- a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/scan/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .scan import numpy as np -from .scan import pandas as pd \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/scan/scan.py b/Older Versions/yoshi-seals1.3.3/build/lib/Seals/scan/scan.py deleted file mode 100644 index 07c5cbd..0000000 --- a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/scan/scan.py +++ /dev/null @@ -1,45 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import numpy as np -import pandas as pd - -def numpy(path, sep=None, decimal=None): - - if sep is None: - sep = "," - - if decimal is None: - decimal = "." - - df=pd.read_csv(path, sep=sep, decimal=decimal, header=None) - array = df.to_numpy() - - return array - -def pandas(path, sep=None, decimal=None): - - if sep is None: - sep = "," - - if decimal is None: - decimal = "." - - return pd.read_csv(path, sep=sep, decimal=decimal) - diff --git a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/write/__init__.py b/Older Versions/yoshi-seals1.3.3/build/lib/Seals/write/__init__.py deleted file mode 100644 index 90f152d..0000000 --- a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/write/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .write import numpy as np -from .write import pandas as pd \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/write/write.py b/Older Versions/yoshi-seals1.3.3/build/lib/Seals/write/write.py deleted file mode 100644 index b9bd1e9..0000000 --- a/Older Versions/yoshi-seals1.3.3/build/lib/Seals/write/write.py +++ /dev/null @@ -1,33 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import csv - -def numpy(array, path): - - with open(path, mode='w') as sistema_linear: - - solution_writer = csv.writer(sistema_linear, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) - solution_writer.writerows(array) - - return array - -def pandas(df, path): - - df.to_csv(path) \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/dist/yoshi-seals-1.3.3.tar.gz b/Older Versions/yoshi-seals1.3.3/dist/yoshi-seals-1.3.3.tar.gz deleted file mode 100644 index fa0f281abac9ebf90310091078cebf59b16598db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6236 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 diff --git a/Older Versions/yoshi-seals1.3.3/dist/yoshi_seals-1.3.3-py3-none-any.whl b/Older Versions/yoshi-seals1.3.3/dist/yoshi_seals-1.3.3-py3-none-any.whl deleted file mode 100644 index fc4f4c0fe0f3cc42bd41bacd30af80c1bddc88f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17566 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 JNd7-Q{eKPQ?$ZDO diff --git a/Older Versions/yoshi-seals1.3.3/setup.py b/Older Versions/yoshi-seals1.3.3/setup.py deleted file mode 100644 index 1be5f73..0000000 --- a/Older Versions/yoshi-seals1.3.3/setup.py +++ /dev/null @@ -1,26 +0,0 @@ -import setuptools - -with open("README.md", "r") as fh: - long_description = fh.read() - -setuptools.setup( - name="yoshi-seals", - version="1.3.3", - author="Vitor Hideyoshi", - author_email="vitor.h.n.batista@gmail.com", - description="Numeric Calculus python module in the topic of Linear Algebra", - long_description=long_description, - long_description_content_type="text/markdown", - url="https://github.com/HideyoshiNakazone/Seals-NumericCalculus.git", - packages=setuptools.find_packages(), - classifiers=[ - "Programming Language :: Python :: 3", - "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", - "Operating System :: OS Independent" - ], - python_requires='>=3.6', - install_requires=[ - 'numpy', - 'pandas', - ], -) \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/PKG-INFO b/Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/PKG-INFO deleted file mode 100644 index d30564d..0000000 --- a/Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/PKG-INFO +++ /dev/null @@ -1,70 +0,0 @@ -Metadata-Version: 2.1 -Name: yoshi-seals -Version: 1.3.3 -Summary: Numeric Calculus python module in the topic of Linear Algebra -Home-page: https://github.com/HideyoshiNakazone/Seals-NumericCalculus.git -Author: Vitor Hideyoshi -Author-email: vitor.h.n.batista@gmail.com -License: UNKNOWN -Description: # Seals - Numeric Calculus - - This python namespace is made for applied Numeric Calculus of Linear Algebra. It is made with the following objectives in mind: - - * Scan *csv* files to make a numpy matrix. - - * Write a matrix into a *csv* file - - * Insert user input into a matrix or a vector. - - * Calculate Eigen Values - - * Use methods to proccess the matrices. - * Identity Matrix - * Gauss Elimination - * Inverse Matrix - * Cholesky Decomposition - * LU Decomposition - * Cramer - - ## Syntax - - To call the package *scan* use the syntax: `from Seals import scan`. The package also has a function for *Numpy* arrays and *Pandas* dataframes, and used the following syntax `scan.np(path)` for *Numpy* and `scan.pd(path)` for *Pandas*, where `path` is the path to your directory. - - To call the package *write* use the syntax: `from Seals import write`. The package also has a function for *Numpy* arrays and *Pandas* dataframes, and uses the following syntax `write.np(array,path)` for *Numpy*, where `array` is the matrix that you desire to output and `path` is the path to your directory, and `write.pd(df,path)` for *Pandas*, where `df` is the matrix that you desire to output and `path` is the path to your directory. - - To call the package *insert* use the syntax: `from Seals import insert`. The package also has a function for *matrix* and another for *vector*, and it has the following syntax `insert.function(array)`, where `insert` is the *Python Module* and `function` is either a `matrix` or a `vector` and `array` is either a *matrix* or a *vector*. - - There is also a function that given a matrix it return all real eigen values - - ### Processes - - To call the module `process` use the syntax: `from Seals import process as sl`, where `sl` is an instance and to use a function you have to append the desired function in front of the instance like: `sl.identity(array)`. - - * The function *identity* returns a *numpy* identity matrix of the order of the matrix passed into to it, and it has the following syntax `sl.identity(array)`, which `array` is a square matrix. - - * The function *gauss* returns a *numpy* vector containing the vector of variables from the augmented matrix. `sl.gauss(matrix)`, which `matrix` is the augmented matrix. - - * The function *inverse* returns a *numpy* inverse matrix of the matrix passed into to it, and it has the following syntax `sl.inverse(matrix)`, which `matrix` is a square matrix. - - * The function *cholesky* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - - * The function *decomposition* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - - * The function *cramer* returns a *numpy* vector containing the vector of variables from the coefficient matrix and the constants vector, and it has the following syntax `sl.cholesky(A,b)`, which `A` is the coefficient matrix and `b` is the constants vector. - - ## Installation - - To install the package from source `cd` into the directory and run: - - `pip install .` - - or run - - `pip install yoshi-seals` - -Platform: UNKNOWN -Classifier: Programming Language :: Python :: 3 -Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2) -Classifier: Operating System :: OS Independent -Requires-Python: >=3.6 -Description-Content-Type: text/markdown diff --git a/Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/SOURCES.txt b/Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/SOURCES.txt deleted file mode 100644 index d941c7a..0000000 --- a/Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/SOURCES.txt +++ /dev/null @@ -1,18 +0,0 @@ -README.md -setup.py -Seals/__init__.py -Seals/eigen/__init__.py -Seals/eigen/eigen.py -Seals/insert/__init__.py -Seals/insert/insert.py -Seals/process/__init__.py -Seals/process/process.py -Seals/scan/__init__.py -Seals/scan/scan.py -Seals/write/__init__.py -Seals/write/write.py -yoshi_seals.egg-info/PKG-INFO -yoshi_seals.egg-info/SOURCES.txt -yoshi_seals.egg-info/dependency_links.txt -yoshi_seals.egg-info/requires.txt -yoshi_seals.egg-info/top_level.txt \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/dependency_links.txt b/Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/dependency_links.txt deleted file mode 100644 index 8b13789..0000000 --- a/Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/requires.txt b/Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/requires.txt deleted file mode 100644 index 5da331c..0000000 --- a/Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/requires.txt +++ /dev/null @@ -1,2 +0,0 @@ -numpy -pandas diff --git a/Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/top_level.txt b/Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/top_level.txt deleted file mode 100644 index ce88a75..0000000 --- a/Older Versions/yoshi-seals1.3.3/yoshi_seals.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -Seals diff --git a/Older Versions/yoshi-seals1.3.tar.xz b/Older Versions/yoshi-seals1.3.tar.xz deleted file mode 100644 index a8722ce1986c87cb76b77afeb83a48380a0ad91e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33748 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 diff --git a/Older Versions/yoshi-seals1.3/Seals/eigen/__pycache__/eigen.cpython-37.pyc b/Older Versions/yoshi-seals1.3/Seals/eigen/__pycache__/eigen.cpython-37.pyc deleted file mode 100644 index ebbe9a26e95468d23ac8cb067b83b9c3fa1f8ad0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 650 zcmZuvJ#W-N5S^V}Uydk2r*Mk$K}F{xu@D7Kgb-!ce}Q9meyTb zDtdI+An_mg5!Bm46M7mdW^IBf7-`?k?7Vq98tseS-EAOyz4!C&2M^$zOYRIQcuq%; z2_#6C!IVjq{062d*(LbmmMSorG3Uqzf6h61{ewWVmQ}E32Ck{&5H_sE)mQU3PeFaJ z;F_<+9Yf*n=HQYMzndNEJ`1dRp3oFVZ($>>)xQOgPg@r70E1b7H4_5?9VR`sYTQ1AWA6OPz zmRgosR!_yOQWPYgLG6+9FB!yT9tCkCqo&kx5?rWquELx&=D|f%#bpt^DrKETI=GC& zOrK2ZJW|Q*Jj`ZwR_mZ^JJGK8`1DCn3Zi5l6+NCV8tZlWK0T-(5daD{!V!+y5emGI yL$=M1*oaficJLwYpmKl2=hiFge9-Ln+A|6UdgK#@L7N;LcZc=Mq0s-=~w;OnrbZ znWBrSK;jdU{$JZPePR?#{rB+`Gj<8he?$cDl9=ZrZ3m$}VlXYTeCTo%@yLI-Y z|AwH){!6)f@(=LRQ{Q{rN^Jw*mzS5ktgI|EXlZ+Ybd@l6i-SK+fb$XLUVxEI z@=JEeq>vHxT*e11OGX@~utlIJpk0tF!AL&m)1!`e>=gWU_LbRVh>7W-6BH8^`|P=g z9j~K~OR>f}f%ZmR@C(T7Ag>eK6n)3$;%ws!#H0Y9pQYe4s39KS!Ex*kEBU^@*Ens9 zzUiw<)vEEPe?Fg{&p-6DI3%ttCMqQ3$`n2%x|y^-q+?_2!e>!Pp|g4#xDNdE2eSy~ z=QuA-t@2V!H8ZZ%`MxzLwy0~}oaFm6Uz#TWWMo?@mmjF2a+|}pR#uO8i)z$Xt;;EG z)8X9ftv8EBxo(`Y{&%-EnOS6qnB6KECStKlddYjDCusHoH9kuUBGdzL2=&`XsNWM- zL0BUI3OE-)0VbExKL9PUTl=5gF_N=*U=~|^VjH7@kHRdLkcp6fQzLJzeTp$ewlL4o o>w$R%a`eaOLK|=)iVw5JwP^5HB5i@$VQIT2umj?PMJzr41q1k%SO5S3 diff --git a/Older Versions/yoshi-seals1.3/Seals/insert/insert.py b/Older Versions/yoshi-seals1.3/Seals/insert/insert.py deleted file mode 100644 index 003e274..0000000 --- a/Older Versions/yoshi-seals1.3/Seals/insert/insert.py +++ /dev/null @@ -1,46 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -def matrix(matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[1]): - - matrix[i][j] = float(input('Insira o elemento {}x{}: '.format((i+1),(j+1)))) - j += 1 - - i += 1 - - return matrix - -def vector(vector): - - j=0 - - while (j < vector.shape[0]): - - vector[j] = float(input('Insira o elemento b{}: '.format((j+1)))) - j += 1 - - return vector \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3/Seals/process/__init__.py b/Older Versions/yoshi-seals1.3/Seals/process/__init__.py deleted file mode 100644 index 985e6e0..0000000 --- a/Older Versions/yoshi-seals1.3/Seals/process/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .process import identity -from .process import gauss -from .process import inverse -from .process import cholesky -from .process import decomposition -from .process import cramer \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3/Seals/process/__pycache__/__init__.cpython-37.pyc b/Older Versions/yoshi-seals1.3/Seals/process/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index 9e70d8d1e4c013be3676b8f769da71dc46342d72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 386 zcmXw#J5Izf5Qgo%L8PPN23zb}h!!CPEvy!8=YlA5ti-~P$de%DNL(o`6$hZ9VrM^B_f#66J&Vv%o=q6dRn8Y`_i{2ZLe4+X6#xJL diff --git a/Older Versions/yoshi-seals1.3/Seals/process/__pycache__/process.cpython-37.pyc b/Older Versions/yoshi-seals1.3/Seals/process/__pycache__/process.cpython-37.pyc deleted file mode 100644 index 0a056eeb3c4be8973cc38935e325c026dd511ef4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2597 zcmZuz&u<$=6rP!#U2jvzgc5<<1{6?17)q>GLU6FE0#y$cL=i1SL{)|HY+^h9IlGDM zYR#o^;eaAIa7`pG@F!H_#)&^+uk;eB$BF~u!1vy+*N)XhGxO%nn>RD>``%lByu7?5 z@b}A|XAi0`3h_5hrhf{;O|z@L+~PcVi(bVg3($iy-hZO9kJzOYT`)aX{M=5+UA zq4t%%VW5p+7pt1+t+Lj!pBwC-YGd5=12Iv>*<*YKFgwkI2nnkjbb@*Mt2sphp{sk;lp(G zSe}T9hU_55h+j>_Jj3X4ES=%TwitEJpz{PXoD&|?4(ywr`+JVXL#(KDWoC0(Ox#RQ zBX+HdGM%bwXc>wRXDHH3hfCWjXKv5G_(L$9;AB-!WB^0bn8o8gyUZSI*JJ`|PgHFWUNjskm+`ak%z=s%a zpaag5kS46xRZ$itVZEZtYDt%6Sr(NKjaF9_$+mr>psMe{~)$8PMP#{3m~ znVky{&PxIn!;4+!oICt=8xf`R`Ao_LuYC3nU*{gL!=vVRy*2L>-Zl2Y`|4TW{}AWW zx1@eEOIXj}J66Vgn3?I{;xikKp;y5Jc5<6%$w_)^I3;*eQ%AwpUtB%Nl znJ2JgT9?Fu=H6XHhf_(LQ3SPDIbUmwn*JFb!*hU zO5H*MSvEnV-yQVBR@CbEeuhPO6`i2cN3`IN-Fy+eKt<45m+K%z5mYEC`#S7%Dp0+p z#^tXKfeH>9K0ZW-Y1tWV&eOn}STK+p9}JxpduLbGu)FOdiS!A4u!Iy(QxE~31{LWR ztHqB&fn%07 zP!|xT6{H0v4?YENLI*h9-a&UTPElKhDg}|Me2N-n566u+%z?t^@h8czb@^w@4cZ^l RR?0oU?7!=4|9$_R{{ixa_{RVM diff --git a/Older Versions/yoshi-seals1.3/Seals/process/process.py b/Older Versions/yoshi-seals1.3/Seals/process/process.py deleted file mode 100644 index 968cd9c..0000000 --- a/Older Versions/yoshi-seals1.3/Seals/process/process.py +++ /dev/null @@ -1,203 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import numpy as np -import math - -def identity(matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[0]): - - if (i == j): - - matrix[i][j] = 1 - - elif (i != j): - - matrix[i][j] = 0 - - j += 1 - - i += 1 - - return matrix - -def gauss(matrix): - - i = 0 - k = 0 - - while (i < matrix.shape[0]): - - if (matrix[i][i] == 0): - - n = i - - while (matrix[i][i] == 0) and (n < matrix.shape[0]): - - temp = matrix[i].copy() - matrix[i] = matrix[n] - matrix[n] = temp - - n += 1 - - while (k < matrix.shape[0]): - - if (k == i) or (matrix[i][i] == 0): - - k += 1 - - else: - - mult = matrix[k][i]/matrix[i][i] - matrix[k] = matrix[k] - mult*matrix[i] - k += 1 - - i += 1 - k = 0 - - i = 0 - - while ((i) < matrix.shape[0]) and (matrix[i][i] != 0): - - matrix[i] = matrix[i]/matrix[i][i] - i += 1 - - return matrix[:,(matrix.shape[0]):] - -def inverse(matrix): - - return gauss(np.hstack((matrix, identity(np.zeros(matrix.shape))))) - -def cholesky(A, b): - - g = np.zeros((A.shape)) - - i = 0 - j = 0 - - while j < A.shape[1]: - while i < A.shape[0]: - - if i == 0 and j == 0: - - g[i][j] = math.sqrt(A[0][0]) - - elif j == 0: - - g[i][j] = A[i][0]/g[0][0] - - elif i == j: - - k = 0 - theta = 0 - - while k < i: - - theta += g[i][k]**2 - k += 1 - - g[i][j] = math.sqrt(A[i][i] - theta) - - else: - - k = 0 - theta = 0 - - while k < j: - - theta += g[i][k]*g[j][k] - k += 1 - - g[i][j] = (A[i][j] - theta)/g[j][j] - - i += 1 - - j += 1 - i = j - - y = (inverse(g)).dot(b) - - x = (inverse(g.T)).dot(y) - - return x - -def decomposition(U, b): - - L = identity(np.zeros(U.shape)) - - i = 0 - k = 0 - - while (i < U.shape[0]): - - k = 0 - - if (U[i][i] == 0): - - n = i - - while (U[i][i] == 0) and (n < U.shape[0]): - - temp = U[i].copy() - U[i] = U[n] - U[n] = temp - - n += 1 - - while (k < U.shape[0]): - - if (k <= i) or (U[i][i] == 0): - - k += 1 - - else: - L[k][i] = U[k][i]/U[i][i] - U[k] = U[k] - L[k][i]*U[i] - k += 1 - - i += 1 - - y = (inverse(L)).dot(b) - - x = (inverse(U)).dot(y) - - return x - -def cramer(A, b): - - x = np.vstack(np.zeros(b.shape)) - k = 0 - - while (k < A.shape[0]): - - temp = A.copy() - temp[:,k] = b - - x[k] = np.linalg.det(temp)/np.linalg.det(A) - - k += 1 - - return x \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3/Seals/scan/__init__.py b/Older Versions/yoshi-seals1.3/Seals/scan/__init__.py deleted file mode 100644 index c0167ff..0000000 --- a/Older Versions/yoshi-seals1.3/Seals/scan/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .scan import numpy as np -from .scan import pandas as pd \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3/Seals/scan/__pycache__/__init__.cpython-37.pyc b/Older Versions/yoshi-seals1.3/Seals/scan/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index dfa267e815a50d4c7ceaf9a32d318071f01ada1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmXwzze)o^5XN`+E6OHNvzTh^rB6j{5cK5dg#TmNJcysQ$Z5*eITQ{rR LU6D1GpDy_?<{Cyu diff --git a/Older Versions/yoshi-seals1.3/Seals/scan/__pycache__/scan.cpython-37.pyc b/Older Versions/yoshi-seals1.3/Seals/scan/__pycache__/scan.cpython-37.pyc deleted file mode 100644 index 0452701527b478502880943d0c179b2b939cf7b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 641 zcma)4y=ojW5Z2$`$;Ov}F*py9A_ws;A&@GBVAoy@?yj&S?wpOFUzAAg-Zv$VVG1@cYg2_uVGUS^xac5ghquez|5)l( zd)f4LH_VfuIrv>1hjnWqo>XP34cWzP7H+PfV5fRqxYScH}AcZt;GTl=|E>(JZnn?9rx?HRAt2Sd%w0^5g{OJL)hOf8UJ$lyFVBbUWm435gtR%nSoz y(wPQ~e~rG6A7s0#dr9>o%c82dbr4M#@y!I{^WTR0V;#x+bU-cXKWKdO?(7faL5IZv diff --git a/Older Versions/yoshi-seals1.3/Seals/scan/scan.py b/Older Versions/yoshi-seals1.3/Seals/scan/scan.py deleted file mode 100644 index 07c5cbd..0000000 --- a/Older Versions/yoshi-seals1.3/Seals/scan/scan.py +++ /dev/null @@ -1,45 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import numpy as np -import pandas as pd - -def numpy(path, sep=None, decimal=None): - - if sep is None: - sep = "," - - if decimal is None: - decimal = "." - - df=pd.read_csv(path, sep=sep, decimal=decimal, header=None) - array = df.to_numpy() - - return array - -def pandas(path, sep=None, decimal=None): - - if sep is None: - sep = "," - - if decimal is None: - decimal = "." - - return pd.read_csv(path, sep=sep, decimal=decimal) - diff --git a/Older Versions/yoshi-seals1.3/Seals/write/__init__.py b/Older Versions/yoshi-seals1.3/Seals/write/__init__.py deleted file mode 100644 index 90f152d..0000000 --- a/Older Versions/yoshi-seals1.3/Seals/write/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .write import numpy as np -from .write import pandas as pd \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3/Seals/write/__pycache__/__init__.cpython-37.pyc b/Older Versions/yoshi-seals1.3/Seals/write/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index 7b0ac6bf9012026fce51535debab2ec80e263b49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmXwzziPuU5XL1tPC}`-j(q_S$q}-a5ZbvWkS#-uh=eWBKO~FdN9qIgWelA<^#QtM z%E=`Mcl?gK`@VZE%Ljt-CI8OfIUzr(xkrYu#|+O{IN?+gO-~t3oFV6@8FGFk)$Etz zN=3)QMC}HIxnqX2P*=rRe0bRlpVY?8IFB|6j(-xrK%C08h0baLo#bM$p_6d%w)ISF zX<9f8eP<24TOO4Na1>01RUNhP^76*iC8`);I$MP_+pM?$OE6hO(?}!xrdhjTT)yZ@ MX7_~NAwBg-ZzYFF761SM diff --git a/Older Versions/yoshi-seals1.3/Seals/write/__pycache__/write.cpython-37.pyc b/Older Versions/yoshi-seals1.3/Seals/write/__pycache__/write.cpython-37.pyc deleted file mode 100644 index 9beac4490212a6d0dd37690bdf7db96a22eed3d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 596 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 MKkM$3)&R%=06v>LS^xk5 diff --git a/Older Versions/yoshi-seals1.3/dist/yoshi_seals-1.3-py3-none-any.whl b/Older Versions/yoshi-seals1.3/dist/yoshi_seals-1.3-py3-none-any.whl deleted file mode 100644 index 23abc2c219b1d36551f6945a96efc78e90839ed4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17369 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.6 -Description-Content-Type: text/markdown diff --git a/Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/SOURCES.txt b/Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/SOURCES.txt deleted file mode 100644 index d941c7a..0000000 --- a/Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/SOURCES.txt +++ /dev/null @@ -1,18 +0,0 @@ -README.md -setup.py -Seals/__init__.py -Seals/eigen/__init__.py -Seals/eigen/eigen.py -Seals/insert/__init__.py -Seals/insert/insert.py -Seals/process/__init__.py -Seals/process/process.py -Seals/scan/__init__.py -Seals/scan/scan.py -Seals/write/__init__.py -Seals/write/write.py -yoshi_seals.egg-info/PKG-INFO -yoshi_seals.egg-info/SOURCES.txt -yoshi_seals.egg-info/dependency_links.txt -yoshi_seals.egg-info/requires.txt -yoshi_seals.egg-info/top_level.txt \ No newline at end of file diff --git a/Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/dependency_links.txt b/Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/dependency_links.txt deleted file mode 100644 index 8b13789..0000000 --- a/Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/requires.txt b/Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/requires.txt deleted file mode 100644 index 5da331c..0000000 --- a/Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/requires.txt +++ /dev/null @@ -1,2 +0,0 @@ -numpy -pandas diff --git a/Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/top_level.txt b/Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/top_level.txt deleted file mode 100644 index ce88a75..0000000 --- a/Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -Seals diff --git a/Pipfile b/Pipfile new file mode 100644 index 0000000..111d4db --- /dev/null +++ b/Pipfile @@ -0,0 +1,13 @@ +[[source]] +url = "https://pypi.org/simple" +verify_ssl = true +name = "pypi" + +[packages] +numpy = "*" +pandas = "*" + +[dev-packages] + +[requires] +python_version = "3.10" diff --git a/Pipfile.lock b/Pipfile.lock new file mode 100644 index 0000000..0d84c13 --- /dev/null +++ b/Pipfile.lock @@ -0,0 +1,111 @@ +{ + "_meta": { + "hash": { + "sha256": "b883be20349a56066666bdb40b43b81bd8af31c5b981137388600154591c7351" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "3.10" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "numpy": { + "hashes": [ + "sha256:004f0efcb2fe1c0bd6ae1fcfc69cc8b6bf2407e0f18be308612007a0762b4089", + "sha256:09f6b7bdffe57fc61d869a22f506049825d707b288039d30f26a0d0d8ea05164", + "sha256:0ea3f98a0ffce3f8f57675eb9119f3f4edb81888b6874bc1953f91e0b1d4f440", + "sha256:17c0e467ade9bda685d5ac7f5fa729d8d3e76b23195471adae2d6a6941bd2c18", + "sha256:1f27b5322ac4067e67c8f9378b41c746d8feac8bdd0e0ffede5324667b8a075c", + "sha256:22d43376ee0acd547f3149b9ec12eec2f0ca4a6ab2f61753c5b29bb3e795ac4d", + "sha256:2ad3ec9a748a8943e6eb4358201f7e1c12ede35f510b1a2221b70af4bb64295c", + "sha256:301c00cf5e60e08e04d842fc47df641d4a181e651c7135c50dc2762ffe293dbd", + "sha256:39a664e3d26ea854211867d20ebcc8023257c1800ae89773cbba9f9e97bae036", + "sha256:51bf49c0cd1d52be0a240aa66f3458afc4b95d8993d2d04f0d91fa60c10af6cd", + "sha256:78a63d2df1d947bd9d1b11d35564c2f9e4b57898aae4626638056ec1a231c40c", + "sha256:7cd1328e5bdf0dee621912f5833648e2daca72e3839ec1d6695e91089625f0b4", + "sha256:8355fc10fd33a5a70981a5b8a0de51d10af3688d7a9e4a34fcc8fa0d7467bb7f", + "sha256:8c79d7cf86d049d0c5089231a5bcd31edb03555bd93d81a16870aa98c6cfb79d", + "sha256:91b8d6768a75247026e951dce3b2aac79dc7e78622fc148329135ba189813584", + "sha256:94c15ca4e52671a59219146ff584488907b1f9b3fc232622b47e2cf832e94fb8", + "sha256:98dcbc02e39b1658dc4b4508442a560fe3ca5ca0d989f0df062534e5ca3a5c1a", + "sha256:a64403f634e5ffdcd85e0b12c08f04b3080d3e840aef118721021f9b48fc1460", + "sha256:bc6e8da415f359b578b00bcfb1d08411c96e9a97f9e6c7adada554a0812a6cc6", + "sha256:bdc9febce3e68b697d931941b263c59e0c74e8f18861f4064c1f712562903411", + "sha256:c1ba66c48b19cc9c2975c0d354f24058888cdc674bebadceb3cdc9ec403fb5d1", + "sha256:c9f707b5bb73bf277d812ded9896f9512a43edff72712f31667d0a8c2f8e71ee", + "sha256:d5422d6a1ea9b15577a9432e26608c73a78faf0b9039437b075cf322c92e98e7", + "sha256:e5d5420053bbb3dd64c30e58f9363d7a9c27444c3648e61460c1237f9ec3fa14", + "sha256:e868b0389c5ccfc092031a861d4e158ea164d8b7fdbb10e3b5689b4fc6498df6", + "sha256:efd9d3abe5774404becdb0748178b48a218f1d8c44e0375475732211ea47c67e", + "sha256:f8c02ec3c4c4fcb718fdf89a6c6f709b14949408e8cf2a2be5bfa9c49548fd85", + "sha256:ffcf105ecdd9396e05a8e58e81faaaf34d3f9875f137c7372450baa5d77c9a54" + ], + "index": "pypi", + "version": "==1.23.3" + }, + "pandas": { + "hashes": [ + "sha256:0d8d7433d19bfa33f11c92ad9997f15a902bda4f5ad3a4814a21d2e910894484", + "sha256:1642fc6138b4e45d57a12c1b464a01a6d868c0148996af23f72dde8d12486bbc", + "sha256:171cef540bfcec52257077816a4dbbac152acdb8236ba11d3196ae02bf0959d8", + "sha256:1b82ccc7b093e0a93f8dffd97a542646a3e026817140e2c01266aaef5fdde11b", + "sha256:1d34b1f43d9e3f4aea056ba251f6e9b143055ebe101ed04c847b41bb0bb4a989", + "sha256:207d63ac851e60ec57458814613ef4b3b6a5e9f0b33c57623ba2bf8126c311f8", + "sha256:2504c032f221ef9e4a289f5e46a42b76f5e087ecb67d62e342ccbba95a32a488", + "sha256:33a9d9e21ab2d91e2ab6e83598419ea6a664efd4c639606b299aae8097c1c94f", + "sha256:3ee61b881d2f64dd90c356eb4a4a4de75376586cd3c9341c6c0fcaae18d52977", + "sha256:41aec9f87455306496d4486df07c1b98c15569c714be2dd552a6124cd9fda88f", + "sha256:4e30a31039574d96f3d683df34ccb50bb435426ad65793e42a613786901f6761", + "sha256:5cc47f2ebaa20ef96ae72ee082f9e101b3dfbf74f0e62c7a12c0b075a683f03c", + "sha256:62e61003411382e20d7c2aec1ee8d7c86c8b9cf46290993dd8a0a3be44daeb38", + "sha256:73844e247a7b7dac2daa9df7339ecf1fcf1dfb8cbfd11e3ffe9819ae6c31c515", + "sha256:85a516a7f6723ca1528f03f7851fa8d0360d1d6121cf15128b290cf79b8a7f6a", + "sha256:86d87279ebc5bc20848b4ceb619073490037323f80f515e0ec891c80abad958a", + "sha256:8a4fc04838615bf0a8d3a03ed68197f358054f0df61f390bcc64fbe39e3d71ec", + "sha256:8e8e5edf97d8793f51d258c07c629bd49d271d536ce15d66ac00ceda5c150eb3", + "sha256:947ed9f896ee61adbe61829a7ae1ade493c5a28c66366ec1de85c0642009faac", + "sha256:a68a9b9754efff364b0c5ee5b0f18e15ca640c01afe605d12ba8b239ca304d6b", + "sha256:c76f1d104844c5360c21d2ef0e1a8b2ccf8b8ebb40788475e255b9462e32b2be", + "sha256:c7f38d91f21937fe2bec9449570d7bf36ad7136227ef43b321194ec249e2149d", + "sha256:de34636e2dc04e8ac2136a8d3c2051fd56ebe9fd6cd185581259330649e73ca9", + "sha256:e178ce2d7e3b934cf8d01dc2d48d04d67cb0abfaffdcc8aa6271fd5a436f39c8", + "sha256:e252a9e49b233ff96e2815c67c29702ac3a062098d80a170c506dff3470fd060", + "sha256:e9c5049333c5bebf993033f4bf807d163e30e8fada06e1da7fa9db86e2392009", + "sha256:fc987f7717e53d372f586323fff441263204128a1ead053c1b98d7288f836ac9" + ], + "index": "pypi", + "version": "==1.5.0" + }, + "python-dateutil": { + "hashes": [ + "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86", + "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==2.8.2" + }, + "pytz": { + "hashes": [ + "sha256:220f481bdafa09c3955dfbdddb7b57780e9a94f5127e35456a48589b9e0c0197", + "sha256:cea221417204f2d1a2aa03ddae3e867921971d0d76f14d87abb4414415bbdcf5" + ], + "version": "==2022.2.1" + }, + "six": { + "hashes": [ + "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", + "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.16.0" + } + }, + "develop": {} +} diff --git a/Source Code - Seals/__init__.py b/Source Code - Seals/__init__.py deleted file mode 100644 index e5d934d..0000000 --- a/Source Code - Seals/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. \ No newline at end of file diff --git a/Source Code - Seals/__pycache__/__init__.cpython-37.pyc b/Source Code - Seals/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index f8ca22ef5699923e6788edc2f42d20b6b48ab2ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmZ?b<>g`kg21+4adVj&7#@Q-Fu(|8H~?`m3y?@*2xib^^jpbL1QJFNzY_H`@^e%5 zGcr?BEAxvpGW7$B^3#hFb8|EE()9x>OEU8F^nLSFN^??+^@CFrbBcBSN^?_-GLxMX vbCOGQN{jWu+H{LSa)x@w5Jmd&@tJvg`kf)1gtaod?07#@Q-Fu(+4H~?|60FX#wNMX!j$YqFPU}Q*P3TDt`e#rb@<(C*Jb%m4reFgpDJ diff --git a/Source Code - Seals/eigen/__pycache__/eigen.cpython-37.pyc b/Source Code - Seals/eigen/__pycache__/eigen.cpython-37.pyc deleted file mode 100644 index ebbe9a26e95468d23ac8cb067b83b9c3fa1f8ad0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 650 zcmZuvJ#W-N5S^V}Uydk2r*Mk$K}F{xu@D7Kgb-!ce}Q9meyTb zDtdI+An_mg5!Bm46M7mdW^IBf7-`?k?7Vq98tseS-EAOyz4!C&2M^$zOYRIQcuq%; z2_#6C!IVjq{062d*(LbmmMSorG3Uqzf6h61{ewWVmQ}E32Ck{&5H_sE)mQU3PeFaJ z;F_<+9Yf*n=HQYMzndNEJ`1dRp3oFVZ($>>)xQOgPg@r70E1b7H4_5?9VR`sYTQ1AWA6OPz zmRgosR!_yOQWPYgLG6+9FB!yT9tCkCqo&kx5?rWquELx&=D|f%#bpt^DrKETI=GC& zOrK2ZJW|Q*Jj`ZwR_mZ^JJGK8`1DCn3Zi5l6+NCV8tZlWK0T-(5daD{!V!+y5emGI yL$=M1*oaficJLwYpmKl2=hiFge9-Ln+A|6UdgK#@L7N;LcZc=Mq0s-=~w;OnrbZ znWBrSK;jdU{$JZPePR?#{rB+`Gj<8he?$cDl9=ZrZ3m$}VlXYTeCTo%@yLI-Y z|AwH){!6)f@(=LRQ{Q{rN^Jw*mzS5ktgI|EXlZ+Ybd@l6i-SK+fb$XLUVxEI z@=JEeq>vHxT*e11OGX@~utlIJpk0tF!AL&m)1!`e>=gWU_LbRVh>7W-6BH8^`|P=g z9j~K~OR>f}f%ZmR@C(T7Ag>eK6n)3$;%ws!#H0Y9pQYe4s39KS!Ex*kEBU^@*Ens9 zzUiw<)vEEPe?Fg{&p-6DI3%ttCMqQ3$`n2%x|y^-q+?_2!e>!Pp|g4#xDNdE2eSy~ z=QuA-t@2V!H8ZZ%`MxzLwy0~}oaFm6Uz#TWWMo?@mmjF2a+|}pR#uO8i)z$Xt;;EG z)8X9ftv8EBxo(`Y{&%-EnOS6qnB6KECStKlddYjDCusHoH9kuUBGdzL2=&`XsNWM- zL0BUI3OE-)0VbExKL9PUTl=5gF_N=*U=~|^VjH7@kHRdLkcp6fQzLJzeTp$ewlL4o o>w$R%a`eaOLK|=)iVw5JwP^5HB5i@$VQIT2umj?PMJzr41q1k%SO5S3 diff --git a/Source Code - Seals/insert/insert.py b/Source Code - Seals/insert/insert.py deleted file mode 100644 index 003e274..0000000 --- a/Source Code - Seals/insert/insert.py +++ /dev/null @@ -1,46 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -def matrix(matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[1]): - - matrix[i][j] = float(input('Insira o elemento {}x{}: '.format((i+1),(j+1)))) - j += 1 - - i += 1 - - return matrix - -def vector(vector): - - j=0 - - while (j < vector.shape[0]): - - vector[j] = float(input('Insira o elemento b{}: '.format((j+1)))) - j += 1 - - return vector \ No newline at end of file diff --git a/Source Code - Seals/process/__init__.py b/Source Code - Seals/process/__init__.py deleted file mode 100644 index 985e6e0..0000000 --- a/Source Code - Seals/process/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .process import identity -from .process import gauss -from .process import inverse -from .process import cholesky -from .process import decomposition -from .process import cramer \ No newline at end of file diff --git a/Source Code - Seals/process/__pycache__/__init__.cpython-37.pyc b/Source Code - Seals/process/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index 9e70d8d1e4c013be3676b8f769da71dc46342d72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 386 zcmXw#J5Izf5Qgo%L8PPN23zb}h!!CPEvy!8=YlA5ti-~P$de%DNL(o`6$hZ9VrM^B_f#66J&Vv%o=q6dRn8Y`_i{2ZLe4+X6#xJL diff --git a/Source Code - Seals/process/__pycache__/__init__.cpython-38.pyc b/Source Code - Seals/process/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index c1fdae0106bb0bcc08b914ed48f0c9d54f7107c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 389 zcmYk2%}T^D5XX~#EB59C^xDIk7Z4E^Z@R23UUDfV2~Ds`O415_4`0Gp>ebV}f+r`z z1t;XsZ$6lrz_e5;&?&!ioNe-HVZ3ug6X zy_%IZ5Ga`IwQz^F+{(#WCcJlHXO{+n7a^AiDT0(BU&vhr4)P<3v|11e8?4q#MUKu6 z&`>KgkmEW_Ysib`3ydcx(T{$2SYVoB`+j80xIok{j)`V(xoCDxtRa7Ukgiik&0Tjl Uty^`kW1ojxnCruz-{8yn1@f$7wg3PC diff --git a/Source Code - Seals/process/__pycache__/process.cpython-37.pyc b/Source Code - Seals/process/__pycache__/process.cpython-37.pyc deleted file mode 100644 index 0a056eeb3c4be8973cc38935e325c026dd511ef4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2597 zcmZuz&u<$=6rP!#U2jvzgc5<<1{6?17)q>GLU6FE0#y$cL=i1SL{)|HY+^h9IlGDM zYR#o^;eaAIa7`pG@F!H_#)&^+uk;eB$BF~u!1vy+*N)XhGxO%nn>RD>``%lByu7?5 z@b}A|XAi0`3h_5hrhf{;O|z@L+~PcVi(bVg3($iy-hZO9kJzOYT`)aX{M=5+UA zq4t%%VW5p+7pt1+t+Lj!pBwC-YGd5=12Iv>*<*YKFgwkI2nnkjbb@*Mt2sphp{sk;lp(G zSe}T9hU_55h+j>_Jj3X4ES=%TwitEJpz{PXoD&|?4(ywr`+JVXL#(KDWoC0(Ox#RQ zBX+HdGM%bwXc>wRXDHH3hfCWjXKv5G_(L$9;AB-!WB^0bn8o8gyUZSI*JJ`|PgHFWUNjskm+`ak%z=s%a zpaag5kS46xRZ$itVZEZtYDt%6Sr(NKjaF9_$+mr>psMe{~)$8PMP#{3m~ znVky{&PxIn!;4+!oICt=8xf`R`Ao_LuYC3nU*{gL!=vVRy*2L>-Zl2Y`|4TW{}AWW zx1@eEOIXj}J66Vgn3?I{;xikKp;y5Jc5<6%$w_)^I3;*eQ%AwpUtB%Nl znJ2JgT9?Fu=H6XHhf_(LQ3SPDIbUmwn*JFb!*hU zO5H*MSvEnV-yQVBR@CbEeuhPO6`i2cN3`IN-Fy+eKt<45m+K%z5mYEC`#S7%Dp0+p z#^tXKfeH>9K0ZW-Y1tWV&eOn}STK+p9}JxpduLbGu)FOdiS!A4u!Iy(QxE~31{LWR ztHqB&fn%07 zP!|xT6{H0v4?YENLI*h9-a&UTPElKhDg}|Me2N-n566u+%z?t^@h8czb@^w@4cZ^l RR?0oU?7!=4|9$_R{{ixa_{RVM diff --git a/Source Code - Seals/process/__pycache__/process.cpython-38.pyc b/Source Code - Seals/process/__pycache__/process.cpython-38.pyc deleted file mode 100644 index e321252023566c2898d48eb1c9ff95c5de00a6ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3046 zcmbVOOOG2x5bo}Icw)TPLd?cVmSBaIz#)mbAP}-pP$EvSinNIYD-i2=Cbrj)v3tf* z9F0#)B!qH+E2p)@B{#$|TsUy%2aGsGf&=*rocOAG#`Y4pu&aJmRaf^^ef70(Z)_9= z{=QxO^hI0|;&)oC|0yi4p+z^)`NEe2u`hX4`^s0o^`+RieA{<0+P>=-Fgm{HpTg++ zMgIki1;6BPVDx;sC+g*A@FaHIl7{Th!bt5pT67nkFXu9mi8#dUtmq4U2NIR2HOVK? ztG?3j`H&{CN>o#fDlE11u8-ZhG{H^Z5py-!N+i$Z#7@MXcx>%zy2dl=>N0hrZfhLW zt<)X1V%@u+%3dlD9}De4|5vBc4TnLa+w+527y_1)^OMxbs9HkaW@<_J`Vlq zAcz`!L2D3Q*_{pp-D_WO4cgPe6w+|2+d=Jm=m)hcHMVJtb=VG~C?BtmXQ_u1MsY8m zox!ou7CND9Rp#bl^i)X|@vkX$C*pVt0vC1@~{R%qhDaZhACdJ-{IFKQs}JzhcSGI zVGR1_Ne#W>rPXZ?;Cpqdg;?a0r5qSBUzYg-R!|RMQSopYU7Fv;9diUZdIRZ5-EI`O z+I=o{29qv9Tz9pDfq|o6Bs)3Mr%3`1H*~cIl|paCX!{hp=q+?YRi!O$z+)4nLVzhr z4}jTJZ)AWeDo?u5U4&&x>9g3=CSd1(1VMr}!{y!*E{6)Grw}BB2Q)zi3F;*RM_6ug z`k~F%A0oj-GzW=oMpMG1H*iCm2^2PH{kP2KYXlN9(j&QiHm*cT(9gIHK}5U~=Ma5Vuk}(=U^ZUcWUs zdF^h9H?BW>2zm4_I)Mj?@gxaR+aRKgXe9AeMHW@frg>3qW4?otutnsgcd+-radnk( z6-z@w3wgATEqa_*MObFMF*Xc7fPk+OiyslnCu4?Xcuw+tuwV^Skc&C;N0KH{I#w8S zd|YEJug)WETYVY*K=y0?pX3>wkZ-~SX_q#fb(X@n(HrC}t+Hnhm|ydh6Jhl^MBrHm zK9+bek59p{1@XrU2h1A`0R0LSl>OVfhFK~qHSnLHn@C?Ol3Jzh-gSnNcoNEgi*WNQ+yR03KS?UgY zqt>8Z6OHNvzTh^rB6j{5cK5dg#TmNJcysQ$Z5*eITQ{rR LU6D1GpDy_?<{Cyu diff --git a/Source Code - Seals/scan/__pycache__/scan.cpython-37.pyc b/Source Code - Seals/scan/__pycache__/scan.cpython-37.pyc deleted file mode 100644 index 0452701527b478502880943d0c179b2b939cf7b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 641 zcma)4y=ojW5Z2$`$;Ov}F*py9A_ws;A&@GBVAoy@?yj&S?wpOFUzAAg-Zv$VVG1@cYg2_uVGUS^xac5ghquez|5)l( zd)f4LH_VfuIrv>1hjnWqo>XP34cWzP7H+PfV5fRqxYScH}AcZt;GTl=|E>(JZnn?9rx?HRAt2Sd%w0^5g{OJL)hOf8UJ$lyFVBbUWm435gtR%nSoz y(wPQ~e~rG6A7s0#dr9>o%c82dbr4M#@y!I{^WTR0V;#x+bU-cXKWKdO?(7faL5IZv diff --git a/Source Code - Seals/scan/scan.py b/Source Code - Seals/scan/scan.py deleted file mode 100644 index 07c5cbd..0000000 --- a/Source Code - Seals/scan/scan.py +++ /dev/null @@ -1,45 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import numpy as np -import pandas as pd - -def numpy(path, sep=None, decimal=None): - - if sep is None: - sep = "," - - if decimal is None: - decimal = "." - - df=pd.read_csv(path, sep=sep, decimal=decimal, header=None) - array = df.to_numpy() - - return array - -def pandas(path, sep=None, decimal=None): - - if sep is None: - sep = "," - - if decimal is None: - decimal = "." - - return pd.read_csv(path, sep=sep, decimal=decimal) - diff --git a/Source Code - Seals/write/__init__.py b/Source Code - Seals/write/__init__.py deleted file mode 100644 index 90f152d..0000000 --- a/Source Code - Seals/write/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .write import numpy as np -from .write import pandas as pd \ No newline at end of file diff --git a/Source Code - Seals/write/__pycache__/__init__.cpython-37.pyc b/Source Code - Seals/write/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index 7b0ac6bf9012026fce51535debab2ec80e263b49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmXwzziPuU5XL1tPC}`-j(q_S$q}-a5ZbvWkS#-uh=eWBKO~FdN9qIgWelA<^#QtM z%E=`Mcl?gK`@VZE%Ljt-CI8OfIUzr(xkrYu#|+O{IN?+gO-~t3oFV6@8FGFk)$Etz zN=3)QMC}HIxnqX2P*=rRe0bRlpVY?8IFB|6j(-xrK%C08h0baLo#bM$p_6d%w)ISF zX<9f8eP<24TOO4Na1>01RUNhP^76*iC8`);I$MP_+pM?$OE6hO(?}!xrdhjTT)yZ@ MX7_~NAwBg-ZzYFF761SM diff --git a/Source Code - Seals/write/__pycache__/write.cpython-37.pyc b/Source Code - Seals/write/__pycache__/write.cpython-37.pyc deleted file mode 100644 index 9beac4490212a6d0dd37690bdf7db96a22eed3d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 596 zcmYjPv2GMG5FLAWk6Wa>0J=~iAt9QT;H*#rLO?_jDR(3!QP35fth32(w7XtxAE%Wz z9c{!1qzNTIMB$c-p6V*bK7kl%W}mHjH{F}O+IQ*ZTCGeLyM$}aTNgLn z=Ch$GjFlCimqjhPo^2UbE^VRe`G)cx^er4}eZq28NtPEvw#wuMJJ9M(^QyuY*g#>o%G&|!b;~jS7Av^W`u~2*5v@WTaRny+}+VwF29nujQQGEyT zKZ(865qgk#h@gXO6xj np.ndarray: k = 0 l = np.ones((a.shape[0])) diff --git a/Older Versions/yoshi-seals1.3.1/Seals/insert/__init__.py b/yoshi-seals/insert/__init__.py similarity index 100% rename from Older Versions/yoshi-seals1.3.1/Seals/insert/__init__.py rename to yoshi-seals/insert/__init__.py diff --git a/Older Versions/yoshi-seals1.3.2/Seals/insert/insert.py b/yoshi-seals/insert/insert.py similarity index 92% rename from Older Versions/yoshi-seals1.3.2/Seals/insert/insert.py rename to yoshi-seals/insert/insert.py index 003e274..333a7d3 100644 --- a/Older Versions/yoshi-seals1.3.2/Seals/insert/insert.py +++ b/yoshi-seals/insert/insert.py @@ -17,7 +17,9 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -def matrix(matrix): +import numpy as np + +def matrix(matrix: np.ndarray) -> np.ndarray: i = 0 @@ -34,7 +36,7 @@ def matrix(matrix): return matrix -def vector(vector): +def vector(vector: np.ndarray) -> np.ndarray: j=0 diff --git a/Older Versions/yoshi-seals1.3.1/Seals/process/__init__.py b/yoshi-seals/process/__init__.py similarity index 100% rename from Older Versions/yoshi-seals1.3.1/Seals/process/__init__.py rename to yoshi-seals/process/__init__.py diff --git a/Source Code - Seals/process/process.py b/yoshi-seals/process/process.py similarity index 94% rename from Source Code - Seals/process/process.py rename to yoshi-seals/process/process.py index a9a1de1..3ba8864 100644 --- a/Source Code - Seals/process/process.py +++ b/yoshi-seals/process/process.py @@ -20,7 +20,7 @@ import numpy as np import math -def identity(matrix): +def identity(matrix: np.ndarray) -> np.ndarray: i = 0 @@ -44,7 +44,7 @@ def identity(matrix): return matrix -def gauss(a): +def gauss(a: np.ndarray) -> np.ndarray: for i in range(a.shape[0]): @@ -83,7 +83,7 @@ def gauss(a): return x -def inverse(matrix): +def inverse(matrix: np.ndarray) -> np.ndarray: matrix = np.hstack(matrix,np.identity(matrix.shape[0])) i = 0 @@ -127,7 +127,7 @@ def inverse(matrix): return matrix[:,(matrix.shape[0]):] -def cholesky(A, b): +def cholesky(A: np.ndarray, b: np.ndarray) -> np.ndarray: g = np.zeros((A.shape)) @@ -180,7 +180,7 @@ def cholesky(A, b): return x -def decomposition(U, b): +def decomposition(U: np.ndarray, b: np.ndarray) -> np.ndarray: L = identity(np.zeros(U.shape)) @@ -222,7 +222,7 @@ def decomposition(U, b): return x -def cramer(A, b): +def cramer(A: np.ndarray, b: np.ndarray) -> np.ndarray: x = np.vstack(np.zeros(b.shape)) k = 0 diff --git a/Older Versions/yoshi-seals1.3.1/Seals/scan/__init__.py b/yoshi-seals/scan/__init__.py similarity index 100% rename from Older Versions/yoshi-seals1.3.1/Seals/scan/__init__.py rename to yoshi-seals/scan/__init__.py diff --git a/Older Versions/yoshi-seals1.3.2/Seals/scan/scan.py b/yoshi-seals/scan/scan.py similarity index 89% rename from Older Versions/yoshi-seals1.3.2/Seals/scan/scan.py rename to yoshi-seals/scan/scan.py index 07c5cbd..2ae3319 100644 --- a/Older Versions/yoshi-seals1.3.2/Seals/scan/scan.py +++ b/yoshi-seals/scan/scan.py @@ -20,7 +20,7 @@ import numpy as np import pandas as pd -def numpy(path, sep=None, decimal=None): +def numpy(path:str, sep: str = None, decimal: str = None) -> np.ndarray: if sep is None: sep = "," @@ -33,7 +33,7 @@ def numpy(path, sep=None, decimal=None): return array -def pandas(path, sep=None, decimal=None): +def pandas(path: str, sep: str = None, decimal: str = None) -> pd.DataFrame: if sep is None: sep = "," diff --git a/Older Versions/yoshi-seals1.3.1/Seals/write/__init__.py b/yoshi-seals/write/__init__.py similarity index 100% rename from Older Versions/yoshi-seals1.3.1/Seals/write/__init__.py rename to yoshi-seals/write/__init__.py diff --git a/Older Versions/yoshi-seals1.3.2/Seals/write/write.py b/yoshi-seals/write/write.py similarity index 89% rename from Older Versions/yoshi-seals1.3.2/Seals/write/write.py rename to yoshi-seals/write/write.py index b9bd1e9..e2bc694 100644 --- a/Older Versions/yoshi-seals1.3.2/Seals/write/write.py +++ b/yoshi-seals/write/write.py @@ -17,9 +17,11 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +import pandas as pd +import numpy as np import csv -def numpy(array, path): +def numpy(array: np.ndarray, path: str) -> np.ndarray: with open(path, mode='w') as sistema_linear: @@ -28,6 +30,6 @@ def numpy(array, path): return array -def pandas(df, path): +def pandas(df: pd.DataFrame, path:str) -> None: df.to_csv(path) \ No newline at end of file diff --git a/yoshi-seals1.3.3-1.tar.xz b/yoshi-seals1.3.3-1.tar.xz deleted file mode 100644 index c96c88d2cefa43a14a6a36db28dd2be96a3190f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32888 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 z 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 10**(-8): - - ctrl = l[k] - u = at.dot(u) - l[k] = max(u.min(), u.max(), key=abs) - u = u/l[k] - - alpha = .999*l[k] - - b[k] = b[k]/max(b[k].min(), b[k].max(), key=abs) - t = np.random.rand(a.shape[0],1) - t = t/max(t.min(), t.max(), key=abs) - - while not (np.allclose(b[k],t,atol=10**(-8))): - - t = b[k].copy() - b[k] = np.linalg.solve((a - alpha*np.identity(a.shape[0])),((l[k]-alpha)*t)) - b[k] = b[k]/max(b[k].min(), b[k].max(), key=abs) - - i = 0 - - while (u[i] == 0): - i += 1 - - at = at - (1/u[i])*u*at[i] - k += 1 - - return l, b \ No newline at end of file diff --git a/yoshi-seals1.3.3-1/Seals/insert/__init__.py b/yoshi-seals1.3.3-1/Seals/insert/__init__.py deleted file mode 100644 index 08ffc8f..0000000 --- a/yoshi-seals1.3.3-1/Seals/insert/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .insert import matrix -from .insert import vector \ No newline at end of file diff --git a/yoshi-seals1.3.3-1/Seals/insert/insert.py b/yoshi-seals1.3.3-1/Seals/insert/insert.py deleted file mode 100644 index 003e274..0000000 --- a/yoshi-seals1.3.3-1/Seals/insert/insert.py +++ /dev/null @@ -1,46 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -def matrix(matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[1]): - - matrix[i][j] = float(input('Insira o elemento {}x{}: '.format((i+1),(j+1)))) - j += 1 - - i += 1 - - return matrix - -def vector(vector): - - j=0 - - while (j < vector.shape[0]): - - vector[j] = float(input('Insira o elemento b{}: '.format((j+1)))) - j += 1 - - return vector \ No newline at end of file diff --git a/yoshi-seals1.3.3-1/Seals/process/__init__.py b/yoshi-seals1.3.3-1/Seals/process/__init__.py deleted file mode 100644 index 985e6e0..0000000 --- a/yoshi-seals1.3.3-1/Seals/process/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .process import identity -from .process import gauss -from .process import inverse -from .process import cholesky -from .process import decomposition -from .process import cramer \ No newline at end of file diff --git a/yoshi-seals1.3.3-1/Seals/process/process.py b/yoshi-seals1.3.3-1/Seals/process/process.py deleted file mode 100644 index a9a1de1..0000000 --- a/yoshi-seals1.3.3-1/Seals/process/process.py +++ /dev/null @@ -1,239 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import numpy as np -import math - -def identity(matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[0]): - - if (i == j): - - matrix[i][j] = 1 - - elif (i != j): - - matrix[i][j] = 0 - - j += 1 - - i += 1 - - return matrix - -def gauss(a): - - for i in range(a.shape[0]): - - k = i + 1 - - while (k 10**(-8): - - ctrl = l[k] - u = at.dot(u) - l[k] = max(u.min(), u.max(), key=abs) - u = u/l[k] - - alpha = .999*l[k] - - b[k] = b[k]/max(b[k].min(), b[k].max(), key=abs) - t = np.random.rand(a.shape[0],1) - t = t/max(t.min(), t.max(), key=abs) - - while not (np.allclose(b[k],t,atol=10**(-8))): - - t = b[k].copy() - b[k] = np.linalg.solve((a - alpha*np.identity(a.shape[0])),((l[k]-alpha)*t)) - b[k] = b[k]/max(b[k].min(), b[k].max(), key=abs) - - i = 0 - - while (u[i] == 0): - i += 1 - - at = at - (1/u[i])*u*at[i] - k += 1 - - return l, b \ No newline at end of file diff --git a/yoshi-seals1.3.3-1/build/lib/Seals/insert/__init__.py b/yoshi-seals1.3.3-1/build/lib/Seals/insert/__init__.py deleted file mode 100644 index 08ffc8f..0000000 --- a/yoshi-seals1.3.3-1/build/lib/Seals/insert/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .insert import matrix -from .insert import vector \ No newline at end of file diff --git a/yoshi-seals1.3.3-1/build/lib/Seals/insert/insert.py b/yoshi-seals1.3.3-1/build/lib/Seals/insert/insert.py deleted file mode 100644 index 003e274..0000000 --- a/yoshi-seals1.3.3-1/build/lib/Seals/insert/insert.py +++ /dev/null @@ -1,46 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -def matrix(matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[1]): - - matrix[i][j] = float(input('Insira o elemento {}x{}: '.format((i+1),(j+1)))) - j += 1 - - i += 1 - - return matrix - -def vector(vector): - - j=0 - - while (j < vector.shape[0]): - - vector[j] = float(input('Insira o elemento b{}: '.format((j+1)))) - j += 1 - - return vector \ No newline at end of file diff --git a/yoshi-seals1.3.3-1/build/lib/Seals/process/__init__.py b/yoshi-seals1.3.3-1/build/lib/Seals/process/__init__.py deleted file mode 100644 index 985e6e0..0000000 --- a/yoshi-seals1.3.3-1/build/lib/Seals/process/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -from .process import identity -from .process import gauss -from .process import inverse -from .process import cholesky -from .process import decomposition -from .process import cramer \ No newline at end of file diff --git a/yoshi-seals1.3.3-1/build/lib/Seals/process/process.py b/yoshi-seals1.3.3-1/build/lib/Seals/process/process.py deleted file mode 100644 index a9a1de1..0000000 --- a/yoshi-seals1.3.3-1/build/lib/Seals/process/process.py +++ /dev/null @@ -1,239 +0,0 @@ -# Seals - Program made for educational intent, can be freely distributed -# and can be used for economical intent. I will not take legal actions -# unless my intelectual propperty, the code, is stolen or change without permission. - -# Copyright (C) 2020 VItor Hideyoshi Nakazone Batista - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import numpy as np -import math - -def identity(matrix): - - i = 0 - - while (i < matrix.shape[0]): - - j = 0 - - while (j < matrix.shape[0]): - - if (i == j): - - matrix[i][j] = 1 - - elif (i != j): - - matrix[i][j] = 0 - - j += 1 - - i += 1 - - return matrix - -def gauss(a): - - for i in range(a.shape[0]): - - k = i + 1 - - while (k)cIXINs6a0L0pM;H#Vk$zQFw) zwrpYryKyRbhX&J~E5V2>qMs+Ai7>)p=>xD2TfQHz>AypCtGEod9<}^(Lh!&h&K$~r zyM-$sb%#R9u$eAOZxI#_E?rD#>Ep&7ohy>F?nekj;;kE zRa>;llv^L9h&E>QR(AyGU8a8{Omazc+OqU>I7|r@NHTwj7+m%p2C_|GJ+|ehJB#-8 zywi{Z_HQi5fe_UAD6j+Xssk5yONBnaSy@>!7XU@u&T?N|}W=pbh4N@ml!b^eLyYFlpwvX?n!~vd5mJn&xpo z%{iN?*NE|}lVj>}d5`j7UU9FB&kyivZ>O(+7q%2AKhxe4BBZO{r5O@VF?7S2FY zaJRF^{=&`Ue!sx#crU*3T!Y=_oVn%?B7G(J@9k5L+M=0Rn9mn^58fGAL8@27^xyN(ePnNBVFJ>7%{GL(K&8U1bjJ|aUbnzT{D zP-+F7V)PhqJ%OU9!Cvl{RgxGJ3FT&&lNB2RoKkX-F&f!TcEe-}GFg`o$Hpe9=6M|2 z&IsqV;(HA4*14^KGo4M~UY;0ATocTCuf?3#N8Fh4m$h?;5QK?ft}*AJLE%x+O!T;A zPH{v(x+M(5MoZCoE$~EnBcpR;nPymZ3BEtu7^JqQ#U?S-%DsjageYQScxuglt@yDh-q^A%k!;Xsfe zfza1z^GOmiN}Xc+ZT4qHhm}M zk13O@vd|}f>)&AK6tw;7BRUct(@cota3t zN!hnXrwSNFeo7GoQtZr4PE=&%cB&Z)M1Qf))3PQXGo2Vy-5ld7_2cTur_8BJ<}x{+ zKDUZ~4q8lj8g#@hXgIbrNNTI?%gmDYwysuG7Y)}D|EuQK*C??Ix@jyYdPdWqO7fnRIIHL_0dc^1C8=<280trW$(3( z=^ts6;;EydcGf7GbtbGT=ovJo=rmN14Hd%Mhf;?EoTJ3MYGg9y2l3)nI-@mup|#Z$ z#k70A;tI5C$@~tJPW*9fFK6^F%I3?!55jggYL}bvz5O7DsbRDs7_z^2+N7avBUhIsI zqV8Vxl}S0mIF?Vn|Fk4GLM??gWYxhe>F$n{%+8Aatg=7oLHEQxnHc)KRK}P>ge3$C z+?>B?WPAuH(lOIQ@lAXi3DE4InO9`5g2{E*$4Z}-l5zbh?Kks*+7ejx zSQGODvA8s%c7fL6n)mrz%i@+(ziwsL0MEmQTVP=x0JucH0$wZw zz*^1K2$IFuBitK+*g_y3`By-PiN+xSNp0;dcMo$XX+J?rYiml0n-3~co)5~you6Ia zFxzzIx#Xn`dMgr?O(->#fIDXtlKkk9$zsDuuvPgQu}do4ihErv)$>DS=R~NP-eTk3 zSUG%qD=C!RI2$~uY(hb+wfla3B4f;!dj^4Te-`oR1Nerk7i%0A_Qo- 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 diff --git a/yoshi-seals1.3.3-1/dist/yoshi_seals-1.3.3.post1-py3-none-any.whl b/yoshi-seals1.3.3-1/dist/yoshi_seals-1.3.3.post1-py3-none-any.whl deleted file mode 100644 index 5aa18e6f61fd14dedb8541d96e44a77b5a806e8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17874 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.6 -Description-Content-Type: text/markdown diff --git a/yoshi-seals1.3.3-1/yoshi_seals.egg-info/SOURCES.txt b/yoshi-seals1.3.3-1/yoshi_seals.egg-info/SOURCES.txt deleted file mode 100644 index d941c7a..0000000 --- a/yoshi-seals1.3.3-1/yoshi_seals.egg-info/SOURCES.txt +++ /dev/null @@ -1,18 +0,0 @@ -README.md -setup.py -Seals/__init__.py -Seals/eigen/__init__.py -Seals/eigen/eigen.py -Seals/insert/__init__.py -Seals/insert/insert.py -Seals/process/__init__.py -Seals/process/process.py -Seals/scan/__init__.py -Seals/scan/scan.py -Seals/write/__init__.py -Seals/write/write.py -yoshi_seals.egg-info/PKG-INFO -yoshi_seals.egg-info/SOURCES.txt -yoshi_seals.egg-info/dependency_links.txt -yoshi_seals.egg-info/requires.txt -yoshi_seals.egg-info/top_level.txt \ No newline at end of file diff --git a/yoshi-seals1.3.3-1/yoshi_seals.egg-info/dependency_links.txt b/yoshi-seals1.3.3-1/yoshi_seals.egg-info/dependency_links.txt deleted file mode 100644 index 8b13789..0000000 --- a/yoshi-seals1.3.3-1/yoshi_seals.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/yoshi-seals1.3.3-1/yoshi_seals.egg-info/requires.txt b/yoshi-seals1.3.3-1/yoshi_seals.egg-info/requires.txt deleted file mode 100644 index 5da331c..0000000 --- a/yoshi-seals1.3.3-1/yoshi_seals.egg-info/requires.txt +++ /dev/null @@ -1,2 +0,0 @@ -numpy -pandas diff --git a/yoshi-seals1.3.3-1/yoshi_seals.egg-info/top_level.txt b/yoshi-seals1.3.3-1/yoshi_seals.egg-info/top_level.txt deleted file mode 100644 index ce88a75..0000000 --- a/yoshi-seals1.3.3-1/yoshi_seals.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -Seals