From b3431686b5dd4774464d0fc1741f04756ac38e96 Mon Sep 17 00:00:00 2001 From: Sherwin Nedaei Janbesaraei Date: Mon, 28 Nov 2022 23:14:21 +0330 Subject: [PATCH] Develop (#12) * add KernelMatrix,SaveOutput,LoadOutput Function Also, additional documentation for each class and function * Update orsvm.py some minor changes on the following functions: -SaveOutput: - function renamed - variables' names corrected -LoadOutput: - function renamed - some corrections to variable names * Update kernels.py Latest revision on comments, Variable corrections and function descriptions * DEBUG SupportMultipliers fucntion logging.info('** Strictly %s first elements of support vectors are selected!',n) replaced with: logging.info('** Strictly',n,' first elements of support vectors are selected!') * DEBUG on SupportMultipliers function correction on svd int type error * DEBUG wrong variable name corrected * DEBUG _IsScientific(n) fucntion logging error recovered * create PredictWithJson function some misspelling also corrected * binary classification encoding added * Update documentation for hyperparameter * Update documentation for hyperparameter * Update kernels.py Gegenbauer kernel Debug, correction on hyperparameter valid domain * Update kernels.py add rbf kernel class * Update orsvm.py * Update orsvm.py bugs about kernel name resolved * Update orsvm.py checking the Convexity of the kernel matrix * Update kernels.py Comments added to Jacobi class * Update kernels.py Gegenbauer hyper parameter check correction * Update kernels.py add hypereparameter range checking for jacobi kernel * Update orsvm.py log error when x shape is not compatible with y shape * Update orsvm.py log error when n_sample = 0 * Update kernels.py debug for order equal or smaller than 0 in chebyshev * Update kernels.py debug for order smaller or equal to zero in legendre kernel * Update kernels.py * Update orsvm.py log error when T is out of range * Update orsvm.py support vector determiner debug * Update kernels.py log error when form input of chebyshev is not valid * Update kernels.py correction on the warning message of chebyshev form error * Update kernels.py debug when KernelParam1 for Gegenbauer is None * Update orsvm.py log error in kernelMatrix function when input size is zero * Update orsvm.py check y.shape[0]!=0 * Update orsvm.py log error when kernel name is not valid in KernelMatrix function * Update orsvm.py Debug SaveToJson * Update orsvm.py Debug LoadJson * Update orsvm.py Debug predictWithJson.( log error when support multiplier is None or n_sample = 0) * Update kernels.py log error when order<0 for gegenbauer and jacobi * Update orsvm.py syntax error fixed * Update orsvm.py Update documentations * Update kernels.py update documentation * Update kernels.py Check range of gamma in rbf * Update orsvm.py Check C is positive or not * Update kernels.py add default value for psi and omega in jacobi * Update orsvm.py bug about C resolved * Update orsvm.py log bug resolved * Update orsvm.py check type of x ,y (should not contain string or bool column) * Update orsvm.py change order of checking bugs in ModelFit and ModelPredict * Update orsvm.py log error when dataset is different from the dataset it was fitted on in PredictWithJson * Update orsvm.py check range of T in Transform function * Update orsvm.py Correct comments to be more clear * Update __init__.py * Update orsvm.py a little bug in saveJson resolved * Update credits.rst * Update orsvm.py * Update orsvm.py logging format corrected * Update requirements.txt * Update .readthedocs.yaml * Update README.md Link to book added * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update setup.py * Delete docs directory Delete docs directory to replace it with a new format * Create test.txt * Add files via upload Adding Build directory of the docs for readthedocs * Add files via upload Uploading source directory of the docs , for readthedocs * Delete conf.py.bak * Delete index.rst.bak * Delete installation.rst.bak * Add files via upload make files and the requirement file of sphinx * Update README.md * Update README.md badges added Co-authored-by: shakiba <51972244+shakibaam@users.noreply.github.com> --- .readthedocs.yaml | 7 + README.md | 11 +- docs/Makefile | 4 +- docs/_build/doctrees/credits.doctree | Bin 5077 -> 0 bytes docs/_build/doctrees/environment.pickle | Bin 43686 -> 0 bytes docs/_build/doctrees/index.doctree | Bin 8344 -> 0 bytes docs/_build/doctrees/installation.doctree | Bin 7720 -> 0 bytes .../notebooks/Gegenbauer_fitting.ipynb | 181 --- .../notebooks/Chebyshev_fitting.doctree | Bin 14641 -> 0 bytes .../notebooks/Gegenbauer_fitting.doctree | Bin 14476 -> 0 bytes .../notebooks/How_to_use_orsvm.doctree | Bin 64568 -> 0 bytes .../doctrees/notebooks/Jacobi_fitting.doctree | Bin 14466 -> 0 bytes .../notebooks/Legendre_fitting.doctree | Bin 15953 -> 0 bytes docs/_build/doctrees/references.doctree | Bin 4880 -> 0 bytes docs/_build/html/_sources/credits.rst.txt | 5 - docs/_build/html/_sources/index.rst.txt | 51 - .../_build/html/_sources/installation.rst.txt | 35 - .../notebooks/Gegenbauer_fitting.ipynb.txt | 181 --- docs/_build/html/_static/css/badge_only.css | 1 - docs/_build/html/_static/doctools.js | 323 ----- docs/_build/html/_static/jquery.js | 2 - docs/_build/html/_static/language_data.js | 297 ----- docs/_build/html/_static/searchtools.js | 528 -------- docs/_build/html/index.html | 180 --- .../html/notebooks/Gegenbauer_fitting.ipynb | 181 --- docs/_build/html/objects.inv | 6 - docs/_build/html/searchindex.js | 1 - .../_notebooks/Chebyshev_fitting.doctree | Bin 0 -> 17756 bytes .../_notebooks/Gegenbauer_fitting.doctree | Bin 0 -> 17808 bytes .../_notebooks/How_to_use_orsvm.doctree | Bin 0 -> 97218 bytes .../How_to_use_prefitted_model.doctree | Bin 0 -> 71817 bytes .../_notebooks/Jacobi_fitting.doctree | Bin 0 -> 17786 bytes .../_notebooks/Legendre_fitting.doctree | Bin 0 -> 17724 bytes docs/build/doctrees/credits.doctree | Bin 0 -> 5322 bytes docs/build/doctrees/environment.pickle | Bin 0 -> 49421 bytes docs/build/doctrees/index.doctree | Bin 0 -> 11370 bytes docs/build/doctrees/installation.doctree | Bin 0 -> 8115 bytes .../_notebooks}/Chebyshev_fitting.ipynb | 351 +++-- .../_notebooks/Gegenbauer_fitting.ipynb | 169 +++ .../_notebooks}/How_to_use_orsvm.ipynb | 192 +-- .../How_to_use_prefitted_model.ipynb | 337 +++++ .../nbsphinx/_notebooks}/Jacobi_fitting.ipynb | 350 +++-- .../_notebooks}/Legendre_fitting.ipynb | 363 +++--- docs/build/doctrees/references.doctree | Bin 0 -> 8560 bytes .../html/_images/identicons.png | Bin .../html/_notebooks}/Chebyshev_fitting.html | 120 +- .../html/_notebooks}/Chebyshev_fitting.ipynb | 67 +- .../html/_notebooks}/Gegenbauer_fitting.html | 129 +- .../html/_notebooks/Gegenbauer_fitting.ipynb | 169 +++ .../html/_notebooks}/How_to_use_orsvm.html | 213 ++-- .../html/_notebooks}/How_to_use_orsvm.ipynb | 1002 +++++++-------- .../How_to_use_prefitted_model.html | 689 ++++++++++ .../How_to_use_prefitted_model.ipynb | 337 +++++ .../html/_notebooks}/Jacobi_fitting.html | 109 +- .../html/_notebooks}/Jacobi_fitting.ipynb | 68 +- .../html/_notebooks}/Legendre_fitting.html | 129 +- .../html/_notebooks}/Legendre_fitting.ipynb | 79 +- .../_notebooks}/Chebyshev_fitting.ipynb.txt | 67 +- .../_notebooks/Gegenbauer_fitting.ipynb.txt | 169 +++ .../_notebooks}/How_to_use_orsvm.ipynb.txt | 192 +-- .../How_to_use_prefitted_model.ipynb.txt | 337 +++++ .../_notebooks}/Jacobi_fitting.ipynb.txt | 68 +- .../_notebooks}/Legendre_fitting.ipynb.txt | 79 +- docs/build/html/_sources/credits.rst.txt | 10 + docs/build/html/_sources/index.rst.txt | 52 + docs/build/html/_sources/installation.rst.txt | 36 + .../html/_sources/references.rst.txt | 13 + .../_sphinx_javascript_frameworks_compat.js | 134 ++ docs/build/html/_static/alabaster.css | 701 ++++++++++ docs/{_build => build}/html/_static/basic.css | 44 +- docs/build/html/_static/css/badge_only.css | 1 + .../_static/css/fonts/Roboto-Slab-Bold.woff | Bin .../_static/css/fonts/Roboto-Slab-Bold.woff2 | Bin .../css/fonts/Roboto-Slab-Regular.woff | Bin .../css/fonts/Roboto-Slab-Regular.woff2 | Bin .../_static/css/fonts/fontawesome-webfont.eot | Bin .../_static/css/fonts/fontawesome-webfont.svg | 0 .../_static/css/fonts/fontawesome-webfont.ttf | Bin .../css/fonts/fontawesome-webfont.woff | Bin .../css/fonts/fontawesome-webfont.woff2 | Bin .../_static/css/fonts/lato-bold-italic.woff | Bin .../_static/css/fonts/lato-bold-italic.woff2 | Bin .../html/_static/css/fonts/lato-bold.woff | Bin .../html/_static/css/fonts/lato-bold.woff2 | Bin .../_static/css/fonts/lato-normal-italic.woff | Bin .../css/fonts/lato-normal-italic.woff2 | Bin .../html/_static/css/fonts/lato-normal.woff | Bin .../html/_static/css/fonts/lato-normal.woff2 | Bin .../html/_static/css/theme.css | 4 +- docs/build/html/_static/custom.css | 1 + docs/build/html/_static/doctools.js | 264 ++++ .../html/_static/documentation_options.js | 8 +- docs/{_build => build}/html/_static/file.png | Bin .../html/_static/identicons.png | Bin .../html/_static/jquery-3.6.0.js} | 227 ++-- docs/build/html/_static/jquery.js | 2 + .../html/_static/js/badge_only.js | 0 .../_static/js/html5shiv-printshiv.min.js | 0 .../html/_static/js/html5shiv.min.js | 0 .../html/_static/js/theme.js | 0 docs/build/html/_static/language_data.js | 199 +++ docs/{_build => build}/html/_static/minus.png | Bin docs/{_build => build}/html/_static/plus.png | Bin .../html/_static/pygments.css | 34 +- docs/build/html/_static/searchtools.js | 531 ++++++++ .../html/_static/underscore-1.13.1.js | 0 .../html/_static/underscore.js | 0 docs/{_build => build}/html/credits.html | 35 +- docs/{_build => build}/html/genindex.html | 24 +- docs/build/html/index.html | 221 ++++ docs/{_build => build}/html/installation.html | 52 +- docs/build/html/objects.inv | Bin 0 -> 1279 bytes docs/{_build => build}/html/references.html | 31 +- docs/{_build => build}/html/search.html | 24 +- docs/build/html/searchindex.js | 1 + docs/index.rst | 51 - docs/installation.rst | 35 - docs/make.bat | 8 +- docs/notebooks/Gegenbauer_fitting.ipynb | 181 --- docs/requirements.txt | 3 + .../_notebooks}/Chebyshev_fitting.ipynb | 351 +++-- .../_notebooks/Gegenbauer_fitting.ipynb | 169 +++ .../_notebooks}/How_to_use_orsvm.ipynb | 1002 +++++++-------- .../How_to_use_prefitted_model.ipynb | 337 +++++ .../_notebooks}/Jacobi_fitting.ipynb | 350 +++-- .../_notebooks}/Legendre_fitting.ipynb | 363 +++--- docs/{ => source}/_static/identicons.png | Bin docs/{ => source}/conf.py | 11 +- docs/{ => source}/credits.rst | 2 +- docs/source/index.rst | 52 + docs/source/installation.rst | 36 + docs/{ => source}/references.rst | 13 + docs/test.txt | 1 + orsvm/__init__.py | 2 +- orsvm/kernels.py | 649 +++++++--- orsvm/orsvm.py | 1131 ++++++++++++----- requirements.txt | 8 +- setup.py | 4 +- 138 files changed, 9383 insertions(+), 5804 deletions(-) delete mode 100644 docs/_build/doctrees/credits.doctree delete mode 100644 docs/_build/doctrees/environment.pickle delete mode 100644 docs/_build/doctrees/index.doctree delete mode 100644 docs/_build/doctrees/installation.doctree delete mode 100644 docs/_build/doctrees/nbsphinx/notebooks/Gegenbauer_fitting.ipynb delete mode 100644 docs/_build/doctrees/notebooks/Chebyshev_fitting.doctree delete mode 100644 docs/_build/doctrees/notebooks/Gegenbauer_fitting.doctree delete mode 100644 docs/_build/doctrees/notebooks/How_to_use_orsvm.doctree delete mode 100644 docs/_build/doctrees/notebooks/Jacobi_fitting.doctree delete mode 100644 docs/_build/doctrees/notebooks/Legendre_fitting.doctree delete mode 100644 docs/_build/doctrees/references.doctree delete mode 100644 docs/_build/html/_sources/credits.rst.txt delete mode 100644 docs/_build/html/_sources/index.rst.txt delete mode 100644 docs/_build/html/_sources/installation.rst.txt delete mode 100644 docs/_build/html/_sources/notebooks/Gegenbauer_fitting.ipynb.txt delete mode 100644 docs/_build/html/_static/css/badge_only.css delete mode 100644 docs/_build/html/_static/doctools.js delete mode 100644 docs/_build/html/_static/jquery.js delete mode 100644 docs/_build/html/_static/language_data.js delete mode 100644 docs/_build/html/_static/searchtools.js delete mode 100644 docs/_build/html/index.html delete mode 100644 docs/_build/html/notebooks/Gegenbauer_fitting.ipynb delete mode 100644 docs/_build/html/objects.inv delete mode 100644 docs/_build/html/searchindex.js create mode 100644 docs/build/doctrees/_notebooks/Chebyshev_fitting.doctree create mode 100644 docs/build/doctrees/_notebooks/Gegenbauer_fitting.doctree create mode 100644 docs/build/doctrees/_notebooks/How_to_use_orsvm.doctree create mode 100644 docs/build/doctrees/_notebooks/How_to_use_prefitted_model.doctree create mode 100644 docs/build/doctrees/_notebooks/Jacobi_fitting.doctree create mode 100644 docs/build/doctrees/_notebooks/Legendre_fitting.doctree create mode 100644 docs/build/doctrees/credits.doctree create mode 100644 docs/build/doctrees/environment.pickle create mode 100644 docs/build/doctrees/index.doctree create mode 100644 docs/build/doctrees/installation.doctree rename docs/{notebooks => build/doctrees/nbsphinx/_notebooks}/Chebyshev_fitting.ipynb (63%) create mode 100644 docs/build/doctrees/nbsphinx/_notebooks/Gegenbauer_fitting.ipynb rename docs/{_build/html/notebooks => build/doctrees/nbsphinx/_notebooks}/How_to_use_orsvm.ipynb (70%) create mode 100644 docs/build/doctrees/nbsphinx/_notebooks/How_to_use_prefitted_model.ipynb rename docs/{notebooks => build/doctrees/nbsphinx/_notebooks}/Jacobi_fitting.ipynb (61%) rename docs/{notebooks => build/doctrees/nbsphinx/_notebooks}/Legendre_fitting.ipynb (60%) create mode 100644 docs/build/doctrees/references.doctree rename docs/{_build => build}/html/_images/identicons.png (100%) rename docs/{_build/html/notebooks => build/html/_notebooks}/Chebyshev_fitting.html (76%) rename docs/{_build/doctrees/nbsphinx/notebooks => build/html/_notebooks}/Chebyshev_fitting.ipynb (60%) rename docs/{_build/html/notebooks => build/html/_notebooks}/Gegenbauer_fitting.html (75%) create mode 100644 docs/build/html/_notebooks/Gegenbauer_fitting.ipynb rename docs/{_build/html/notebooks => build/html/_notebooks}/How_to_use_orsvm.html (62%) rename docs/{notebooks => build/html/_notebooks}/How_to_use_orsvm.ipynb (70%) create mode 100644 docs/build/html/_notebooks/How_to_use_prefitted_model.html create mode 100644 docs/build/html/_notebooks/How_to_use_prefitted_model.ipynb rename docs/{_build/html/notebooks => build/html/_notebooks}/Jacobi_fitting.html (77%) rename docs/{_build/doctrees/nbsphinx/notebooks => build/html/_notebooks}/Jacobi_fitting.ipynb (59%) rename docs/{_build/html/notebooks => build/html/_notebooks}/Legendre_fitting.html (75%) rename docs/{_build/html/notebooks => build/html/_notebooks}/Legendre_fitting.ipynb (58%) rename docs/{_build/html/_sources/notebooks => build/html/_sources/_notebooks}/Chebyshev_fitting.ipynb.txt (63%) create mode 100644 docs/build/html/_sources/_notebooks/Gegenbauer_fitting.ipynb.txt rename docs/{_build/html/_sources/notebooks => build/html/_sources/_notebooks}/How_to_use_orsvm.ipynb.txt (71%) create mode 100644 docs/build/html/_sources/_notebooks/How_to_use_prefitted_model.ipynb.txt rename docs/{_build/html/_sources/notebooks => build/html/_sources/_notebooks}/Jacobi_fitting.ipynb.txt (61%) rename docs/{_build/html/_sources/notebooks => build/html/_sources/_notebooks}/Legendre_fitting.ipynb.txt (60%) create mode 100644 docs/build/html/_sources/credits.rst.txt create mode 100644 docs/build/html/_sources/index.rst.txt create mode 100644 docs/build/html/_sources/installation.rst.txt rename docs/{_build => build}/html/_sources/references.rst.txt (57%) create mode 100644 docs/build/html/_static/_sphinx_javascript_frameworks_compat.js create mode 100644 docs/build/html/_static/alabaster.css rename docs/{_build => build}/html/_static/basic.css (89%) create mode 100644 docs/build/html/_static/css/badge_only.css rename docs/{_build => build}/html/_static/css/fonts/Roboto-Slab-Bold.woff (100%) rename docs/{_build => build}/html/_static/css/fonts/Roboto-Slab-Bold.woff2 (100%) rename docs/{_build => build}/html/_static/css/fonts/Roboto-Slab-Regular.woff (100%) rename docs/{_build => build}/html/_static/css/fonts/Roboto-Slab-Regular.woff2 (100%) rename docs/{_build => build}/html/_static/css/fonts/fontawesome-webfont.eot (100%) rename docs/{_build => build}/html/_static/css/fonts/fontawesome-webfont.svg (100%) rename docs/{_build => build}/html/_static/css/fonts/fontawesome-webfont.ttf (100%) rename docs/{_build => build}/html/_static/css/fonts/fontawesome-webfont.woff (100%) rename docs/{_build => build}/html/_static/css/fonts/fontawesome-webfont.woff2 (100%) rename docs/{_build => build}/html/_static/css/fonts/lato-bold-italic.woff (100%) rename docs/{_build => build}/html/_static/css/fonts/lato-bold-italic.woff2 (100%) rename docs/{_build => build}/html/_static/css/fonts/lato-bold.woff (100%) rename docs/{_build => build}/html/_static/css/fonts/lato-bold.woff2 (100%) rename docs/{_build => build}/html/_static/css/fonts/lato-normal-italic.woff (100%) rename docs/{_build => build}/html/_static/css/fonts/lato-normal-italic.woff2 (100%) rename docs/{_build => build}/html/_static/css/fonts/lato-normal.woff (100%) rename docs/{_build => build}/html/_static/css/fonts/lato-normal.woff2 (100%) rename docs/{_build => build}/html/_static/css/theme.css (69%) create mode 100644 docs/build/html/_static/custom.css create mode 100644 docs/build/html/_static/doctools.js rename docs/{_build => build}/html/_static/documentation_options.js (64%) rename docs/{_build => build}/html/_static/file.png (100%) rename docs/{_build => build}/html/_static/identicons.png (100%) rename docs/{_build/html/_static/jquery-3.5.1.js => build/html/_static/jquery-3.6.0.js} (98%) create mode 100644 docs/build/html/_static/jquery.js rename docs/{_build => build}/html/_static/js/badge_only.js (100%) rename docs/{_build => build}/html/_static/js/html5shiv-printshiv.min.js (100%) rename docs/{_build => build}/html/_static/js/html5shiv.min.js (100%) rename docs/{_build => build}/html/_static/js/theme.js (100%) create mode 100644 docs/build/html/_static/language_data.js rename docs/{_build => build}/html/_static/minus.png (100%) rename docs/{_build => build}/html/_static/plus.png (100%) rename docs/{_build => build}/html/_static/pygments.css (77%) create mode 100644 docs/build/html/_static/searchtools.js rename docs/{_build => build}/html/_static/underscore-1.13.1.js (100%) rename docs/{_build => build}/html/_static/underscore.js (100%) rename docs/{_build => build}/html/credits.html (67%) rename docs/{_build => build}/html/genindex.html (71%) create mode 100644 docs/build/html/index.html rename docs/{_build => build}/html/installation.html (66%) create mode 100644 docs/build/html/objects.inv rename docs/{_build => build}/html/references.html (73%) rename docs/{_build => build}/html/search.html (73%) create mode 100644 docs/build/html/searchindex.js delete mode 100644 docs/index.rst delete mode 100644 docs/installation.rst delete mode 100644 docs/notebooks/Gegenbauer_fitting.ipynb create mode 100644 docs/requirements.txt rename docs/{_build/html/notebooks => source/_notebooks}/Chebyshev_fitting.ipynb (60%) create mode 100644 docs/source/_notebooks/Gegenbauer_fitting.ipynb rename docs/{_build/doctrees/nbsphinx/notebooks => source/_notebooks}/How_to_use_orsvm.ipynb (71%) create mode 100644 docs/source/_notebooks/How_to_use_prefitted_model.ipynb rename docs/{_build/html/notebooks => source/_notebooks}/Jacobi_fitting.ipynb (59%) rename docs/{_build/doctrees/nbsphinx/notebooks => source/_notebooks}/Legendre_fitting.ipynb (58%) rename docs/{ => source}/_static/identicons.png (100%) rename docs/{ => source}/conf.py (86%) rename docs/{ => source}/credits.rst (75%) create mode 100644 docs/source/index.rst create mode 100644 docs/source/installation.rst rename docs/{ => source}/references.rst (57%) create mode 100644 docs/test.txt diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 3079d5a..38c4280 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -7,5 +7,12 @@ python: - method: pip path: . + # Build documentation in the docs/ directory with Sphinx +sphinx: + configuration: docs/source/conf.py +# Optionally declare the Python requirements required to build your docs +python: + install: + - requirements: docs/requirements.txt diff --git a/README.md b/README.md index 39c9b0d..f95b57f 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,20 @@ -![LOGO](docs/_static/identicons.png) +![LOGO](docs/source/_static//identicons.png) + +![PyPI - License](https://img.shields.io/pypi/l/orsvm) +![PyPI](https://img.shields.io/pypi/v/orsvm) +![PyPI - Status](https://img.shields.io/pypi/status/orsvm) # ORSVM -ORSVM is a free software package which provides a SVM classifier with some novel orthogonal polynomial kernels. +`ORSVM` is a free software package which provides a SVM classifier with some novel orthogonal polynomial kernels. This library provides a complete path of using the SVM classifier from normalization to calculation of SVM equation and the final evaluation. In order to classify the dataset with ORSVM, there is a need to normalize the dataset whether using normal or fractional kernels. ORSVM library needs numpy and cvxopt libraries to be installed. Arrays, matrices and linear algebraic functions have been used repeatedly from numpy and the heart of SVM algorithm which is finding the Support Vectors is done by use of a convex quadratic solver from cvxopt library which is in turn a free python package for convex optimization. + For a comprehensive introduction to fractional orthogonal kernel function and the use cases in SVM, refer to [Learning with Fractional Orthogonal Kernel Classifiers in Support Vector Machines](https://link.springer.com/book/9789811965524) book. - A suitable guide on this package is available at http://cvxopt.org about installation and how to use. +A suitable guide on `cvxopt` package is available at http://cvxopt.org about installation and how to use. ## Install diff --git a/docs/Makefile b/docs/Makefile index d4bb2cb..d0c3cbf 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -5,8 +5,8 @@ # from the environment for the first two. SPHINXOPTS ?= SPHINXBUILD ?= sphinx-build -SOURCEDIR = . -BUILDDIR = _build +SOURCEDIR = source +BUILDDIR = build # Put it first so that "make" without argument is like "make help". help: diff --git a/docs/_build/doctrees/credits.doctree b/docs/_build/doctrees/credits.doctree deleted file mode 100644 index f7fe47545e36391b59abfa64827e937fb72b3fa1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5077 zcmeHLTW=h<6_zcpq?L8C?AU#<NLhU&wR#WA7jTytUH)OS_>` z+MWz$QCL?{XwpXE^137&n_ruUe{bG34^rRDX>hgAsYxrq$dxvQC)<42q#Z_&+Jxbp zemzhgwX;id)l+L~{k!IY>Ze}R(a@Q#wEmf=LdVcB3NWs{q7xQIl2oj#XU*)_FZQG6Vqe-LtanzBY=w zI$expe&lJ)ICWZ&a>84U+EsVemb#}_)qeWu>EpLg>G-Yl;kcat51qo>yfbO&12nz= z{AxXdVST7BCtg))+3Nf0AuU@?T=1cL4WH}I1 z9hHcRgd$T3Hx^Gy?ZxLVkhbD;S!ij+3mK%9b|79V@>9SMsgR__7t)R>KnK!;md?`; zQat&gbPmX0Iwi|e7UIc~lE=~x#j_|{wR~hj&Q6@R6A^L^|Ld{N#nkyDA!Do0OC^;q z#9v5JP*IDotv)6nbesuk3-Qbb1ip@9?7Z+4Ncvm}=r*ox(I%TT9qXLJfH!hyj2t;H zIh8uQ|K{Cz2s29HJ}ITuFtr$NzE)&K9ay<|){&3|kGIOR$8uzMD}IJV7H(>ndcdtD zWH=Jo5z&cUM*>6fV8N8c8$xnB@${=_VuZ*{AGTHjSDLAuA$a6rSt%roM4m)qGjj(Y z%m&P}lt&~&?Fl-oMVOPXrqF6!Xa702#W7uhJ zg~3zU$fdO|g7}m@xJ)$=+X%64s7NzI3|sQb$jI7;)`&tz$$lwi3`6k>IYU^{K#YkB zE&?X21E(fOQbPvzY$XzXsD`S|@jp*Wsm%~FhwZWPK;8NFcbA29SxA?K z^gj!!Szf1?C3AWAT;4tZ$KBJQ=R4?nzC(2%oh5g3xF&H`TC~KAHd*!3Z{BlFb3#8Fxy&3voT@q#wP^iH&N0 zPCMFGb`3KLy+maL;qk%2bUGbYn0TBWIzKtUfO`PUaL}aNOwpgQVak;i*(K_2w|B z5ApZ4+6rm=Yyev7ZOq+mwsNRD2-n#HuT%3Zq{D;q2v|9CW*O5K^@9t*C3gQD$NoZU zOLX%bf1H;-@&SGOBCq+*O4`IJkh_{|yh+#j(E^Tz3vmsse>R8z3gdrjULcS0IDpE) qa}$r#oxtT`a1MNZ32sAnUEAE$1!~YuI9i(ppI7tJ<~y_=4gUj*h<-Kz diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle deleted file mode 100644 index 8c61d6e7191fe8cc8eb423aee8186589e0a49614..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43686 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 ATmS$7 diff --git a/docs/_build/doctrees/nbsphinx/notebooks/Gegenbauer_fitting.ipynb b/docs/_build/doctrees/nbsphinx/notebooks/Gegenbauer_fitting.ipynb deleted file mode 100644 index 41a0643..0000000 --- a/docs/_build/doctrees/nbsphinx/notebooks/Gegenbauer_fitting.ipynb +++ /dev/null @@ -1,181 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "bb869c88-ef30-45d5-9a2e-9390567752b4", - "metadata": {}, - "source": [ - "# Fit data-set using Gegenbauer Kernel" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "97d70d86-8249-492d-8526-54bbdde9bedd", - "metadata": {}, - "outputs": [], - "source": [ - "import orsvm\n", - "import pandas as pd\n", - "import numpy as np" - ] - }, - { - "cell_type": "markdown", - "id": "6c3209e4-b26d-47e6-82f7-6f17a2d74da7", - "metadata": {}, - "source": [ - "## Load data-set" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "fdce3d48-c2a3-4d1b-8add-85d3134f86c9", - "metadata": {}, - "outputs": [], - "source": [ - "df = pd.read_csv(r'D:\\Dev\\Orthogonal_Polynomials\\Datasets\\monks\\1_monks.train',\n", - " names=['label','col1','col2','col3',\n", - " 'col4','col5','col6'],index_col=False)\n", - "\n", - "df.loc[df.label==0, ['label']] = -1 # map \"0\" to \"-1\"\n", - "y_train=df['label'].to_numpy() # convert y_train to numpy array\n", - "df.drop('label', axis=1, inplace=True) # drop the class label\n", - "X_train=df.to_numpy() # convert x_train to numpy array\n", - "\n", - "\n", - "# load test-set\n", - "df = pd.read_csv(r'D:\\Dev\\Orthogonal_Polynomials\\Datasets\\monks\\1_monks.test',\n", - " names=['label','col1','col2','col3',\n", - " 'col4','col5','col6'],index_col=False)\n", - "df.loc[df.label==0, ['label']] = -1\n", - "y_test=df['label'].to_numpy()\n", - "df.drop('label', axis=1, inplace=True)\n", - "X_test=df.to_numpy()" - ] - }, - { - "cell_type": "markdown", - "id": "3f56b9ad-4638-45ae-b6b9-fa06397a6d01", - "metadata": {}, - "source": [ - "## Initiate kernel" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "288fd499-86ea-4522-9fc3-4e523cb30ab9", - "metadata": {}, - "outputs": [], - "source": [ - "# Create an object from Model class of ORSVM\n", - "obj=orsvm.Model(kernel=\"Gegenbauer\",order=4,param1=0.5,T=0.3) \n" - ] - }, - { - "cell_type": "markdown", - "id": "bd6a9696-dcdd-4988-a896-23d975610396", - "metadata": {}, - "source": [ - "## Fit the model and Capture paramaters" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "b88fa0b9-bbe1-461e-9cfc-4089d3f15bbd", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "********** 20/09/2021 15:02:03 **********\n", - "** OSVM kernel: Gegenbauer\n", - "** Order: 4\n", - "** Fractional mode, transition : 0.3\n", - "** Avegage support vector determiner selected!\n", - "** sv threshold: 10^ -7\n" - ] - } - ], - "source": [ - "# fit the model and Capture parameters\n", - "Weights, SupportVectors, Bias, KernelInstance = obj.ModelFit(X_train,y_train)" - ] - }, - { - "cell_type": "markdown", - "id": "a46823c3-87ff-4b2a-b25a-227a1d5dfc0b", - "metadata": {}, - "source": [ - "## Inspect model's accuracy" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "a633cc21-c12e-41db-9282-98706168cd63", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "** Accuracy score: 0.9467592592592593\n", - "** Classification Report:\n", - " precision recall f1-score support\n", - "\n", - " -1 0.95 0.94 0.95 216\n", - " 1 0.94 0.95 0.95 216\n", - "\n", - " accuracy 0.95 432\n", - " macro avg 0.95 0.95 0.95 432\n", - "weighted avg 0.95 0.95 0.95 432\n", - "\n", - "** Confusion Matrix:\n", - " [[203 13]\n", - " [ 10 206]]\n" - ] - }, - { - "data": { - "text/plain": [ - "0.9467592592592593" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Model Prediction function\n", - "obj.ModelPredict(X_test,y_test,Bias,KernelInstance)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.7" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_build/doctrees/notebooks/Chebyshev_fitting.doctree b/docs/_build/doctrees/notebooks/Chebyshev_fitting.doctree deleted file mode 100644 index ecc4162ae7ab0ce184f59cc586059951726aa5b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14641 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 qe%v8+a6}&tnCQDq_5P$=doLcf`@7=lDUGLq! z-JO-C8q?%Qz%JANXg1K~PoWe7Z7K9ep-?CU3MJ6@ua;8!pwOR%LRt!i^gFYUySw*F zzLL{NQVU7DGdpu;=Dg;dGiP4ze*KllyX21;@*9Tftd42A?zlShL(!+Z)u7HC9=;YH zeI>jRj);CwyXL!rS7o8-LW`@r~?{>6$^wy^bjb@>uRj+!iCfn?k;KfeIbuf|cnoAS9 zC5CL%VUEiUkNJjc>){vr-iv-dABbMAEfciR=odW=4U^`fu|xE$=_*m`NftMIW_Ixm zTUm5Hf2AJ(M?-%R;913WulkFhWXsH{XaV!on#sB8ERUIuHK!7aoivYdep^rxg9M$M zwm%jlwYTclb2v?qV+;Z##-63n*oVLU_`4T>_W>jQt95(UZ)k+{z6RFDycHG(#z&1u zj6=o_L&4ue#;|dCz9*;{4~t%(Rk`UpE%+b7$8K(Nn`J(Uho3gNqHA0$`;04rkA*1B zwJGz=bC?|x{m^~q1-453&|$AvL&-N-Oz=nNJB@*vY>^=?Ye$r#w0-l*=L?|$p5+sXhv)*t$u1FCm#f66E z=$fzKx1lF>PEc>GQI*q3kg%n`d6eBKu2hsvrx9=!qN}Zswm!%pH(X~r%%bjdw?$n- z591{$0j@L83vUq<5;=V-7wD7}E)X z5}tiLsSpF7b~QZ}<%AZ6+9sC2g$aIRb0YaxMkF8F;)1d;jsV8_Wd6y5F6ApSED1@Q z%1IiPnhPRH`%#f?40AmZGn_1o{P4Cc5=ob_Lc}G(dK;5pTW_wH9^KK^rPq`>2+9~Z zR#&V3%7}L)-dE0gVA5sRfj)WOwbvZCZfdr_cm`@1TG(H#yAHOPNmV|_xCe!GWVECd ze&p^rcln5|RhWHb^hnjUC!@zy^q6kbDS<()XQF1uqQ~(gOQWWvvsD$J=AOoc*wIo+ zuZ=NdkFTscQ{ocw$)Lt}5d3YYwM869nhG_ ziHWX5%?^n~)QEs&h!HEQyApF(Vmj4_|L+o$-}8Rovgh4gZ_g9$?W5n`cJoW^qjy^E zBW#2P`^b31c(biRl-c~ZY7k{W%s-VKIkJDsi7NveG4`ZjyXOoeEpe@AC!fljY4c>( zY+z#zJ?og<)HqYFW*nnaqNP41k+pwYSC?_f+D8xRt99rASwm?L>D@iEHG``NhVZ^Q zn`=5}b5SW>9Bj5j);Q+b!h)TdUDhbAu`|CWwY;pOa=`VCFJT>4PQ&N|l{80jD;6AL zr3Qyfc@9pG9oq+PO*wn+{Ke-=XfP+eoH6-%B%C&IW>`rYB?6+rlJ@!3(~!zsvv>fKvl@V3YnvI$#n3XmD5^- z2Od)-7lA!JKVhHF8mEM}ZVewZdR#$Sq`{?QsIXc1p1_du?|HUQMB{|qX?)!s+%#O}&y>+(V8t);HZLlfaAk_avfz>!RASgo?Kze2zV-f zBrM8`lomxNS*lZ*R`HpQI;KBF&HWV!U>x6{RVF8{DCHBSC&pjkB6W;nl z_2X#|iLh{s)@lLFo1N_6&66-3J51!PRVt;6lh&%*P9{2Zffs3wo3&P7lmoVG_{~Y5 zJsdl`&wETakMus2{Po@3-e z%@$9-VD42-pBmr?@0x8ZN^P<%L8B@*CQF%q(J2+aVccWXO}@>fZ*iS6HF-SKOOa<= z>$Gh`lD%ZNL_bDw+y2jVo0*=XUUjYNxr(;39Jg<_X!oX2uWQoDWcucM!BkUDyG{*R z9>Cpm8nSU#f!xbbaMOx1IlY8;7}YT2jxR0c&FV{U-z8=nayAJh$?`u>%)GY!ej7D# zCmzK&vB`f=!ptiIaymBWQQTD*3A24*IBX*~>MjF-oEb{eF7u(=FWNFdUg7+>jl#($ zPKgeD#~-9hCU2dMSO)=p9hdRDw;ec6$ZO{^M#fKmH0v=yY#VZH8gh5wDK>#f$LE)w zSc6UDzXOluy>0;d!$j%Rl6Ro3kLrp~!rM

eie9Z5*?ec7R5Xo7^!-YH9 z_kInQyidZ+?R(<&FND{kFbf+n9@1M;6ITzhY0wqy&hhiz^#8=2ViWN0@hkYrvYi58$xbZfvE z7W+ZL02hNk{Hq3%DP_jL50D3= z8XRcQ9ROdwW^zMKE%;Tnn^-JH3X z-Y^Jmicl0qWe!2pLGoQV{Y#5r(Y+*9;2dWejA)y6lZT(``op{3Vz9v)D$v3pja7-V z-BeRSda_F5Aryo2hCe$#e(l<|u_)($%=MPXb+$5&mi~As4p0v{74$%4u?|9Ud5MKJ z%8yLU0JDQ$ty&m{YMR45kPO3J7q@6k#%ppIy5fK#`ngtt6zSXu=ljHi;K{n0if1}~ zHM%`>OYHI2aQS0ZZJwFovW`ovzuT{C9#=mbK(3*U#67Yc6;7LY0v4c4)AwrF!FH#YZNw62Pw@olSSGndbBab}9^`X5O z2<*af4GFBE(-o>4P-3~-=$aL(0j-u6dPppALkso2R2jXGSTzz{+A@k;OmoXfQfsW; z@cg6vyR>m=1yq^l+N5ot!2TS;&7XqAryAK)5bFxf;Un>G8SSZ=4K)z`G-1Bh0J3ne zN=|t}PG&)lzF^T{3lhviVC|dt+uD<{P diff --git a/docs/_build/doctrees/notebooks/How_to_use_orsvm.doctree b/docs/_build/doctrees/notebooks/How_to_use_orsvm.doctree deleted file mode 100644 index ff7456104a5019b7627dfb32b34c48c380ebf04a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64568 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 byaSyKQ<9Fg&HBz#i;W&Zpk>KUzmfa@&Z)WP diff --git a/docs/_build/doctrees/notebooks/Jacobi_fitting.doctree b/docs/_build/doctrees/notebooks/Jacobi_fitting.doctree deleted file mode 100644 index 6ed4073c1059bfd18fa84792ee6803e1d96f4b3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14466 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 jFkr0jQq{ZTYR;9rqkUdCmx&<@GO6THd(k>~Dmo diff --git a/docs/_build/doctrees/references.doctree b/docs/_build/doctrees/references.doctree deleted file mode 100644 index 26cee88389ad5dd88cd7d0d21b3f91f9e15c902f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4880 zcmdT|TW=h<6}By}q}A23Yrn)w85D8tcD1@#N?g6UvKyy%WYuodrf@Le&TyB6IOJr= zS!r7sO&s9W%i&7|7?iU^E=BTx~=oA(f{BEX1V*JWy zVo8mG5Z?_&)9PzBDY9{+L*v7ob^Vya%~;y=T_s=UZ}0_volo&qcjMmfvwN)nOy{Pb z*8gKo<{9+rjkR-w#lHFQLeatY<~xOy%tlf`I`r|RlbXIK5|*VC-R|!XXd;9lpw2KuZH^+y8Cw76z?X zb9*IB&Tm(&d6>fW=+~nHywJEI&T4>II)Lu$R8stzc_oyr=j-2D}`L%E7YM3k^Wi8 z0Us5}8NWe{ACGCCX*p0j6;uW$8`fu@_MYOjBbjNFJ(_lMk@Oh(l@jPR!Vbtm&Ws_O zJD@fAyt#d=qVqUt-8yLh+eM7M-i7=4*}Xmkwd9q&{!%z$V0KPpkS=AzG1N(>}vdLhd4Y4~#Gb z=^k0XV&af-Auqpw|NedOZfnP5_Vz{y;MTWk_q>ka|L=yzXn2mW{^9Isn1$N!UkMFg z9N?t(F>8@Wpi+wyUr5xc*hJ>*TO z{rT)6XWw~@yXmUNE8Y1Yg)@C^;!F>PW6>FFySZ_xSkhrha7sE+Ak1O8Q`Ig*p@6dT zyDN%OP0U-qxH#{Y;v)Ceb2O@z7lx9mW_GiNS&Nzvmw}a0b>BrvXOWmnH~k@%1&ZZS z>AJk{nm{1V5EKL@8VNb?LwF z7INmxnMmRgl;y(AJLHhzOfbL3; zx-L(mgk=B+%m^T3-%ZCjr?5x3LnKiKe2e3fPrD^rSRIW;?t%cK7Ly{)q7mxg)gTbn z$tV4U%RvIyD&u267G;JNiH?p_kEcuQIMaqjlbQh{v5ooyMNGiwa+C<;3mt5vUggY? z4ZP(Ruo(mVhy0957wchBSD-fXx5aDz3q}mf{jCS#^|K|2_dIUOqbBgV;wc5#s2)%# zMJjCh^K<|Fcf&1ZEQ=;+4mGqbzCespxy&IY)msWvWm>j~?xW29Lx z-Bqs2btGk4yXj-iuOu+%K4vf@Pl+Ahm&`u7q~g zjHHff?b_9t<7ybA@Dh!oN3!M}#^Fd=B*JSg0;AFw6><5uXUt-@tFhGdFk&ecGQt~(uW-ZqrkLvc=L0ue_ z24Gl$A;87r5d=_3{A0m$WUv#`>Olcw%+?(>radk276JK;7gpc=YyOpSO)m&{ZFKXm z_YHpwf4|}j#w|_;AZRbf0{O|C$BdQ4^K3Y-TIQsr8i&OrU};CoQB1?o@0}8kMmJB) z*c@67N|#T}k9?V1pP;Xvo~!OT=jMYk6*T;lUpO>KXM7M=Eg0EI&d_5c6? diff --git a/docs/_build/html/_sources/credits.rst.txt b/docs/_build/html/_sources/credits.rst.txt deleted file mode 100644 index 6bd7b91..0000000 --- a/docs/_build/html/_sources/credits.rst.txt +++ /dev/null @@ -1,5 +0,0 @@ -Credits -============ -This package was developed by ORSVM Team, with the help of Amir Hosein Hadian Rasanan, Sherwin Nedaei Janbesaraei, Amirreza Azmoon, Mohammad Akhavan. It is part of ongoing scientific work at the Shahid Beheshti University and Institut for research in fundumental sciences, in collaboration with Prof. Jamal Amani Rad. -When using this package or part of the code for your own research, we ask you to cite us (using the Zenodo DOI below) and to always perform a parameter recovery, to make sure that everything is working as it should. Even though we tested all functions, we cannot assure that it will work perfectly on all platforms and data formats. Therefore, feedback on usage and issues is especially welcomed at this stage. -If you have any questions or would like to contribute, you can write us at amir.h.hadian@gmail.com. \ No newline at end of file diff --git a/docs/_build/html/_sources/index.rst.txt b/docs/_build/html/_sources/index.rst.txt deleted file mode 100644 index 32a54ec..0000000 --- a/docs/_build/html/_sources/index.rst.txt +++ /dev/null @@ -1,51 +0,0 @@ -.. ORSVM documentation master file, created by - sphinx-quickstart on Mon Sep 20 11:31:05 2021. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -Welcome to ORSVM's documentation! -================================= - -`orsvm` is a free software package which provides a **SVM** classifier with some novel orthogonal polynomial kernels. This library provides a complete path of using the SVM classifier from **normalization** to calculation of **SVM equation** and the final **evaluation**. -Convext optimization is done using `cvxopt`_, which solves teh conext SVM's equation and returns the support vectors as result. - -.. _cvxopt: https://cvxopt.org/ - -.. image:: _static/identicons.png - -.. toctree:: - :maxdepth: 2 - :caption: Contents: - -.. toctree:: - :maxdepth: 2 - :caption: Getting started: - - installation - references - credits - -.. toctree:: - :maxdepth: 1 - :caption: How to: - - notebooks/How_to_use_orsvm.ipynb - -.. toctree:: - :maxdepth: 1 - :caption: Examples: - - notebooks/Chebyshev_fitting - notebooks/Legendre_fitting - notebooks/Gegenbauer_fitting - notebooks/Jacobi_fitting - - - - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` diff --git a/docs/_build/html/_sources/installation.rst.txt b/docs/_build/html/_sources/installation.rst.txt deleted file mode 100644 index 7fd1275..0000000 --- a/docs/_build/html/_sources/installation.rst.txt +++ /dev/null @@ -1,35 +0,0 @@ -ORSVM is a free software package which provides a SVM classifier with some novel orthogonal polynomial kernels. This library provides a complete chain of using the SVM classifier from normalization to calculation of SVM equation and the final evaluation. But please note that, there are some necessary steps before normalization, that should be handled for every data-set, such as duplicate checking, Null values or outlier handling, or even dimensionality reduction or whatever enhancements that may apply to a data-set. These steps are out of scope of SVM algorithm, thereupon, orsvm package. Instead, normalization step which is a must before sending data points into kernels, is handled directly in orsvm, by calling the relevant function. - - - -Installation -============ - -You can install the osvm package using:: -``pip install orsvm``, - -or get it directly from `GitHub`_ and install it locally using:: - -``pip install orsvm.zip``. - - -.. _Github: https://gitlab.com/mohammad.akhavan75/osvm - -Dependencies ------------- -Following dependencies will b eautomatically installed through `` pip install orsvm``. Still one can install it separately. - -- numpy -- cvxopt -- sk_learn -- pandas - - -Conda environment (suggested) ------------------------------ - -If you have Andaconda or miniconda installed and you would like to create a separate environment for the osvm package, do the following:: - - conda create --n ORSVM python=3.8 - conda activate ORSVM - pip install orsvm diff --git a/docs/_build/html/_sources/notebooks/Gegenbauer_fitting.ipynb.txt b/docs/_build/html/_sources/notebooks/Gegenbauer_fitting.ipynb.txt deleted file mode 100644 index 392f7b4..0000000 --- a/docs/_build/html/_sources/notebooks/Gegenbauer_fitting.ipynb.txt +++ /dev/null @@ -1,181 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "bb869c88-ef30-45d5-9a2e-9390567752b4", - "metadata": {}, - "source": [ - "# Fit data-set using Gegenbauer Kernel" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "97d70d86-8249-492d-8526-54bbdde9bedd", - "metadata": {}, - "outputs": [], - "source": [ - "import orsvm\n", - "import pandas as pd\n", - "import numpy as np" - ] - }, - { - "cell_type": "markdown", - "id": "6c3209e4-b26d-47e6-82f7-6f17a2d74da7", - "metadata": {}, - "source": [ - "## Load data-set" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "fdce3d48-c2a3-4d1b-8add-85d3134f86c9", - "metadata": {}, - "outputs": [], - "source": [ - "df = pd.read_csv(r'D:\\Dev\\Orthogonal_Polynomials\\Datasets\\monks\\1_monks.train',\n", - " names=['label','col1','col2','col3',\n", - " 'col4','col5','col6'],index_col=False)\n", - "\n", - "df.loc[df.label==0, ['label']] = -1 # map \"0\" to \"-1\"\n", - "y_train=df['label'].to_numpy() # convert y_train to numpy array\n", - "df.drop('label', axis=1, inplace=True) # drop the class label\n", - "X_train=df.to_numpy() # convert x_train to numpy array\n", - "\n", - "\n", - "# load test-set\n", - "df = pd.read_csv(r'D:\\Dev\\Orthogonal_Polynomials\\Datasets\\monks\\1_monks.test',\n", - " names=['label','col1','col2','col3',\n", - " 'col4','col5','col6'],index_col=False)\n", - "df.loc[df.label==0, ['label']] = -1\n", - "y_test=df['label'].to_numpy()\n", - "df.drop('label', axis=1, inplace=True)\n", - "X_test=df.to_numpy()" - ] - }, - { - "cell_type": "markdown", - "id": "3f56b9ad-4638-45ae-b6b9-fa06397a6d01", - "metadata": {}, - "source": [ - "## Initiate kernel" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "288fd499-86ea-4522-9fc3-4e523cb30ab9", - "metadata": {}, - "outputs": [], - "source": [ - "# Create an object from Model class of ORSVM\n", - "obj=orsvm.Model(kernel=\"Gegenbauer\",order=4,param1=0.5,T=0.3) \n" - ] - }, - { - "cell_type": "markdown", - "id": "bd6a9696-dcdd-4988-a896-23d975610396", - "metadata": {}, - "source": [ - "## Fit the model and Capture paramaters" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "b88fa0b9-bbe1-461e-9cfc-4089d3f15bbd", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "********** 20/09/2021 15:02:03 **********\n", - "** OSVM kernel: Gegenbauer\n", - "** Order: 4\n", - "** Fractional mode, transition : 0.3\n", - "** Avegage support vector determiner selected!\n", - "** sv threshold: 10^ -7\n" - ] - } - ], - "source": [ - "# fit the model and Capture parameters\n", - "Weights, SupportVectors, Bias, KernelInstance = obj.ModelFit(X_train,y_train)" - ] - }, - { - "cell_type": "markdown", - "id": "a46823c3-87ff-4b2a-b25a-227a1d5dfc0b", - "metadata": {}, - "source": [ - "## Inspect model's accuracy" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "a633cc21-c12e-41db-9282-98706168cd63", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "** Accuracy score: 0.9467592592592593\n", - "** Classification Report:\n", - " precision recall f1-score support\n", - "\n", - " -1 0.95 0.94 0.95 216\n", - " 1 0.94 0.95 0.95 216\n", - "\n", - " accuracy 0.95 432\n", - " macro avg 0.95 0.95 0.95 432\n", - "weighted avg 0.95 0.95 0.95 432\n", - "\n", - "** Confusion Matrix:\n", - " [[203 13]\n", - " [ 10 206]]\n" - ] - }, - { - "data": { - "text/plain": [ - "0.9467592592592593" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Model Prediction function\n", - "obj.ModelPredict(X_test,y_test,Bias,KernelInstance)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.7" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_build/html/_static/css/badge_only.css b/docs/_build/html/_static/css/badge_only.css deleted file mode 100644 index e380325..0000000 --- a/docs/_build/html/_static/css/badge_only.css +++ /dev/null @@ -1 +0,0 @@ -.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}} \ No newline at end of file diff --git a/docs/_build/html/_static/doctools.js b/docs/_build/html/_static/doctools.js deleted file mode 100644 index 8cbf1b1..0000000 --- a/docs/_build/html/_static/doctools.js +++ /dev/null @@ -1,323 +0,0 @@ -/* - * doctools.js - * ~~~~~~~~~~~ - * - * Sphinx JavaScript utilities for all documentation. - * - * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -/** - * select a different prefix for underscore - */ -$u = _.noConflict(); - -/** - * make the code below compatible with browsers without - * an installed firebug like debugger -if (!window.console || !console.firebug) { - var names = ["log", "debug", "info", "warn", "error", "assert", "dir", - "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", - "profile", "profileEnd"]; - window.console = {}; - for (var i = 0; i < names.length; ++i) - window.console[names[i]] = function() {}; -} - */ - -/** - * small helper function to urldecode strings - * - * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL - */ -jQuery.urldecode = function(x) { - if (!x) { - return x - } - return decodeURIComponent(x.replace(/\+/g, ' ')); -}; - -/** - * small helper function to urlencode strings - */ -jQuery.urlencode = encodeURIComponent; - -/** - * This function returns the parsed url parameters of the - * current request. Multiple values per key are supported, - * it will always return arrays of strings for the value parts. - */ -jQuery.getQueryParameters = function(s) { - if (typeof s === 'undefined') - s = document.location.search; - var parts = s.substr(s.indexOf('?') + 1).split('&'); - var result = {}; - for (var i = 0; i < parts.length; i++) { - var tmp = parts[i].split('=', 2); - var key = jQuery.urldecode(tmp[0]); - var value = jQuery.urldecode(tmp[1]); - if (key in result) - result[key].push(value); - else - result[key] = [value]; - } - return result; -}; - -/** - * highlight a given string on a jquery object by wrapping it in - * span elements with the given class name. - */ -jQuery.fn.highlightText = function(text, className) { - function highlight(node, addItems) { - if (node.nodeType === 3) { - var val = node.nodeValue; - var pos = val.toLowerCase().indexOf(text); - if (pos >= 0 && - !jQuery(node.parentNode).hasClass(className) && - !jQuery(node.parentNode).hasClass("nohighlight")) { - var span; - var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.className = className; - } - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - node.parentNode.insertBefore(span, node.parentNode.insertBefore( - document.createTextNode(val.substr(pos + text.length)), - node.nextSibling)); - node.nodeValue = val.substr(0, pos); - if (isInSVG) { - var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); - var bbox = node.parentElement.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute('class', className); - addItems.push({ - "parent": node.parentNode, - "target": rect}); - } - } - } - else if (!jQuery(node).is("button, select, textarea")) { - jQuery.each(node.childNodes, function() { - highlight(this, addItems); - }); - } - } - var addItems = []; - var result = this.each(function() { - highlight(this, addItems); - }); - for (var i = 0; i < addItems.length; ++i) { - jQuery(addItems[i].parent).before(addItems[i].target); - } - return result; -}; - -/* - * backward compatibility for jQuery.browser - * This will be supported until firefox bug is fixed. - */ -if (!jQuery.browser) { - jQuery.uaMatch = function(ua) { - ua = ua.toLowerCase(); - - var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || - /(webkit)[ \/]([\w.]+)/.exec(ua) || - /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || - /(msie) ([\w.]+)/.exec(ua) || - ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || - []; - - return { - browser: match[ 1 ] || "", - version: match[ 2 ] || "0" - }; - }; - jQuery.browser = {}; - jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; -} - -/** - * Small JavaScript module for the documentation. - */ -var Documentation = { - - init : function() { - this.fixFirefoxAnchorBug(); - this.highlightSearchWords(); - this.initIndexTable(); - if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) { - this.initOnKeyListeners(); - } - }, - - /** - * i18n support - */ - TRANSLATIONS : {}, - PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; }, - LOCALE : 'unknown', - - // gettext and ngettext don't access this so that the functions - // can safely bound to a different name (_ = Documentation.gettext) - gettext : function(string) { - var translated = Documentation.TRANSLATIONS[string]; - if (typeof translated === 'undefined') - return string; - return (typeof translated === 'string') ? translated : translated[0]; - }, - - ngettext : function(singular, plural, n) { - var translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated === 'undefined') - return (n == 1) ? singular : plural; - return translated[Documentation.PLURALEXPR(n)]; - }, - - addTranslations : function(catalog) { - for (var key in catalog.messages) - this.TRANSLATIONS[key] = catalog.messages[key]; - this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); - this.LOCALE = catalog.locale; - }, - - /** - * add context elements like header anchor links - */ - addContextElements : function() { - $('div[id] > :header:first').each(function() { - $('\u00B6'). - attr('href', '#' + this.id). - attr('title', _('Permalink to this headline')). - appendTo(this); - }); - $('dt[id]').each(function() { - $('\u00B6'). - attr('href', '#' + this.id). - attr('title', _('Permalink to this definition')). - appendTo(this); - }); - }, - - /** - * workaround a firefox stupidity - * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 - */ - fixFirefoxAnchorBug : function() { - if (document.location.hash && $.browser.mozilla) - window.setTimeout(function() { - document.location.href += ''; - }, 10); - }, - - /** - * highlight the search words provided in the url in the text - */ - highlightSearchWords : function() { - var params = $.getQueryParameters(); - var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; - if (terms.length) { - var body = $('div.body'); - if (!body.length) { - body = $('body'); - } - window.setTimeout(function() { - $.each(terms, function() { - body.highlightText(this.toLowerCase(), 'highlighted'); - }); - }, 10); - $('

') - .appendTo($('#searchbox')); - } - }, - - /** - * init the domain index toggle buttons - */ - initIndexTable : function() { - var togglers = $('img.toggler').click(function() { - var src = $(this).attr('src'); - var idnum = $(this).attr('id').substr(7); - $('tr.cg-' + idnum).toggle(); - if (src.substr(-9) === 'minus.png') - $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); - else - $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); - }).css('display', ''); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { - togglers.click(); - } - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords : function() { - $('#searchbox .highlight-link').fadeOut(300); - $('span.highlighted').removeClass('highlighted'); - }, - - /** - * make the url absolute - */ - makeURL : function(relativeURL) { - return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; - }, - - /** - * get the current relative url - */ - getCurrentURL : function() { - var path = document.location.pathname; - var parts = path.split(/\//); - $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { - if (this === '..') - parts.pop(); - }); - var url = parts.join('/'); - return path.substring(url.lastIndexOf('/') + 1, path.length - 1); - }, - - initOnKeyListeners: function() { - $(document).keydown(function(event) { - var activeElementType = document.activeElement.tagName; - // don't navigate when in search box, textarea, dropdown or button - if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT' - && activeElementType !== 'BUTTON' && !event.altKey && !event.ctrlKey && !event.metaKey - && !event.shiftKey) { - switch (event.keyCode) { - case 37: // left - var prevHref = $('link[rel="prev"]').prop('href'); - if (prevHref) { - window.location.href = prevHref; - return false; - } - break; - case 39: // right - var nextHref = $('link[rel="next"]').prop('href'); - if (nextHref) { - window.location.href = nextHref; - return false; - } - break; - } - } - }); - } -}; - -// quick alias for translations -_ = Documentation.gettext; - -$(document).ready(function() { - Documentation.init(); -}); diff --git a/docs/_build/html/_static/jquery.js b/docs/_build/html/_static/jquery.js deleted file mode 100644 index b061403..0000000 --- a/docs/_build/html/_static/jquery.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 00 - var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 - var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 - var s_v = "^(" + C + ")?" + v; // vowel in stem - - this.stemWord = function (w) { - var stem; - var suffix; - var firstch; - var origword = w; - - if (w.length < 3) - return w; - - var re; - var re2; - var re3; - var re4; - - firstch = w.substr(0,1); - if (firstch == "y") - w = firstch.toUpperCase() + w.substr(1); - - // Step 1a - re = /^(.+?)(ss|i)es$/; - re2 = /^(.+?)([^s])s$/; - - if (re.test(w)) - w = w.replace(re,"$1$2"); - else if (re2.test(w)) - w = w.replace(re2,"$1$2"); - - // Step 1b - re = /^(.+?)eed$/; - re2 = /^(.+?)(ed|ing)$/; - if (re.test(w)) { - var fp = re.exec(w); - re = new RegExp(mgr0); - if (re.test(fp[1])) { - re = /.$/; - w = w.replace(re,""); - } - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - re2 = new RegExp(s_v); - if (re2.test(stem)) { - w = stem; - re2 = /(at|bl|iz)$/; - re3 = new RegExp("([^aeiouylsz])\\1$"); - re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re2.test(w)) - w = w + "e"; - else if (re3.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - else if (re4.test(w)) - w = w + "e"; - } - } - - // Step 1c - re = /^(.+?)y$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(s_v); - if (re.test(stem)) - w = stem + "i"; - } - - // Step 2 - re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step2list[suffix]; - } - - // Step 3 - re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step3list[suffix]; - } - - // Step 4 - re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; - re2 = /^(.+?)(s|t)(ion)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - if (re.test(stem)) - w = stem; - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1] + fp[2]; - re2 = new RegExp(mgr1); - if (re2.test(stem)) - w = stem; - } - - // Step 5 - re = /^(.+?)e$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - re2 = new RegExp(meq1); - re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) - w = stem; - } - re = /ll$/; - re2 = new RegExp(mgr1); - if (re.test(w) && re2.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - - // and turn initial Y back to y - if (firstch == "y") - w = firstch.toLowerCase() + w.substr(1); - return w; - } -} - - - - -var splitChars = (function() { - var result = {}; - var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648, - 1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702, - 2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971, - 2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345, - 3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761, - 3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823, - 4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125, - 8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695, - 11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587, - 43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141]; - var i, j, start, end; - for (i = 0; i < singles.length; i++) { - result[singles[i]] = true; - } - var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709], - [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161], - [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568], - [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807], - [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047], - [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383], - [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450], - [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547], - [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673], - [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820], - [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946], - [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023], - [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173], - [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332], - [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481], - [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718], - [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791], - [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095], - [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205], - [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687], - [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968], - [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869], - [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102], - [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271], - [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592], - [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822], - [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167], - [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959], - [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143], - [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318], - [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483], - [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101], - [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567], - [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292], - [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444], - [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783], - [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311], - [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511], - [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774], - [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071], - [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263], - [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519], - [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647], - [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967], - [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295], - [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274], - [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007], - [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381], - [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]]; - for (i = 0; i < ranges.length; i++) { - start = ranges[i][0]; - end = ranges[i][1]; - for (j = start; j <= end; j++) { - result[j] = true; - } - } - return result; -})(); - -function splitQuery(query) { - var result = []; - var start = -1; - for (var i = 0; i < query.length; i++) { - if (splitChars[query.charCodeAt(i)]) { - if (start !== -1) { - result.push(query.slice(start, i)); - start = -1; - } - } else if (start === -1) { - start = i; - } - } - if (start !== -1) { - result.push(query.slice(start)); - } - return result; -} - - diff --git a/docs/_build/html/_static/searchtools.js b/docs/_build/html/_static/searchtools.js deleted file mode 100644 index 58ff35c..0000000 --- a/docs/_build/html/_static/searchtools.js +++ /dev/null @@ -1,528 +0,0 @@ -/* - * searchtools.js - * ~~~~~~~~~~~~~~~~ - * - * Sphinx JavaScript utilities for the full-text search. - * - * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -if (!Scorer) { - /** - * Simple result scoring code. - */ - var Scorer = { - // Implement the following function to further tweak the score for each result - // The function takes a result array [filename, title, anchor, descr, score] - // and returns the new score. - /* - score: function(result) { - return result[4]; - }, - */ - - // query matches the full name of an object - objNameMatch: 11, - // or matches in the last dotted part of the object name - objPartialMatch: 6, - // Additive scores depending on the priority of the object - objPrio: {0: 15, // used to be importantResults - 1: 5, // used to be objectResults - 2: -5}, // used to be unimportantResults - // Used when the priority is not in the mapping. - objPrioDefault: 0, - - // query found in title - title: 15, - partialTitle: 7, - // query found in terms - term: 5, - partialTerm: 2 - }; -} - -if (!splitQuery) { - function splitQuery(query) { - return query.split(/\s+/); - } -} - -/** - * Search Module - */ -var Search = { - - _index : null, - _queued_query : null, - _pulse_status : -1, - - htmlToText : function(htmlString) { - var virtualDocument = document.implementation.createHTMLDocument('virtual'); - var htmlElement = $(htmlString, virtualDocument); - htmlElement.find('.headerlink').remove(); - docContent = htmlElement.find('[role=main]')[0]; - if(docContent === undefined) { - console.warn("Content block not found. Sphinx search tries to obtain it " + - "via '[role=main]'. Could you check your theme or template."); - return ""; - } - return docContent.textContent || docContent.innerText; - }, - - init : function() { - var params = $.getQueryParameters(); - if (params.q) { - var query = params.q[0]; - $('input[name="q"]')[0].value = query; - this.performSearch(query); - } - }, - - loadIndex : function(url) { - $.ajax({type: "GET", url: url, data: null, - dataType: "script", cache: true, - complete: function(jqxhr, textstatus) { - if (textstatus != "success") { - document.getElementById("searchindexloader").src = url; - } - }}); - }, - - setIndex : function(index) { - var q; - this._index = index; - if ((q = this._queued_query) !== null) { - this._queued_query = null; - Search.query(q); - } - }, - - hasIndex : function() { - return this._index !== null; - }, - - deferQuery : function(query) { - this._queued_query = query; - }, - - stopPulse : function() { - this._pulse_status = 0; - }, - - startPulse : function() { - if (this._pulse_status >= 0) - return; - function pulse() { - var i; - Search._pulse_status = (Search._pulse_status + 1) % 4; - var dotString = ''; - for (i = 0; i < Search._pulse_status; i++) - dotString += '.'; - Search.dots.text(dotString); - if (Search._pulse_status > -1) - window.setTimeout(pulse, 500); - } - pulse(); - }, - - /** - * perform a search for something (or wait until index is loaded) - */ - performSearch : function(query) { - // create the required interface elements - this.out = $('#search-results'); - this.title = $('

' + _('Searching') + '

').appendTo(this.out); - this.dots = $('').appendTo(this.title); - this.status = $('

 

').appendTo(this.out); - this.output = $('