From 6ae04c173f52a6082fcd22d05fa59660ae69fd16 Mon Sep 17 00:00:00 2001 From: Vitor Hideyoshi Date: Mon, 29 Jun 2020 23:47:51 -0300 Subject: [PATCH] v1.3.1 --- Older Versions/yoshi-seals1.3.tar.xz | Bin 0 -> 33748 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 0 -> 184 bytes .../yoshi-seals1.3/Seals/eigen/__init__.py | 20 ++ .../eigen/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 218 bytes .../eigen/__pycache__/eigen.cpython-37.pyc | Bin 0 -> 650 bytes .../yoshi-seals1.3/Seals/eigen/eigen.py | 51 ++++ .../yoshi-seals1.3/Seals/insert/__init__.py | 21 ++ .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 257 bytes .../insert/__pycache__/insert.cpython-37.pyc | Bin 0 -> 688 bytes .../yoshi-seals1.3/Seals/insert/insert.py | 46 +++ .../yoshi-seals1.3/Seals/process/__init__.py | 25 ++ .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 386 bytes .../__pycache__/process.cpython-37.pyc | Bin 0 -> 2597 bytes .../yoshi-seals1.3/Seals/process/process.py | 203 +++++++++++++ .../yoshi-seals1.3/Seals/scan/__init__.py | 21 ++ .../scan/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 260 bytes .../scan/__pycache__/scan.cpython-37.pyc | Bin 0 -> 641 bytes .../yoshi-seals1.3/Seals/scan/scan.py | 45 +++ .../yoshi-seals1.3/Seals/write/__init__.py | 21 ++ .../write/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 262 bytes .../write/__pycache__/write.cpython-37.pyc | Bin 0 -> 596 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 0 -> 5670 bytes .../dist/yoshi_seals-1.3-py3-none-any.whl | Bin 0 -> 17369 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 + README.md | 10 +- yoshi-seals1.3.1.tar.xz | Bin 0 -> 34124 bytes yoshi-seals1.3.1/LICENSE | 278 ++++++++++++++++++ yoshi-seals1.3.1/README.md | 55 ++++ yoshi-seals1.3.1/Seals/__init__.py | 18 ++ .../Seals/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 184 bytes yoshi-seals1.3.1/Seals/eigen/__init__.py | 20 ++ .../eigen/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 218 bytes .../eigen/__pycache__/eigen.cpython-37.pyc | Bin 0 -> 650 bytes yoshi-seals1.3.1/Seals/eigen/eigen.py | 51 ++++ yoshi-seals1.3.1/Seals/insert/__init__.py | 21 ++ .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 257 bytes .../insert/__pycache__/insert.cpython-37.pyc | Bin 0 -> 688 bytes yoshi-seals1.3.1/Seals/insert/insert.py | 46 +++ yoshi-seals1.3.1/Seals/process/__init__.py | 25 ++ .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 386 bytes .../__pycache__/process.cpython-37.pyc | Bin 0 -> 2597 bytes yoshi-seals1.3.1/Seals/process/process.py | 203 +++++++++++++ yoshi-seals1.3.1/Seals/scan/__init__.py | 21 ++ .../scan/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 260 bytes .../scan/__pycache__/scan.cpython-37.pyc | Bin 0 -> 641 bytes yoshi-seals1.3.1/Seals/scan/scan.py | 45 +++ yoshi-seals1.3.1/Seals/write/__init__.py | 21 ++ .../write/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 262 bytes .../write/__pycache__/write.cpython-37.pyc | Bin 0 -> 596 bytes yoshi-seals1.3.1/Seals/write/write.py | 33 +++ yoshi-seals1.3.1/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 ++ yoshi-seals1.3.1/build/lib/Seals/scan/scan.py | 45 +++ .../build/lib/Seals/write/__init__.py | 21 ++ .../build/lib/Seals/write/write.py | 33 +++ yoshi-seals1.3.1/dist/yoshi-seals-1.3.tar.gz | Bin 0 -> 5719 bytes .../dist/yoshi_seals-1.3-py3-none-any.whl | Bin 0 -> 17403 bytes 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 + 89 files changed, 2927 insertions(+), 5 deletions(-) create mode 100644 Older Versions/yoshi-seals1.3.tar.xz create mode 100644 Older Versions/yoshi-seals1.3/LICENSE create mode 100644 Older Versions/yoshi-seals1.3/README.md create mode 100644 Older Versions/yoshi-seals1.3/Seals/__init__.py create mode 100644 Older Versions/yoshi-seals1.3/Seals/__pycache__/__init__.cpython-37.pyc create mode 100644 Older Versions/yoshi-seals1.3/Seals/eigen/__init__.py create mode 100644 Older Versions/yoshi-seals1.3/Seals/eigen/__pycache__/__init__.cpython-37.pyc create mode 100644 Older Versions/yoshi-seals1.3/Seals/eigen/__pycache__/eigen.cpython-37.pyc create mode 100644 Older Versions/yoshi-seals1.3/Seals/eigen/eigen.py create mode 100644 Older Versions/yoshi-seals1.3/Seals/insert/__init__.py create mode 100644 Older Versions/yoshi-seals1.3/Seals/insert/__pycache__/__init__.cpython-37.pyc create mode 100644 Older Versions/yoshi-seals1.3/Seals/insert/__pycache__/insert.cpython-37.pyc create mode 100644 Older Versions/yoshi-seals1.3/Seals/insert/insert.py create mode 100644 Older Versions/yoshi-seals1.3/Seals/process/__init__.py create mode 100644 Older Versions/yoshi-seals1.3/Seals/process/__pycache__/__init__.cpython-37.pyc create mode 100644 Older Versions/yoshi-seals1.3/Seals/process/__pycache__/process.cpython-37.pyc create mode 100644 Older Versions/yoshi-seals1.3/Seals/process/process.py create mode 100644 Older Versions/yoshi-seals1.3/Seals/scan/__init__.py create mode 100644 Older Versions/yoshi-seals1.3/Seals/scan/__pycache__/__init__.cpython-37.pyc create mode 100644 Older Versions/yoshi-seals1.3/Seals/scan/__pycache__/scan.cpython-37.pyc create mode 100644 Older Versions/yoshi-seals1.3/Seals/scan/scan.py create mode 100644 Older Versions/yoshi-seals1.3/Seals/write/__init__.py create mode 100644 Older Versions/yoshi-seals1.3/Seals/write/__pycache__/__init__.cpython-37.pyc create mode 100644 Older Versions/yoshi-seals1.3/Seals/write/__pycache__/write.cpython-37.pyc create mode 100644 Older Versions/yoshi-seals1.3/Seals/write/write.py create mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/__init__.py create mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/eigen/__init__.py create mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/eigen/eigen.py create mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/insert/__init__.py create mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/insert/insert.py create mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/process/__init__.py create mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/process/process.py create mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/scan/__init__.py create mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/scan/scan.py create mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/write/__init__.py create mode 100644 Older Versions/yoshi-seals1.3/build/lib/Seals/write/write.py create mode 100644 Older Versions/yoshi-seals1.3/dist/yoshi-seals-1.3.tar.gz create mode 100644 Older Versions/yoshi-seals1.3/dist/yoshi_seals-1.3-py3-none-any.whl create mode 100644 Older Versions/yoshi-seals1.3/setup.py create mode 100644 Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/PKG-INFO create mode 100644 Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/SOURCES.txt create mode 100644 Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/dependency_links.txt create mode 100644 Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/requires.txt create mode 100644 Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/top_level.txt create mode 100644 yoshi-seals1.3.1.tar.xz create mode 100644 yoshi-seals1.3.1/LICENSE create mode 100644 yoshi-seals1.3.1/README.md create mode 100644 yoshi-seals1.3.1/Seals/__init__.py create mode 100644 yoshi-seals1.3.1/Seals/__pycache__/__init__.cpython-37.pyc create mode 100644 yoshi-seals1.3.1/Seals/eigen/__init__.py create mode 100644 yoshi-seals1.3.1/Seals/eigen/__pycache__/__init__.cpython-37.pyc create mode 100644 yoshi-seals1.3.1/Seals/eigen/__pycache__/eigen.cpython-37.pyc create mode 100644 yoshi-seals1.3.1/Seals/eigen/eigen.py create mode 100644 yoshi-seals1.3.1/Seals/insert/__init__.py create mode 100644 yoshi-seals1.3.1/Seals/insert/__pycache__/__init__.cpython-37.pyc create mode 100644 yoshi-seals1.3.1/Seals/insert/__pycache__/insert.cpython-37.pyc create mode 100644 yoshi-seals1.3.1/Seals/insert/insert.py create mode 100644 yoshi-seals1.3.1/Seals/process/__init__.py create mode 100644 yoshi-seals1.3.1/Seals/process/__pycache__/__init__.cpython-37.pyc create mode 100644 yoshi-seals1.3.1/Seals/process/__pycache__/process.cpython-37.pyc create mode 100644 yoshi-seals1.3.1/Seals/process/process.py create mode 100644 yoshi-seals1.3.1/Seals/scan/__init__.py create mode 100644 yoshi-seals1.3.1/Seals/scan/__pycache__/__init__.cpython-37.pyc create mode 100644 yoshi-seals1.3.1/Seals/scan/__pycache__/scan.cpython-37.pyc create mode 100644 yoshi-seals1.3.1/Seals/scan/scan.py create mode 100644 yoshi-seals1.3.1/Seals/write/__init__.py create mode 100644 yoshi-seals1.3.1/Seals/write/__pycache__/__init__.cpython-37.pyc create mode 100644 yoshi-seals1.3.1/Seals/write/__pycache__/write.cpython-37.pyc create mode 100644 yoshi-seals1.3.1/Seals/write/write.py create mode 100644 yoshi-seals1.3.1/build/lib/Seals/__init__.py create mode 100644 yoshi-seals1.3.1/build/lib/Seals/eigen/__init__.py create mode 100644 yoshi-seals1.3.1/build/lib/Seals/eigen/eigen.py create mode 100644 yoshi-seals1.3.1/build/lib/Seals/insert/__init__.py create mode 100644 yoshi-seals1.3.1/build/lib/Seals/insert/insert.py create mode 100644 yoshi-seals1.3.1/build/lib/Seals/process/__init__.py create mode 100644 yoshi-seals1.3.1/build/lib/Seals/process/process.py create mode 100644 yoshi-seals1.3.1/build/lib/Seals/scan/__init__.py create mode 100644 yoshi-seals1.3.1/build/lib/Seals/scan/scan.py create mode 100644 yoshi-seals1.3.1/build/lib/Seals/write/__init__.py create mode 100644 yoshi-seals1.3.1/build/lib/Seals/write/write.py create mode 100644 yoshi-seals1.3.1/dist/yoshi-seals-1.3.tar.gz create mode 100644 yoshi-seals1.3.1/dist/yoshi_seals-1.3-py3-none-any.whl create mode 100644 yoshi-seals1.3.1/setup.py create mode 100644 yoshi-seals1.3.1/yoshi_seals.egg-info/PKG-INFO create mode 100644 yoshi-seals1.3.1/yoshi_seals.egg-info/SOURCES.txt create mode 100644 yoshi-seals1.3.1/yoshi_seals.egg-info/dependency_links.txt create mode 100644 yoshi-seals1.3.1/yoshi_seals.egg-info/requires.txt create mode 100644 yoshi-seals1.3.1/yoshi_seals.egg-info/top_level.txt diff --git a/Older Versions/yoshi-seals1.3.tar.xz b/Older Versions/yoshi-seals1.3.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..a8722ce1986c87cb76b77afeb83a48380a0ad91e GIT binary patch literal 33748 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 literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..ebbe9a26e95468d23ac8cb067b83b9c3fa1f8ad0 GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/Older Versions/yoshi-seals1.3/Seals/insert/insert.py b/Older Versions/yoshi-seals1.3/Seals/insert/insert.py new file mode 100644 index 0000000..003e274 --- /dev/null +++ b/Older Versions/yoshi-seals1.3/Seals/insert/insert.py @@ -0,0 +1,46 @@ +# 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 new file mode 100644 index 0000000..985e6e0 --- /dev/null +++ b/Older Versions/yoshi-seals1.3/Seals/process/__init__.py @@ -0,0 +1,25 @@ +# 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 new file mode 100644 index 0000000000000000000000000000000000000000..9e70d8d1e4c013be3676b8f769da71dc46342d72 GIT binary patch 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 literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..0a056eeb3c4be8973cc38935e325c026dd511ef4 GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/Older Versions/yoshi-seals1.3/Seals/process/process.py b/Older Versions/yoshi-seals1.3/Seals/process/process.py new file mode 100644 index 0000000..968cd9c --- /dev/null +++ b/Older Versions/yoshi-seals1.3/Seals/process/process.py @@ -0,0 +1,203 @@ +# 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 new file mode 100644 index 0000000..c0167ff --- /dev/null +++ b/Older Versions/yoshi-seals1.3/Seals/scan/__init__.py @@ -0,0 +1,21 @@ +# 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 new file mode 100644 index 0000000000000000000000000000000000000000..dfa267e815a50d4c7ceaf9a32d318071f01ada1b GIT binary patch literal 260 zcmXwzze)o^5XN`+E6OHNvzTh^rB6j{5cK5dg#TmNJcysQ$Z5*eITQ{rR LU6D1GpDy_?<{Cyu literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..0452701527b478502880943d0c179b2b939cf7b5 GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/Older Versions/yoshi-seals1.3/Seals/scan/scan.py b/Older Versions/yoshi-seals1.3/Seals/scan/scan.py new file mode 100644 index 0000000..07c5cbd --- /dev/null +++ b/Older Versions/yoshi-seals1.3/Seals/scan/scan.py @@ -0,0 +1,45 @@ +# 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 new file mode 100644 index 0000000..90f152d --- /dev/null +++ b/Older Versions/yoshi-seals1.3/Seals/write/__init__.py @@ -0,0 +1,21 @@ +# 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 new file mode 100644 index 0000000000000000000000000000000000000000..7b0ac6bf9012026fce51535debab2ec80e263b49 GIT binary patch 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 literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..9beac4490212a6d0dd37690bdf7db96a22eed3d0 GIT binary patch literal 596 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 MKkM$3)&R%=06v>LS^xk5 literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..23abc2c219b1d36551f6945a96efc78e90839ed4 GIT binary patch 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 new file mode 100644 index 0000000..d941c7a --- /dev/null +++ b/Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/SOURCES.txt @@ -0,0 +1,18 @@ +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 new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/dependency_links.txt @@ -0,0 +1 @@ + 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 new file mode 100644 index 0000000..5da331c --- /dev/null +++ b/Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/requires.txt @@ -0,0 +1,2 @@ +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 new file mode 100644 index 0000000..ce88a75 --- /dev/null +++ b/Older Versions/yoshi-seals1.3/yoshi_seals.egg-info/top_level.txt @@ -0,0 +1 @@ +Seals diff --git a/README.md b/README.md index 400dd62..ef4af91 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Seals - Numeric Calculus -This python package is made for applied Numeric Calculus of Linear Algebra. It is made with the following objectives in mind: +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. @@ -20,17 +20,17 @@ This python package is made for applied Numeric Calculus of Linear Algebra. It i ## Syntax -The module *scan* has a function for *Numpy* arrays and *Pandas* dataframes, and used the following syntax `Seals.scan.np(path)` for *Numpy* and `Seals.scan.pd(path)` for *Pandas*, where `path` is the path to your directory. +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. -The module *write* has a function for *Numpy* arrays and *Pandas* dataframes, and uses the following syntax `Seals.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 `Seals.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 *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. -The module *insert* has a function for *matrix* and another for *vector*, and it has the following syntax `Seals.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*. +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: `sl = Seals.process`, 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)`. +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. diff --git a/yoshi-seals1.3.1.tar.xz b/yoshi-seals1.3.1.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..312999e85737a64a4203e3e503cdc7caf67f7b7f GIT binary patch literal 34124 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 literal 0 HcmV?d00001 diff --git a/yoshi-seals1.3.1/LICENSE b/yoshi-seals1.3.1/LICENSE new file mode 100644 index 0000000..d2c5abe --- /dev/null +++ b/yoshi-seals1.3.1/LICENSE @@ -0,0 +1,278 @@ + 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/yoshi-seals1.3.1/README.md b/yoshi-seals1.3.1/README.md new file mode 100644 index 0000000..ef4af91 --- /dev/null +++ b/yoshi-seals1.3.1/README.md @@ -0,0 +1,55 @@ +# 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/yoshi-seals1.3.1/Seals/__init__.py b/yoshi-seals1.3.1/Seals/__init__.py new file mode 100644 index 0000000..e5d934d --- /dev/null +++ b/yoshi-seals1.3.1/Seals/__init__.py @@ -0,0 +1,18 @@ +# 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/yoshi-seals1.3.1/Seals/__pycache__/__init__.cpython-37.pyc b/yoshi-seals1.3.1/Seals/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f8ca22ef5699923e6788edc2f42d20b6b48ab2ae GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/yoshi-seals1.3.1/Seals/eigen/__pycache__/eigen.cpython-37.pyc b/yoshi-seals1.3.1/Seals/eigen/__pycache__/eigen.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ebbe9a26e95468d23ac8cb067b83b9c3fa1f8ad0 GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/yoshi-seals1.3.1/Seals/insert/insert.py b/yoshi-seals1.3.1/Seals/insert/insert.py new file mode 100644 index 0000000..003e274 --- /dev/null +++ b/yoshi-seals1.3.1/Seals/insert/insert.py @@ -0,0 +1,46 @@ +# 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.1/Seals/process/__init__.py b/yoshi-seals1.3.1/Seals/process/__init__.py new file mode 100644 index 0000000..985e6e0 --- /dev/null +++ b/yoshi-seals1.3.1/Seals/process/__init__.py @@ -0,0 +1,25 @@ +# 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.1/Seals/process/__pycache__/__init__.cpython-37.pyc b/yoshi-seals1.3.1/Seals/process/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9e70d8d1e4c013be3676b8f769da71dc46342d72 GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/yoshi-seals1.3.1/Seals/process/__pycache__/process.cpython-37.pyc b/yoshi-seals1.3.1/Seals/process/__pycache__/process.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0a056eeb3c4be8973cc38935e325c026dd511ef4 GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/yoshi-seals1.3.1/Seals/process/process.py b/yoshi-seals1.3.1/Seals/process/process.py new file mode 100644 index 0000000..968cd9c --- /dev/null +++ b/yoshi-seals1.3.1/Seals/process/process.py @@ -0,0 +1,203 @@ +# 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/yoshi-seals1.3.1/Seals/scan/__init__.py b/yoshi-seals1.3.1/Seals/scan/__init__.py new file mode 100644 index 0000000..c0167ff --- /dev/null +++ b/yoshi-seals1.3.1/Seals/scan/__init__.py @@ -0,0 +1,21 @@ +# 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/yoshi-seals1.3.1/Seals/scan/__pycache__/__init__.cpython-37.pyc b/yoshi-seals1.3.1/Seals/scan/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dfa267e815a50d4c7ceaf9a32d318071f01ada1b GIT binary patch literal 260 zcmXwzze)o^5XN`+E6OHNvzTh^rB6j{5cK5dg#TmNJcysQ$Z5*eITQ{rR LU6D1GpDy_?<{Cyu literal 0 HcmV?d00001 diff --git a/yoshi-seals1.3.1/Seals/scan/__pycache__/scan.cpython-37.pyc b/yoshi-seals1.3.1/Seals/scan/__pycache__/scan.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0452701527b478502880943d0c179b2b939cf7b5 GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/yoshi-seals1.3.1/Seals/scan/scan.py b/yoshi-seals1.3.1/Seals/scan/scan.py new file mode 100644 index 0000000..07c5cbd --- /dev/null +++ b/yoshi-seals1.3.1/Seals/scan/scan.py @@ -0,0 +1,45 @@ +# 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/yoshi-seals1.3.1/Seals/write/__init__.py b/yoshi-seals1.3.1/Seals/write/__init__.py new file mode 100644 index 0000000..90f152d --- /dev/null +++ b/yoshi-seals1.3.1/Seals/write/__init__.py @@ -0,0 +1,21 @@ +# 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/yoshi-seals1.3.1/Seals/write/__pycache__/__init__.cpython-37.pyc b/yoshi-seals1.3.1/Seals/write/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7b0ac6bf9012026fce51535debab2ec80e263b49 GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/yoshi-seals1.3.1/Seals/write/__pycache__/write.cpython-37.pyc b/yoshi-seals1.3.1/Seals/write/__pycache__/write.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9beac4490212a6d0dd37690bdf7db96a22eed3d0 GIT binary patch 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@gXO6xja)xRbXDxr=J5Qwo9 zJKIRsVveD=&vc)5N=Z#Y)TBJpOPV&4Oot@Ow=#GG4`Ijn-$X4&;f(Tpqk)iHI?JFm zv!cbajGRj|pK6P83Fib^{gogj-v!p*lOGarBt#8f86H$7!^VF1p!)6h!-Ej;peF@E zAZlE0CFrAFHlaMs#x9y?9^x+bviinnh_n3>qB2D+vpc&$IiCaS@;$1|_d zL8M}#W%M-9<+gw~la6*0@!*qsoC2!5-cPu;1Dpl}cmk=yIbhpVa3Z1bSaPoD5*Y4Z znX-6Yb~Txm&5@D#x!jAaF?4?w)*IoqFpoQSv1;3U;v-c6c)OmjW+&+{!e@#}jOujo zMgs-TVzCp|*0aw-hjR7d^@Bv3mo@JDA@st@_ws5cVO36FTw%ZDE{cQDJGXs1K8K(F zlFDr3l3^n2KqcbWYxNLQ&U;K z1(LR|Jupb6Z!L=jspO(RLGTtvE>h+V;7_Y&NvH-d!+sSDpEzKP+EIgWNj~RhMv+VB zHv8N>2{>rUGrF!FzywpWOc2eK;M4c?PDJb0#QY{O|d{t*3#1f6niBhp&gaa~X7s#c|F^*}n|@@J-s{mC#~#HCmI zZ5xNd#iJo-Ii1(VE?mpYl)wnvx6}EPC7fw7;J{a}+wznkNrsmD4{x{!Y<2W7EOeX} zPC}3javj$SGJBDZEZYVDwT^2(+_s>PKW`I< zm+_!1pBV|}@O-$h`I}W7Z7-Wk8sV5rLgH9H@eJqu#xr~0+^Jz2Mh4?$cV zkUGep_@xo`Bl8&p3p_U0sw)#`klH3w?gTq)GYUgTdF-!1BX=P8J%*A9vQOJv1le-j z{WHSOV&0WQ9izF58=J$%SAPj(Iggv{eFaNEFQyg5Jh4zwwwtdv>$opCmGM38>qbiB zjd*iih)^Ml0cF?v^y7ufaiCJ#l}binVZV)5@2ZFhgG?byTwklLURo_j7rEfX6BBxA zYeLNREXCa}f#mnNl}PH>(DAw5eTmQGf{Ln<$T40W)SEyu**9U=KU1osI9Nzm%slDZ zecrn=fH3O2=%3}odRfQ736fR=zWr)^3y#y&&00j(wivjj)btHlb@O;+MfD3{89YZl zhbfc_+qk%oB#~|LKV=$jUDS8%ym7>3jti$mWYrI>aTa?;KCyH{ zl|}o-c+05yV61ekj#{m3c(3SrIYIjEcwd%qg>bYKJzy8b)Cv^j@1D0xSUEaGImu=;iI}xD z5P)2f*`$VAy$AS|84CC}g43!2L3ZJVHp+0N86wViV4HllTHSJ4f|N|^WttMlc9vG} zgu-;Njmg5S3$bw&OFLJx#HPJ140krAK4Yki>J<>A+?F_`OQlPf{z|(Q03+`?6cyqg ziY%v}4#l+lf{SSNKDuuUnjCaKFfnMAONitKnJ)!t&wHbf_ZrWS4ovdt$I}5m36kMa zZeX7KjR-JbX}HG=TrTU|Y%%X9FOcx%q)fNgk=!<7TCg&V9uB`U!833Q!mJK6V5)_zq zOy75YoF5(nuBb1xJcBA)&cBQUhV=D;?0{K`*&^Q?zOAzY6d>b)R)dGr3^7jQ;aUhp z`i}=R*S!*EoK_2Q&7NcUSWWuAojC$g+O|eul77CMw*e|S)>>qFS&&NMJ+APm#Gr~f zvT3r7r@_+@A@>>IjnMM(Z|?keg_dYNk|&^>Ln{zQ*>?`4sY=f}E-b?}9*$${oTTE8 zkEwy#X|TPK{haZEq%&x<(I+XPA7hAdOTFGgfa2^gd%ab>istAbvrRbd9EGXy5W}|5 zuP$oh$e@#x(47KoePS<_5#qYi&IGJZ;z^RHV;IEC1a7`(x9=r)bD3|8a=f=~W*N(E zHaBdt#t$zt<8EF`UL z!#nH%cK1nvZ8~eW>1-c<(!|yU$kAXih#qdc^F=`_Vqa?z+%#hDX2t08nVY`|1OL?WA#PH6rcfgz#oPD+D-N`Z9CsS z9~F-7#@lpkFF92WrI_NhM~_B${H*Aqz4C#4y|>-VhN7V7?=S-7;pyt$6leY)xIdbl z5U7UieqYnNRm0S*`Jjt|#5K5+rP(up@0_V(LRYzhvogW0a>GgUyujV{01f)VEGdgutr6_@sSWpMB}zlBH&_l0g&u# zZvi}j?k(cq{HGmEZD{JYHtv-Zl;D<-aaB3@A4`;A{GXFSLG8A(S{w{SxV^4r$5j0y zdU%{`6nKMjJZO51_ApuoFb)u^Re-@2bP-_>%-$uHTr$Uf0okVP#z1cp#ZiRW+A=KQ4_vT8!=-;FjbM-FD_S2ft42{kl;(vNf;ih~bK`#I=7$X%pHQ5|lth zF>}bVgbZj#MS+sMnTu3ZvB3a*n~*!?@w`uEH)6(=kNAnx_{H;=1+3J@$-$3lTg-6=GMK6`AIAxX_ZH+Q-0znIbD^ z^WmPYCksw$ZWO=Zh4{zE;R^=&*_U}=knbpB{SVdU7rS5ak5Q!gd@8e{MjZc;Opt1! z;JP%|?8)cQ7=}`~U~ZZ0?6r*ac@K05hMzF?n^7I69wE*nEO5WG;?^6Lv|;Cwgz_O| zY4Q2#UPYM>DTodk9>MCdvaMz_wy~Ts(!-@{|!>0HyX7BH?H2vpgrW6G|O|O zL%}k7|F~%$;59e5g2Y@nY+w8n@x2Ax8kb?^_Xn+vc|E~JONMp-#rRLQ&n6!jw$6i1 z9p&>gw^j_u?h>N1cHY2i>VB2iseNk^XV#rWejC|ymk|;pe)!>a>|VE@T6Z$B>Fe*j z*0R{&cK_^cTT555|3868aJsXjM7MzJC)@YOHMd7{Ia_j6{aLljnSYPy34c@dH}M_( zsC=`F{%mCRiQ^0D*oUK1NcXX4YM&1xrR#l7XKp4wAMJQzD9X7?CsrLrz>!fptT<=N zWF5fF|H8o#fg$)v??}rg~}!T(9%ob?XJs}`rXHlz#=ob-fJNHc|A~#0=_={r|fj7sQGD$>UUL?2(BP9lBhQv zE;|++-nBoy?{Iq5ZDXne+&`{iT_Q?K^8lXzZv5UY^y<8$xRj=em!#LfPl$ZQcWFmB zIWDuy#=!X$db)nfin*HE*%J2v{^OeZxE@Nx=~5l>5*zeQ)6;h0E%9%$axdu%9TQOS#9eOCvD zl|%D_fd;dB)_GuVFTsp>0|?Y^1FHUe>?>}Vp;f02L$pu^bbpdsT!h6RXmY7Qkshr- z{QmH9Nk(2QZf)r6#oW4@C?`|-eIk{OhX+KPskdR`!*?z#K}*67Q<-mM8oxZ^JmNOZ zcfp)mQa4RP2+^RKmtbJNtr5~LD-Dr{?B{OJ*K;m;9fiCzG}@;BHJiCY+h07;$>u|UcXJE&nsn8(w^+EWCNqeb)MeO5^ z_{k&N;`LRNmS*WZ zwKX2fTpUa~?Q)E;;h~W=3M4$jul;o|7BxB0Ty_1=3VQqr^)8kJ?;6FU>v46ivA}p^ zI#;U3ilnDSm?>n?jLo97y)F3J(}TAxBzYag+k&2KekZNH41o%hl6V#!exAaZrcoj6 zn=Eie%HkN4Humz^n8||oz3jT<=S%q3L|JajFR`0iK@298Y$dE%JarwtRtxR%cwYi2 zS9!p1Seg3fou9mu6bO!s>g#$&Lw^Ld$WKlr%oDr&a}s0_W5Cfwn(?L9SuS=Tvs>al zn!PEnh=w;gLf0)bAdt^f82^!^n{3$2Ynsus#tFoReZx!YJgPt7J&>}{t}*6G;4XV^ zJ}3j5SVGjf1a4Guf5Zg~YILwu&$e$d-7MLhrJrbS1Wmj|XUqZ**8)IQq>G-?{3;Ch z4)7XB@FoNr$pW|4DZo}fvj*4Bu~1$w`VA`j>>>J}hl)|yJ1k*RR6F@?75~OZ5s70B8Rb@z4+$* zcRyXc&ZLiA)F=jj?B&L2J1O62-fRcFuHR*GmkA2>;=Rxa=^~4lOS&DB$nPybqf54w z`Mm_TdYa3A87~ z1=HQ((o;(-m|1gBnC>f>ku)RRS*LW)i#dOn-r+eUn}?}5D$?72zfS3tcMbJHihtv* zw@k_3FA>>*Oxo0!r|@Qst~yPZI(%SC?;B9xApLl|jNjHLGI5ulyWTWVWzxr*k9@N~ zwnR<(C(M*>vgQBtzf3{WI0wrKsGTJ>SGdz@5YmQCqe^NoufW~^y-{7T-}BmX!8q9_ zX|IZ%N1=hLXuFA?dt2!n8e4@%5Wkh)hO+1GX06ZdjDiM>Bg3_xoLE;CXA3&C)E!h zTp{0?N?xQ7dBnL`ELqU!t&rq_{#Cr#Br$Ar+kASchSZg*#Lifg{xV3N@`-qk_7?n% z#Ea9h_Y}qaw4lmcWQr%O;5%s4;cyz7_pI<{VQur#XJ2_Orj9PvOeesPv>!VB_ zF!_>Pn!Kx1BwG0eEEArxsSi;D5s!s;X3+jDlB$_hl~?rPqF&CX4tfNuG_MucHlz!c zH{3xveC9~$j$+&0^TN`koOtAbgB5FSr%KY# zwDy}u5+?WBj6g84nc&YhY;fJrjbIH=nzMhQpYltvxm}!$2LalFqK(In)FIGd)x0>c zo-eCW03XvV%E3SNNyy(<#cP@pJ~aGqd5M8$rnl~CKui0s6(b{bzw3IHCl8RwPAhqU zR)v=R0fN%`Lc71H>V`hA0gKn%K+S!)ThskazW+P|Lj>*}S=|m3&wn+yIo2O&6V%Q6 zzo~y-E#_!CY*C-k@KI;xrcKw*0&e7)Uaa wE&=^#5Aytc_W(bQf7ER6n~dg}5<$OmP0Ky~|FqwL+kF57j3zGz4T3=b1N*^S#{d8T literal 0 HcmV?d00001 diff --git a/yoshi-seals1.3.1/dist/yoshi_seals-1.3-py3-none-any.whl b/yoshi-seals1.3.1/dist/yoshi_seals-1.3-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..e0814943a69f931a9ffb5289c2f2529eb6aa557d GIT binary patch literal 17403 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.6 +Description-Content-Type: text/markdown diff --git a/yoshi-seals1.3.1/yoshi_seals.egg-info/SOURCES.txt b/yoshi-seals1.3.1/yoshi_seals.egg-info/SOURCES.txt new file mode 100644 index 0000000..d941c7a --- /dev/null +++ b/yoshi-seals1.3.1/yoshi_seals.egg-info/SOURCES.txt @@ -0,0 +1,18 @@ +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.1/yoshi_seals.egg-info/dependency_links.txt b/yoshi-seals1.3.1/yoshi_seals.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/yoshi-seals1.3.1/yoshi_seals.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/yoshi-seals1.3.1/yoshi_seals.egg-info/requires.txt b/yoshi-seals1.3.1/yoshi_seals.egg-info/requires.txt new file mode 100644 index 0000000..5da331c --- /dev/null +++ b/yoshi-seals1.3.1/yoshi_seals.egg-info/requires.txt @@ -0,0 +1,2 @@ +numpy +pandas diff --git a/yoshi-seals1.3.1/yoshi_seals.egg-info/top_level.txt b/yoshi-seals1.3.1/yoshi_seals.egg-info/top_level.txt new file mode 100644 index 0000000..ce88a75 --- /dev/null +++ b/yoshi-seals1.3.1/yoshi_seals.egg-info/top_level.txt @@ -0,0 +1 @@ +Seals