bertini2 2.0.2__cp313-cp313-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- bertini/__init__.py +106 -0
- bertini/_pybertini.cp313-win_amd64.pyd +0 -0
- bertini/algorithms/__init__.py +32 -0
- bertini/algorithms/zerodim.py +27 -0
- bertini/bin/bertini2.dll +0 -0
- bertini/container/__init__.py +61 -0
- bertini/endgame/__init__.py +87 -0
- bertini/endgame/config/__init__.py +41 -0
- bertini/function_tree/__init__.py +43 -0
- bertini/function_tree/root/__init__.py +37 -0
- bertini/function_tree/symbol/__init__.py +37 -0
- bertini/include/bertini2/bertini.hpp +41 -0
- bertini/include/bertini2/blackbox/algorithm_builder.hpp +74 -0
- bertini/include/bertini2/blackbox/argc_argv.hpp +41 -0
- bertini/include/bertini2/blackbox/config.hpp +73 -0
- bertini/include/bertini2/blackbox/global_configs.hpp +83 -0
- bertini/include/bertini2/blackbox/main_mode_switch.hpp +40 -0
- bertini/include/bertini2/blackbox/switches_zerodim.hpp +135 -0
- bertini/include/bertini2/blackbox/user_homotopy.hpp +63 -0
- bertini/include/bertini2/classic.hpp +40 -0
- bertini/include/bertini2/common/config.hpp +74 -0
- bertini/include/bertini2/common/stream_enum.hpp +60 -0
- bertini/include/bertini2/config.hpp +94 -0
- bertini/include/bertini2/deprecated.hpp +56 -0
- bertini/include/bertini2/detail/configured.hpp +130 -0
- bertini/include/bertini2/detail/enable_permuted_arguments.hpp +141 -0
- bertini/include/bertini2/detail/events.hpp +165 -0
- bertini/include/bertini2/detail/is_template_parameter.hpp +72 -0
- bertini/include/bertini2/detail/observable.hpp +117 -0
- bertini/include/bertini2/detail/observer.hpp +126 -0
- bertini/include/bertini2/detail/typelist.hpp +98 -0
- bertini/include/bertini2/detail/visitable.hpp +129 -0
- bertini/include/bertini2/detail/visitor.hpp +73 -0
- bertini/include/bertini2/double_extensions.hpp +121 -0
- bertini/include/bertini2/eigen_extensions.hpp +597 -0
- bertini/include/bertini2/eigen_serialization_addon.hpp +55 -0
- bertini/include/bertini2/endgames/amp_endgame.hpp +169 -0
- bertini/include/bertini2/endgames/base_endgame.hpp +385 -0
- bertini/include/bertini2/endgames/cauchy.hpp +1165 -0
- bertini/include/bertini2/endgames/config.hpp +184 -0
- bertini/include/bertini2/endgames/events.hpp +188 -0
- bertini/include/bertini2/endgames/fixed_prec_endgame.hpp +119 -0
- bertini/include/bertini2/endgames/interpolation.hpp +130 -0
- bertini/include/bertini2/endgames/observers.hpp +113 -0
- bertini/include/bertini2/endgames/powerseries.hpp +751 -0
- bertini/include/bertini2/endgames/prec_base.hpp +104 -0
- bertini/include/bertini2/endgames.hpp +42 -0
- bertini/include/bertini2/forbid_mixed_arithmetic.hpp +39 -0
- bertini/include/bertini2/function_tree/arithmetic.hpp +1440 -0
- bertini/include/bertini2/function_tree/differential.hpp +171 -0
- bertini/include/bertini2/function_tree/forward_declares.hpp +128 -0
- bertini/include/bertini2/function_tree/function.hpp +274 -0
- bertini/include/bertini2/function_tree/function_tree.hpp +154 -0
- bertini/include/bertini2/function_tree/jacobian.hpp +131 -0
- bertini/include/bertini2/function_tree/linear_product.hpp +1126 -0
- bertini/include/bertini2/function_tree/node.hpp +451 -0
- bertini/include/bertini2/function_tree/number.hpp +427 -0
- bertini/include/bertini2/function_tree/operator.hpp +228 -0
- bertini/include/bertini2/function_tree/operators/arithmetic.hpp +1440 -0
- bertini/include/bertini2/function_tree/operators/operator.hpp +228 -0
- bertini/include/bertini2/function_tree/operators/trig.hpp +525 -0
- bertini/include/bertini2/function_tree/roots/function.hpp +274 -0
- bertini/include/bertini2/function_tree/roots/jacobian.hpp +131 -0
- bertini/include/bertini2/function_tree/simplify.hpp +48 -0
- bertini/include/bertini2/function_tree/special_number.hpp +198 -0
- bertini/include/bertini2/function_tree/symbol.hpp +133 -0
- bertini/include/bertini2/function_tree/symbols/differential.hpp +171 -0
- bertini/include/bertini2/function_tree/symbols/linear_product.hpp +1126 -0
- bertini/include/bertini2/function_tree/symbols/number.hpp +427 -0
- bertini/include/bertini2/function_tree/symbols/special_number.hpp +198 -0
- bertini/include/bertini2/function_tree/symbols/symbol.hpp +133 -0
- bertini/include/bertini2/function_tree/symbols/variable.hpp +176 -0
- bertini/include/bertini2/function_tree/trig.hpp +525 -0
- bertini/include/bertini2/function_tree/variable.hpp +176 -0
- bertini/include/bertini2/function_tree.hpp +154 -0
- bertini/include/bertini2/have_bertini.hpp +48 -0
- bertini/include/bertini2/io/file_utilities.hpp +100 -0
- bertini/include/bertini2/io/generators.hpp +232 -0
- bertini/include/bertini2/io/parsing/classic_utilities.hpp +430 -0
- bertini/include/bertini2/io/parsing/function_parsers.hpp +70 -0
- bertini/include/bertini2/io/parsing/function_rules.hpp +309 -0
- bertini/include/bertini2/io/parsing/number_parsers.hpp +284 -0
- bertini/include/bertini2/io/parsing/number_rules.hpp +182 -0
- bertini/include/bertini2/io/parsing/qi_files.hpp +53 -0
- bertini/include/bertini2/io/parsing/settings_parsers/algorithm.hpp +934 -0
- bertini/include/bertini2/io/parsing/settings_parsers/base.hpp +59 -0
- bertini/include/bertini2/io/parsing/settings_parsers/endgames.hpp +533 -0
- bertini/include/bertini2/io/parsing/settings_parsers/tracking.hpp +705 -0
- bertini/include/bertini2/io/parsing/settings_parsers.hpp +149 -0
- bertini/include/bertini2/io/parsing/settings_rules.hpp +32 -0
- bertini/include/bertini2/io/parsing/system_parsers.hpp +96 -0
- bertini/include/bertini2/io/parsing/system_rules.hpp +379 -0
- bertini/include/bertini2/io/parsing.hpp +38 -0
- bertini/include/bertini2/io/splash.hpp +194 -0
- bertini/include/bertini2/logging.hpp +142 -0
- bertini/include/bertini2/mpfr_complex.hpp +236 -0
- bertini/include/bertini2/mpfr_extensions.hpp +234 -0
- bertini/include/bertini2/nag_algorithms/common/algorithm_base.hpp +47 -0
- bertini/include/bertini2/nag_algorithms/common/config.hpp +154 -0
- bertini/include/bertini2/nag_algorithms/common/policies.hpp +320 -0
- bertini/include/bertini2/nag_algorithms/midpath_check.hpp +218 -0
- bertini/include/bertini2/nag_algorithms/numerical_irreducible_decomposition.hpp +56 -0
- bertini/include/bertini2/nag_algorithms/output.hpp +285 -0
- bertini/include/bertini2/nag_algorithms/sharpen.hpp +64 -0
- bertini/include/bertini2/nag_algorithms/trace.hpp +52 -0
- bertini/include/bertini2/nag_algorithms/zero_dim_solve.hpp +859 -0
- bertini/include/bertini2/nag_datatypes/common/policies.hpp +59 -0
- bertini/include/bertini2/nag_datatypes/numerical_irreducible_decomposition.hpp +75 -0
- bertini/include/bertini2/nag_datatypes/witness_set.hpp +237 -0
- bertini/include/bertini2/num_traits.hpp +320 -0
- bertini/include/bertini2/parallel/initialize_finalize.hpp +50 -0
- bertini/include/bertini2/parallel.hpp +29 -0
- bertini/include/bertini2/pool/pool.hpp +118 -0
- bertini/include/bertini2/pool/system.hpp +56 -0
- bertini/include/bertini2/random.hpp +283 -0
- bertini/include/bertini2/settings/configIni_parse.hpp +190 -0
- bertini/include/bertini2/system/patch.hpp +545 -0
- bertini/include/bertini2/system/precon.hpp +74 -0
- bertini/include/bertini2/system/slice.hpp +341 -0
- bertini/include/bertini2/system/start/mhom.hpp +146 -0
- bertini/include/bertini2/system/start/total_degree.hpp +148 -0
- bertini/include/bertini2/system/start/user.hpp +157 -0
- bertini/include/bertini2/system/start/utility.hpp +94 -0
- bertini/include/bertini2/system/start_base.hpp +81 -0
- bertini/include/bertini2/system/start_systems.hpp +37 -0
- bertini/include/bertini2/system/straight_line_program.hpp +772 -0
- bertini/include/bertini2/system/system.hpp +1911 -0
- bertini/include/bertini2/system.hpp +41 -0
- bertini/include/bertini2/trackers/adaptive_precision_utilities.hpp +181 -0
- bertini/include/bertini2/trackers/amp_criteria.hpp +217 -0
- bertini/include/bertini2/trackers/amp_tracker.hpp +1660 -0
- bertini/include/bertini2/trackers/base_predictor.hpp +476 -0
- bertini/include/bertini2/trackers/base_tracker.hpp +684 -0
- bertini/include/bertini2/trackers/config.hpp +364 -0
- bertini/include/bertini2/trackers/events.hpp +343 -0
- bertini/include/bertini2/trackers/explicit_predictors.hpp +1136 -0
- bertini/include/bertini2/trackers/fixed_precision_tracker.hpp +575 -0
- bertini/include/bertini2/trackers/fixed_precision_utilities.hpp +103 -0
- bertini/include/bertini2/trackers/newton_correct.hpp +255 -0
- bertini/include/bertini2/trackers/newton_corrector.hpp +392 -0
- bertini/include/bertini2/trackers/observers.hpp +359 -0
- bertini/include/bertini2/trackers/ode_predictors.hpp +33 -0
- bertini/include/bertini2/trackers/predict.hpp +237 -0
- bertini/include/bertini2/trackers/step.hpp +109 -0
- bertini/include/bertini2/trackers/tracker.hpp +40 -0
- bertini/include/bertini2/tracking.hpp +39 -0
- bertini/include/bertini2/warning.hpp +35 -0
- bertini/lib/bertini2.lib +0 -0
- bertini/lib/cmake/bertini2/boost/FindBoost.cmake +2592 -0
- bertini/lib/cmake/bertini2/boost.cmake +272 -0
- bertini/lib/cmake/bertini2/python-helpers.cmake +182 -0
- bertini/lib/cmake/bertini2/python.cmake +616 -0
- bertini/logging/__init__.py +42 -0
- bertini/multiprec/__init__.py +59 -0
- bertini/nag_algorithm/__init__.py +44 -0
- bertini/parse/__init__.py +42 -0
- bertini/random/__init__.py +4 -0
- bertini/system/__init__.py +56 -0
- bertini/system/start_system/__init__.py +41 -0
- bertini/tracking/__init__.py +44 -0
- bertini/tracking/config/__init__.py +39 -0
- bertini/tracking/observers/__init__.py +39 -0
- bertini/tracking/observers/amp/__init__.py +39 -0
- bertini/tracking/observers/double/__init__.py +39 -0
- bertini/tracking/observers/multiple/__init__.py +39 -0
- bertini/windows_dll_manager.py +56 -0
- bertini2-2.0.2.dist-info/DELVEWHEEL +2 -0
- bertini2-2.0.2.dist-info/METADATA +113 -0
- bertini2-2.0.2.dist-info/RECORD +182 -0
- bertini2-2.0.2.dist-info/WHEEL +5 -0
- bertini2.libs/boost_filesystem-bfd51ccb0319bf4cc704c915d042c66f.dll +0 -0
- bertini2.libs/boost_log-fc768011286cd55a67095ab7bced2782.dll +0 -0
- bertini2.libs/boost_log_setup-56cc68d9578a017705a8fb82d0dcaa2f.dll +0 -0
- bertini2.libs/boost_python313-81f6a116f2260efda29f85288225cc7b.dll +0 -0
- bertini2.libs/boost_serialization-aa4defa54c5ca2e09504eb18a11ce5ad.dll +0 -0
- bertini2.libs/boost_thread-c3a345f78fdc11b8baac9ff17f318940.dll +0 -0
- bertini2.libs/eigenpy-79596cb7f82c287e0635fec73c31e08a.dll +0 -0
- bertini2.libs/libgcc_s_seh-1-b0202912eeaca56057205af49cead702.dll +0 -0
- bertini2.libs/libgmp-10-8b542bac53a8335446a333fc7cbe8ba6.dll +0 -0
- bertini2.libs/libmpc-3-4a8dcaa87d41486ca06bfe015e640366.dll +0 -0
- bertini2.libs/libmpfr-6-d1d9967aff4a8c5acc26627489cc2cd4.dll +0 -0
- bertini2.libs/msvcp140-639342ea9a67c0009122238ce070a825.dll +0 -0
bertini/__init__.py
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# This file is part of Bertini 2.
|
|
2
|
+
#
|
|
3
|
+
# python/bertini/__init__.py is free software: you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
|
5
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
6
|
+
# (at your option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# python/bertini/__init__.py is distributed in the hope that it will be useful,
|
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
# GNU General Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License
|
|
14
|
+
# along with python/bertini/__init__.py. If not, see <http://www.gnu.org/licenses/>.
|
|
15
|
+
#
|
|
16
|
+
# Copyright(C) Bertini2 Development Team
|
|
17
|
+
#
|
|
18
|
+
# See <http://www.gnu.org/licenses/> for a copy of the license,
|
|
19
|
+
# as well as COPYING. Bertini2 is provided with permitted
|
|
20
|
+
# additional terms in the b2/licenses/ directory.
|
|
21
|
+
|
|
22
|
+
# individual authors of this file include:
|
|
23
|
+
#
|
|
24
|
+
# silviana amethyst
|
|
25
|
+
# UWEC
|
|
26
|
+
# Spring 2018
|
|
27
|
+
#
|
|
28
|
+
# MPI-CBG
|
|
29
|
+
# 2025
|
|
30
|
+
#
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
"""
|
|
36
|
+
bertini -- Python bindings for Bertini 2.
|
|
37
|
+
|
|
38
|
+
This code is licensed under the GNU Public License, Version 3, with
|
|
39
|
+
additional clauses under section 7 as permitted, to protect the
|
|
40
|
+
Bertini name. See b2/licenses/ for a complete copy of the license,
|
|
41
|
+
and the licenses of software upon which Bertini depends.
|
|
42
|
+
|
|
43
|
+
See the source at https://github.com/bertiniteam/b2
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
# start delvewheel patch
|
|
48
|
+
def _delvewheel_patch_1_12_1():
|
|
49
|
+
import os
|
|
50
|
+
if os.path.isdir(libs_dir := os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, 'bertini2.libs'))):
|
|
51
|
+
os.add_dll_directory(libs_dir)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
_delvewheel_patch_1_12_1()
|
|
55
|
+
del _delvewheel_patch_1_12_1
|
|
56
|
+
# end delvewheel patch
|
|
57
|
+
|
|
58
|
+
### this __init__.py is strongly inspired by that for GalSim
|
|
59
|
+
### https://github.com/GalSim-developers/GalSim
|
|
60
|
+
|
|
61
|
+
from importlib.metadata import version
|
|
62
|
+
__version__ = version("bertini2")
|
|
63
|
+
|
|
64
|
+
import os
|
|
65
|
+
import sys
|
|
66
|
+
|
|
67
|
+
if sys.platform == "win32":
|
|
68
|
+
from .windows_dll_manager import get_dll_paths, build_directory_manager
|
|
69
|
+
_dll_manager = build_directory_manager()
|
|
70
|
+
_dll_manager.__enter__()
|
|
71
|
+
for p in get_dll_paths():
|
|
72
|
+
_dll_manager.add_dll_directory(p)
|
|
73
|
+
|
|
74
|
+
# put stuff in the bertini namespace
|
|
75
|
+
|
|
76
|
+
import bertini.function_tree as function_tree
|
|
77
|
+
|
|
78
|
+
import bertini.system as system
|
|
79
|
+
import bertini.tracking as tracking
|
|
80
|
+
import bertini.endgame as endgame
|
|
81
|
+
import bertini.parse as parse
|
|
82
|
+
import bertini.container as container
|
|
83
|
+
import bertini.logging as logging
|
|
84
|
+
import bertini.nag_algorithm as nag_algorithm
|
|
85
|
+
import bertini.random as random
|
|
86
|
+
|
|
87
|
+
from bertini._pybertini import info
|
|
88
|
+
|
|
89
|
+
import bertini.multiprec as multiprec
|
|
90
|
+
|
|
91
|
+
# some convenience assignments
|
|
92
|
+
Variable = function_tree.symbol.Variable
|
|
93
|
+
VariableGroup = function_tree.VariableGroup
|
|
94
|
+
System = system.System
|
|
95
|
+
default_precision = multiprec.default_precision
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
# https://stackoverflow.com/questions/44834/what-does-all-mean-in-python
|
|
100
|
+
# "a list of strings defining what symbols in a module will be exported when from <module> import * is used on the module"
|
|
101
|
+
__all__ = ['Variable','VariableGroup','system','System',
|
|
102
|
+
'nag_algorithm','container','default_precision',
|
|
103
|
+
'tracking','endgame','logging','function_tree','parse','multiprec','random']
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
Binary file
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# This file is part of Bertini 2.
|
|
2
|
+
#
|
|
3
|
+
# python/bertini/algorithms/__init__.py is free software: you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
|
5
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
6
|
+
# (at your option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# python/bertini/algorithms/__init__.py is distributed in the hope that it will be useful,
|
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
# GNU General Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License
|
|
14
|
+
# along with python/bertini/algorithms/__init__.py. If not, see <http://www.gnu.org/licenses/>.
|
|
15
|
+
#
|
|
16
|
+
# Copyright(C) Bertini2 Development Team
|
|
17
|
+
#
|
|
18
|
+
# See <http://www.gnu.org/licenses/> for a copy of the license,
|
|
19
|
+
# as well as COPYING. Bertini2 is provided with permitted
|
|
20
|
+
# additional terms in the b2/licenses/ directory.
|
|
21
|
+
|
|
22
|
+
# individual authors of this file include:
|
|
23
|
+
#
|
|
24
|
+
# silviana amethyst
|
|
25
|
+
# UWEC
|
|
26
|
+
# Spring 2018
|
|
27
|
+
#
|
|
28
|
+
|
|
29
|
+
"""
|
|
30
|
+
Various algorithms for numerical algebraic geometry, notable the zero dimensional algorithm, which is used all over the place.
|
|
31
|
+
"""
|
|
32
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# This file is part of Bertini 2.
|
|
2
|
+
#
|
|
3
|
+
# python/bertini/algorithms/zerodim.py is free software: you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
|
5
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
6
|
+
# (at your option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# python/bertini/algorithms/zerodim.py is distributed in the hope that it will be useful,
|
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
# GNU General Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License
|
|
14
|
+
# along with python/bertini/algorithms/zerodim.py. If not, see <http://www.gnu.org/licenses/>.
|
|
15
|
+
#
|
|
16
|
+
# Copyright(C) Bertini2 Development Team
|
|
17
|
+
#
|
|
18
|
+
# See <http://www.gnu.org/licenses/> for a copy of the license,
|
|
19
|
+
# as well as COPYING. Bertini2 is provided with permitted
|
|
20
|
+
# additional terms in the b2/licenses/ directory.
|
|
21
|
+
|
|
22
|
+
# individual authors of this file include:
|
|
23
|
+
#
|
|
24
|
+
# silviana amethyst
|
|
25
|
+
# UWEC
|
|
26
|
+
# Spring 2018
|
|
27
|
+
#
|
bertini/bin/bertini2.dll
ADDED
|
Binary file
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# This file is part of Bertini 2.
|
|
2
|
+
#
|
|
3
|
+
# python/bertini/container/__init__.py is free software: you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
|
5
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
6
|
+
# (at your option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# python/bertini/container/__init__.py is distributed in the hope that it will be useful,
|
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
# GNU General Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License
|
|
14
|
+
# along with python/bertini/container/__init__.py. If not, see <http://www.gnu.org/licenses/>.
|
|
15
|
+
#
|
|
16
|
+
# Copyright(C) Bertini2 Development Team
|
|
17
|
+
#
|
|
18
|
+
# See <http://www.gnu.org/licenses/> for a copy of the license,
|
|
19
|
+
# as well as COPYING. Bertini2 is provided with permitted
|
|
20
|
+
# additional terms in the b2/licenses/ directory.
|
|
21
|
+
|
|
22
|
+
# individual authors of this file include:
|
|
23
|
+
#
|
|
24
|
+
# silviana amethyst
|
|
25
|
+
# UWEC
|
|
26
|
+
# Spring 2018, 2023
|
|
27
|
+
#
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
"""
|
|
34
|
+
container types, coming from C++
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
import bertini._pybertini.container
|
|
40
|
+
|
|
41
|
+
from bertini._pybertini.container import *
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
__all__ = [
|
|
46
|
+
"ListOfEGBoundaryMetaData_DoublePrec",
|
|
47
|
+
"ListOfJacobian",
|
|
48
|
+
"ListOfVariableGroup",
|
|
49
|
+
"ListOfEGBoundaryMetaData_MultiPrec",
|
|
50
|
+
"ListOfRational",
|
|
51
|
+
"ListOfVectorComplexDoublePrecision",
|
|
52
|
+
"ListOfFunction",
|
|
53
|
+
"ListOfSolutionMetaData_DoublePrec",
|
|
54
|
+
"ListOfVectorComplexVariablePrecision",
|
|
55
|
+
"ListOfInt",
|
|
56
|
+
"ListOfSolutionMetaData_MultiPrec",
|
|
57
|
+
"VariableGroup",
|
|
58
|
+
"ListOfVectorComplexVariablePrecision",
|
|
59
|
+
"ListOfVectorComplexDoublePrecision"
|
|
60
|
+
]
|
|
61
|
+
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# This file is part of Bertini 2.
|
|
2
|
+
#
|
|
3
|
+
# python/bertini/endgame/__init__.py is free software: you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
|
5
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
6
|
+
# (at your option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# python/bertini/endgame/__init__.py is distributed in the hope that it will be useful,
|
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
# GNU General Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License
|
|
14
|
+
# along with python/bertini/endgame/__init__.py. If not, see <http://www.gnu.org/licenses/>.
|
|
15
|
+
#
|
|
16
|
+
# Copyright(C) Bertini2 Development Team
|
|
17
|
+
#
|
|
18
|
+
# See <http://www.gnu.org/licenses/> for a copy of the license,
|
|
19
|
+
# as well as COPYING. Bertini2 is provided with permitted
|
|
20
|
+
# additional terms in the b2/licenses/ directory.
|
|
21
|
+
|
|
22
|
+
# individual authors of this file include:
|
|
23
|
+
#
|
|
24
|
+
# silviana amethyst
|
|
25
|
+
# UWEC
|
|
26
|
+
# Spring 2018
|
|
27
|
+
#
|
|
28
|
+
|
|
29
|
+
"""
|
|
30
|
+
Endgame-specific things -- endgames, configs
|
|
31
|
+
***********************************************
|
|
32
|
+
|
|
33
|
+
Endgames allow the computation of singular endpoints.
|
|
34
|
+
|
|
35
|
+
Flavors
|
|
36
|
+
=========
|
|
37
|
+
|
|
38
|
+
There are two basic flavors of endgame implemented:
|
|
39
|
+
|
|
40
|
+
1. Power Series, commonly written PS or PSEG
|
|
41
|
+
2. Cauchy
|
|
42
|
+
|
|
43
|
+
Both estimate the cycle number and use it to compute a root at a time which is never tracked to. PSEG uses Hermite interpolation and extrapolation, and Cauchy uses loops around the target time coupled with the `Cauchy integral formula <https://en.wikipedia.org/wiki/Cauchy%27s_integral_formula>`_. Both continue until two successive approximations of the root match to a given tolerance (:py:attr:`bertini.endgame.config.Endgame.final_tolerance`).
|
|
44
|
+
|
|
45
|
+
The implementations of the endgames go with a particular tracker, hence there are six provided endgame types. Choose the one that goes with your selected tracker type. Adaptive Multiple Precision is a good choice.
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
Implementation reference
|
|
49
|
+
=========================
|
|
50
|
+
|
|
51
|
+
AMP Endgames
|
|
52
|
+
-------------
|
|
53
|
+
|
|
54
|
+
* :class:`~bertini.endgame.AMPCauchyEG`
|
|
55
|
+
* :class:`~bertini.endgame.AMPPSEG`
|
|
56
|
+
|
|
57
|
+
Fixed Double Precision Endgames
|
|
58
|
+
---------------------------------
|
|
59
|
+
|
|
60
|
+
* :class:`~bertini.endgame.FixedDoublePSEG`
|
|
61
|
+
* :class:`~bertini.endgame.FixedDoublePSEG`
|
|
62
|
+
|
|
63
|
+
Fixed Multiple Precision Endgames
|
|
64
|
+
-------------------------------------
|
|
65
|
+
|
|
66
|
+
* :class:`~bertini.endgame.FixedMultiplePSEG`
|
|
67
|
+
* :class:`~bertini.endgame.FixedMultiplePSEG`
|
|
68
|
+
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
import bertini._pybertini.endgame
|
|
72
|
+
|
|
73
|
+
from bertini._pybertini.endgame import *
|
|
74
|
+
|
|
75
|
+
__all__ = ['AMPCauchyEG',
|
|
76
|
+
'AMPPSEG',
|
|
77
|
+
'FixedDoubleCauchyEG',
|
|
78
|
+
'FixedDoublePSEG',
|
|
79
|
+
'FixedMultipleCauchyEG',
|
|
80
|
+
'FixedMultiplePSEG',
|
|
81
|
+
'__doc__',
|
|
82
|
+
'__loader__',
|
|
83
|
+
'__name__',
|
|
84
|
+
'__package__',
|
|
85
|
+
'__spec__',
|
|
86
|
+
'config',
|
|
87
|
+
'observers']
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# This file is part of Bertini 2.
|
|
2
|
+
#
|
|
3
|
+
# python/bertini/endgame/config/__init__.py is free software: you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
|
5
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
6
|
+
# (at your option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# python/bertini/endgame/config/__init__.py is distributed in the hope that it will be useful,
|
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
# GNU General Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License
|
|
14
|
+
# along with python/bertini/endgame/config/__init__.py. If not, see <http://www.gnu.org/licenses/>.
|
|
15
|
+
#
|
|
16
|
+
# Copyright(C) Bertini2 Development Team
|
|
17
|
+
#
|
|
18
|
+
# See <http://www.gnu.org/licenses/> for a copy of the license,
|
|
19
|
+
# as well as COPYING. Bertini2 is provided with permitted
|
|
20
|
+
# additional terms in the b2/licenses/ directory.
|
|
21
|
+
|
|
22
|
+
# individual authors of this file include:
|
|
23
|
+
#
|
|
24
|
+
# silviana amethyst
|
|
25
|
+
# UWEC
|
|
26
|
+
# Spring 2018
|
|
27
|
+
#
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
Configs for endgames
|
|
34
|
+
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
import bertini._pybertini.endgame.config
|
|
38
|
+
|
|
39
|
+
from bertini._pybertini.endgame.config import *
|
|
40
|
+
|
|
41
|
+
__all__ = dir(bertini._pybertini.endgame.config)
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# This file is part of Bertini 2.
|
|
2
|
+
#
|
|
3
|
+
# python/bertini/function_tree/__init__.py is free software: you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
|
5
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
6
|
+
# (at your option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# python/bertini/function_tree/__init__.py is distributed in the hope that it will be useful,
|
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
# GNU General Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License
|
|
14
|
+
# along with python/bertini/function_tree/__init__.py. If not, see <http://www.gnu.org/licenses/>.
|
|
15
|
+
#
|
|
16
|
+
# Copyright(C) Bertini2 Development Team
|
|
17
|
+
#
|
|
18
|
+
# See <http://www.gnu.org/licenses/> for a copy of the license,
|
|
19
|
+
# as well as COPYING. Bertini2 is provided with permitted
|
|
20
|
+
# additional terms in the b2/licenses/ directory.
|
|
21
|
+
|
|
22
|
+
# individual authors of this file include:
|
|
23
|
+
#
|
|
24
|
+
# silviana amethyst
|
|
25
|
+
# UWEC
|
|
26
|
+
# Spring 2018
|
|
27
|
+
#
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
import bertini._pybertini
|
|
32
|
+
import bertini._pybertini.function_tree
|
|
33
|
+
|
|
34
|
+
# from bertini._pybertini import function_tree
|
|
35
|
+
from bertini._pybertini.container import VariableGroup
|
|
36
|
+
|
|
37
|
+
from bertini._pybertini.function_tree import *
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
VariableGroup.__str__ = lambda vg: '[{}]'.format( ','.join([str(v) for v in vg]) )
|
|
41
|
+
|
|
42
|
+
__all__ = dir(bertini._pybertini.function_tree)
|
|
43
|
+
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# This file is part of Bertini 2.
|
|
2
|
+
#
|
|
3
|
+
# python/bertini/function_tree/root/__init__.py is free software: you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
|
5
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
6
|
+
# (at your option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# python/bertini/function_tree/root/__init__.py is distributed in the hope that it will be useful,
|
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
# GNU General Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License
|
|
14
|
+
# along with python/bertini/function_tree/root/__init__.py. If not, see <http://www.gnu.org/licenses/>.
|
|
15
|
+
#
|
|
16
|
+
# Copyright(C) Bertini2 Development Team
|
|
17
|
+
#
|
|
18
|
+
# See <http://www.gnu.org/licenses/> for a copy of the license,
|
|
19
|
+
# as well as COPYING. Bertini2 is provided with permitted
|
|
20
|
+
# additional terms in the b2/licenses/ directory.
|
|
21
|
+
|
|
22
|
+
# individual authors of this file include:
|
|
23
|
+
#
|
|
24
|
+
# silviana amethyst
|
|
25
|
+
# UWEC
|
|
26
|
+
# Spring 2018
|
|
27
|
+
#
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
import bertini._pybertini
|
|
32
|
+
import bertini._pybertini.function_tree.root
|
|
33
|
+
|
|
34
|
+
from bertini._pybertini.function_tree.root import *
|
|
35
|
+
|
|
36
|
+
__all__ = dir(bertini._pybertini.function_tree.root)
|
|
37
|
+
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# This file is part of Bertini 2.
|
|
2
|
+
#
|
|
3
|
+
# python/bertini/function_tree/symbol/__init__.py is free software: you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
|
5
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
6
|
+
# (at your option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# python/bertini/function_tree/symbol/__init__.py is distributed in the hope that it will be useful,
|
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
# GNU General Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License
|
|
14
|
+
# along with python/bertini/function_tree/symbol/__init__.py. If not, see <http://www.gnu.org/licenses/>.
|
|
15
|
+
#
|
|
16
|
+
# Copyright(C) Bertini2 Development Team
|
|
17
|
+
#
|
|
18
|
+
# See <http://www.gnu.org/licenses/> for a copy of the license,
|
|
19
|
+
# as well as COPYING. Bertini2 is provided with permitted
|
|
20
|
+
# additional terms in the b2/licenses/ directory.
|
|
21
|
+
|
|
22
|
+
# individual authors of this file include:
|
|
23
|
+
#
|
|
24
|
+
# silviana amethyst
|
|
25
|
+
# UWEC
|
|
26
|
+
# Spring 2018
|
|
27
|
+
#
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
import bertini._pybertini
|
|
32
|
+
import bertini._pybertini.function_tree.symbol
|
|
33
|
+
|
|
34
|
+
from bertini._pybertini.function_tree.symbol import *
|
|
35
|
+
|
|
36
|
+
__all__ = dir(bertini._pybertini.function_tree.symbol)
|
|
37
|
+
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
//This file is part of Bertini 2.
|
|
2
|
+
//
|
|
3
|
+
//bertini.hpp is free software: you can redistribute it and/or modify
|
|
4
|
+
//it under the terms of the GNU General Public License as published by
|
|
5
|
+
//the Free Software Foundation, either version 3 of the License, or
|
|
6
|
+
//(at your option) any later version.
|
|
7
|
+
//
|
|
8
|
+
//bertini.hpp is distributed in the hope that it will be useful,
|
|
9
|
+
//but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
//GNU General Public License for more details.
|
|
12
|
+
//
|
|
13
|
+
//You should have received a copy of the GNU General Public License
|
|
14
|
+
//along with bertini.hpp. If not, see <http://www.gnu.org/licenses/>.
|
|
15
|
+
//
|
|
16
|
+
// Copyright(C) Bertini2 Development Team
|
|
17
|
+
//
|
|
18
|
+
// See <http://www.gnu.org/licenses/> for a copy of the license,
|
|
19
|
+
// as well as COPYING. Bertini2 is provided with permitted
|
|
20
|
+
// additional terms in the b2/licenses/ directory.
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
\file bertini.hpp
|
|
25
|
+
|
|
26
|
+
\brief The main file for including the entirety of Bertini's header files.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
#ifndef BERTINI_HPP
|
|
30
|
+
#define BERTINI_HPP
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
#include "bertini2/blackbox/argc_argv.hpp"
|
|
34
|
+
#include "bertini2/blackbox/main_mode_switch.hpp"
|
|
35
|
+
|
|
36
|
+
#include "bertini2/parallel.hpp"
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
#endif
|
|
40
|
+
|
|
41
|
+
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
//This file is part of Bertini 2.
|
|
2
|
+
//
|
|
3
|
+
//bertini2/blackbox/algorithm_builder.hpp is free software: you can redistribute it and/or modify
|
|
4
|
+
//it under the terms of the GNU General Public License as published by
|
|
5
|
+
//the Free Software Foundation, either version 3 of the License, or
|
|
6
|
+
//(at your option) any later version.
|
|
7
|
+
//
|
|
8
|
+
//bertini2/blackbox/algorithm_builder.hpp is distributed in the hope that it will be useful,
|
|
9
|
+
//but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
//GNU General Public License for more details.
|
|
12
|
+
//
|
|
13
|
+
//You should have received a copy of the GNU General Public License
|
|
14
|
+
//along with bertini2/blackbox/algorithm_builder.hpp. If not, see <http://www.gnu.org/licenses/>.
|
|
15
|
+
//
|
|
16
|
+
// Copyright(C) Bertini2 Development Team
|
|
17
|
+
//
|
|
18
|
+
// See <http://www.gnu.org/licenses/> for a copy of the license,
|
|
19
|
+
// as well as COPYING. Bertini2 is provided with permitted
|
|
20
|
+
// additional terms in the b2/licenses/ directory.
|
|
21
|
+
//
|
|
22
|
+
// individual authors of this file include
|
|
23
|
+
//
|
|
24
|
+
// silviana amethyst, university of wisconsin-eau claire
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
\file include/bertini2/blackbox/algorithm_builder.hpp
|
|
28
|
+
|
|
29
|
+
\brief A type which determines which algorithms etc, to run, and sets them up.
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
#pragma once
|
|
35
|
+
|
|
36
|
+
#include "bertini2/io/file_utilities.hpp"
|
|
37
|
+
|
|
38
|
+
namespace bertini {
|
|
39
|
+
namespace blackbox {
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
\brief A de-serializer, whose responsibility it is to construct runnable objects based on input files.
|
|
44
|
+
|
|
45
|
+
This class is inspired by the SimBuilder class from Hythem Sidky's SAPHRON package for molecular dynamics.
|
|
46
|
+
*/
|
|
47
|
+
class AlgoBuilder
|
|
48
|
+
{
|
|
49
|
+
|
|
50
|
+
public:
|
|
51
|
+
AlgoBuilder() = default;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
\brief Method for constructing an algorithm from a bertini classic input file
|
|
55
|
+
*/
|
|
56
|
+
int ClassicBuild(boost::filesystem::path const& input_file);
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
\brief Returns a non-owning pointer to the built algorithm
|
|
60
|
+
*/
|
|
61
|
+
AnyAlgorithm* GetAlg()
|
|
62
|
+
{
|
|
63
|
+
return alg_.get();
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
private:
|
|
67
|
+
std::unique_ptr<AnyAlgorithm> alg_;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
} // blackbox
|
|
73
|
+
} //namespace bertini
|
|
74
|
+
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
//This file is part of Bertini 2.
|
|
2
|
+
//
|
|
3
|
+
//bertini2/blackbox/argc_argv.hpp is free software: you can redistribute it and/or modify
|
|
4
|
+
//it under the terms of the GNU General Public License as published by
|
|
5
|
+
//the Free Software Foundation, either version 3 of the License, or
|
|
6
|
+
//(at your option) any later version.
|
|
7
|
+
//
|
|
8
|
+
//bertini2/blackbox/argc_argv.hpp is distributed in the hope that it will be useful,
|
|
9
|
+
//but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
//GNU General Public License for more details.
|
|
12
|
+
//
|
|
13
|
+
//You should have received a copy of the GNU General Public License
|
|
14
|
+
//along with bertini2/blackbox/argc_argv.hpp. If not, see <http://www.gnu.org/licenses/>.
|
|
15
|
+
//
|
|
16
|
+
// Copyright(C) Bertini2 Development Team
|
|
17
|
+
//
|
|
18
|
+
// See <http://www.gnu.org/licenses/> for a copy of the license,
|
|
19
|
+
// as well as COPYING. Bertini2 is provided with permitted
|
|
20
|
+
// additional terms in the b2/licenses/ directory.
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
\file bertini2/blackbox/argc_argv.hpp
|
|
25
|
+
|
|
26
|
+
\brief Provides the methods for parsing the command-line arguments.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
#pragma once
|
|
30
|
+
|
|
31
|
+
namespace bertini{
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
Main initial function for doing stuff to interpret the command-line arguments for invokation of the program.
|
|
35
|
+
|
|
36
|
+
\param argc The number of arguments to the program. Must be at least one.
|
|
37
|
+
\param argv array of character arrays, the arguments to the program when called.
|
|
38
|
+
*/
|
|
39
|
+
void ParseArgcArgv(int argc, char** argv);
|
|
40
|
+
|
|
41
|
+
} //namespace bertini
|