pyMOTO 1.0.1__tar.gz → 1.0.2rc1__tar.gz
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.
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/PKG-INFO +10 -24
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/README.md +9 -23
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pyMOTO.egg-info/PKG-INFO +10 -24
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pyMOTO.egg-info/SOURCES.txt +2 -5
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pymoto/__init__.py +5 -3
- pyMOTO-1.0.2rc1/pymoto/common/mma.py +554 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pymoto/core_objects.py +23 -19
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pymoto/modules/assembly.py +22 -10
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pymoto/modules/generic.py +21 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pymoto/modules/linalg.py +87 -9
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pymoto/routines.py +21 -62
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pymoto/utils.py +8 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/tests/test_automod.py +8 -0
- pyMOTO-1.0.2rc1/tests/test_module_concatsignal.py +43 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/LICENSE +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pyMOTO.egg-info/dependency_links.txt +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pyMOTO.egg-info/requires.txt +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pyMOTO.egg-info/top_level.txt +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pyMOTO.egg-info/zip-safe +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pymoto/common/domain.py +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pymoto/common/dyadcarrier.py +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pymoto/common/solvers.py +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pymoto/common/solvers_dense.py +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pymoto/common/solvers_sparse.py +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pymoto/modules/autodiff.py +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pymoto/modules/complex.py +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pymoto/modules/filter.py +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pymoto/modules/io.py +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/pyproject.toml +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/setup.cfg +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/tests/test_complex.py +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/tests/test_core.py +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/tests/test_dyadcarrier.py +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/tests/test_module_eigensolve.py +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/tests/test_module_einsum.py +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/tests/test_module_mathgeneral.py +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/tests/test_solvers_dense.py +0 -0
- {pyMOTO-1.0.1 → pyMOTO-1.0.2rc1}/tests/test_solvers_sparse.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: pyMOTO
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.2rc1
|
4
4
|
Summary: Example package description
|
5
5
|
Home-page: https://github.com/aatmdelissen/pyMOTO
|
6
6
|
Author: Arnoud Delissen
|
@@ -15,6 +15,8 @@ Description-Content-Type: text/markdown
|
|
15
15
|
Provides-Extra: dev
|
16
16
|
License-File: LICENSE
|
17
17
|
|
18
|
+
[](https://doi.org/10.5281/zenodo.7708738)
|
19
|
+
|
18
20
|
# pyMOTO
|
19
21
|
|
20
22
|
* [Link to Documentation](https://pymoto.readthedocs.io)
|
@@ -54,35 +56,19 @@ A local installation for development in `pyMOTO` can be done by first downloadin
|
|
54
56
|
* **SymPy** - Symbolic differentiation for `MathGeneral` module
|
55
57
|
* **Matplotlib** - Plotting and visualisation
|
56
58
|
* (optional) **SAO** - Sequential approximated optimizers
|
57
|
-
* (optional) **opt_einsum** - Optimized function for `EinSum` module
|
59
|
+
* (optional) [**opt_einsum**](https://optimized-einsum.readthedocs.io/en/stable/install.html) - Optimized function for `EinSum` module
|
58
60
|
|
59
61
|
For fast linear solvers for sparse matrices:
|
60
|
-
* (optional) **
|
61
|
-
* (optional) **
|
62
|
-
* (optional) **
|
63
|
-
* (optional) **
|
62
|
+
* (optional) [**pypardiso**](https://github.com/haasad/PyPardisoProject) - Uses the Intel OneAPI PARDISO solver (recommended)
|
63
|
+
* (optional) [**scikit-umfpack**](https://scikit-umfpack.github.io/scikit-umfpack/install.html) - Fast LU linear solver based on UMFPACK
|
64
|
+
* (optional) [**scikit-sparse**](https://github.com/scikit-sparse/scikit-sparse) - Fast Cholesky solver based on CHOLMOD
|
65
|
+
* (optional) [**cvxopt**](https://cvxopt.org/install/index.html) - Another fast Cholesky solver based on CHOLMOD
|
64
66
|
|
65
67
|
__Note on linear solvers for sparse matrices:__ Scipy implements a version of LU which is quite slow. To increase the
|
66
|
-
speed of the optimization, `
|
68
|
+
speed of the optimization, `pypardiso` is recommended as it contains a very robust and flexible solver for symmetric
|
67
69
|
and asymmetric matrices. An alternative is `scikit-umfpack` which provides a fast LU factorization. For symmetric
|
68
70
|
matrices a Cholesky factorization is recommended (not provided with Scipy), which can be used by either installing
|
69
|
-
`
|
70
|
-
|
71
|
-
|
72
|
-
## How to make Python fast with Intel OneAPI
|
73
|
-
Intel provides a toolkit with many fast math operations and solvers called OneAPI (basekit).
|
74
|
-
It can easily be installed on Linux by for instance following the steps described in https://www.intel.com/content/www/us/en/develop/documentation/installation-guide-for-intel-oneapi-toolkits-linux/top/installation/install-using-package-managers/apt.html
|
75
|
-
For other OSes installation can be found in https://www.intel.com/content/www/us/en/developer/articles/guide/installation-guide-for-oneapi-toolkits.html
|
76
|
-
|
77
|
-
The nice thing about OneAPI is that it also includes an optimized version of Python. To use it follow the next steps (Linux)
|
78
|
-
|
79
|
-
1. `source <intel install location>/intel/oneapi/setvars.sh` (usually installed in `/opt/intel` or `/opt/ud/intel`). This loads the Intel OneAPI package.
|
80
|
-
2. `conda create --name <venv_name> --clone base` to create a new conda virtual environment to work in.
|
81
|
-
3. `conda activate <venv_name>` to activate the virtual environment.
|
82
|
-
|
83
|
-
### Usage of multi-thread linear solvers
|
84
|
-
Intel has a Pardiso type linear solver for fast solution of large systems.
|
85
|
-
To use it.....
|
71
|
+
`scikit-sparse` or `cvxopt`.
|
86
72
|
|
87
73
|
# License
|
88
74
|
pyMOTO is available under te [MIT License](https://opensource.org/licenses/MIT).
|
@@ -1,3 +1,5 @@
|
|
1
|
+
[](https://doi.org/10.5281/zenodo.7708738)
|
2
|
+
|
1
3
|
# pyMOTO
|
2
4
|
|
3
5
|
* [Link to Documentation](https://pymoto.readthedocs.io)
|
@@ -37,35 +39,19 @@ A local installation for development in `pyMOTO` can be done by first downloadin
|
|
37
39
|
* **SymPy** - Symbolic differentiation for `MathGeneral` module
|
38
40
|
* **Matplotlib** - Plotting and visualisation
|
39
41
|
* (optional) **SAO** - Sequential approximated optimizers
|
40
|
-
* (optional) **opt_einsum** - Optimized function for `EinSum` module
|
42
|
+
* (optional) [**opt_einsum**](https://optimized-einsum.readthedocs.io/en/stable/install.html) - Optimized function for `EinSum` module
|
41
43
|
|
42
44
|
For fast linear solvers for sparse matrices:
|
43
|
-
* (optional) **
|
44
|
-
* (optional) **
|
45
|
-
* (optional) **
|
46
|
-
* (optional) **
|
45
|
+
* (optional) [**pypardiso**](https://github.com/haasad/PyPardisoProject) - Uses the Intel OneAPI PARDISO solver (recommended)
|
46
|
+
* (optional) [**scikit-umfpack**](https://scikit-umfpack.github.io/scikit-umfpack/install.html) - Fast LU linear solver based on UMFPACK
|
47
|
+
* (optional) [**scikit-sparse**](https://github.com/scikit-sparse/scikit-sparse) - Fast Cholesky solver based on CHOLMOD
|
48
|
+
* (optional) [**cvxopt**](https://cvxopt.org/install/index.html) - Another fast Cholesky solver based on CHOLMOD
|
47
49
|
|
48
50
|
__Note on linear solvers for sparse matrices:__ Scipy implements a version of LU which is quite slow. To increase the
|
49
|
-
speed of the optimization, `
|
51
|
+
speed of the optimization, `pypardiso` is recommended as it contains a very robust and flexible solver for symmetric
|
50
52
|
and asymmetric matrices. An alternative is `scikit-umfpack` which provides a fast LU factorization. For symmetric
|
51
53
|
matrices a Cholesky factorization is recommended (not provided with Scipy), which can be used by either installing
|
52
|
-
`
|
53
|
-
|
54
|
-
|
55
|
-
## How to make Python fast with Intel OneAPI
|
56
|
-
Intel provides a toolkit with many fast math operations and solvers called OneAPI (basekit).
|
57
|
-
It can easily be installed on Linux by for instance following the steps described in https://www.intel.com/content/www/us/en/develop/documentation/installation-guide-for-intel-oneapi-toolkits-linux/top/installation/install-using-package-managers/apt.html
|
58
|
-
For other OSes installation can be found in https://www.intel.com/content/www/us/en/developer/articles/guide/installation-guide-for-oneapi-toolkits.html
|
59
|
-
|
60
|
-
The nice thing about OneAPI is that it also includes an optimized version of Python. To use it follow the next steps (Linux)
|
61
|
-
|
62
|
-
1. `source <intel install location>/intel/oneapi/setvars.sh` (usually installed in `/opt/intel` or `/opt/ud/intel`). This loads the Intel OneAPI package.
|
63
|
-
2. `conda create --name <venv_name> --clone base` to create a new conda virtual environment to work in.
|
64
|
-
3. `conda activate <venv_name>` to activate the virtual environment.
|
65
|
-
|
66
|
-
### Usage of multi-thread linear solvers
|
67
|
-
Intel has a Pardiso type linear solver for fast solution of large systems.
|
68
|
-
To use it.....
|
54
|
+
`scikit-sparse` or `cvxopt`.
|
69
55
|
|
70
56
|
# License
|
71
57
|
pyMOTO is available under te [MIT License](https://opensource.org/licenses/MIT).
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: pyMOTO
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.2rc1
|
4
4
|
Summary: Example package description
|
5
5
|
Home-page: https://github.com/aatmdelissen/pyMOTO
|
6
6
|
Author: Arnoud Delissen
|
@@ -15,6 +15,8 @@ Description-Content-Type: text/markdown
|
|
15
15
|
Provides-Extra: dev
|
16
16
|
License-File: LICENSE
|
17
17
|
|
18
|
+
[](https://doi.org/10.5281/zenodo.7708738)
|
19
|
+
|
18
20
|
# pyMOTO
|
19
21
|
|
20
22
|
* [Link to Documentation](https://pymoto.readthedocs.io)
|
@@ -54,35 +56,19 @@ A local installation for development in `pyMOTO` can be done by first downloadin
|
|
54
56
|
* **SymPy** - Symbolic differentiation for `MathGeneral` module
|
55
57
|
* **Matplotlib** - Plotting and visualisation
|
56
58
|
* (optional) **SAO** - Sequential approximated optimizers
|
57
|
-
* (optional) **opt_einsum** - Optimized function for `EinSum` module
|
59
|
+
* (optional) [**opt_einsum**](https://optimized-einsum.readthedocs.io/en/stable/install.html) - Optimized function for `EinSum` module
|
58
60
|
|
59
61
|
For fast linear solvers for sparse matrices:
|
60
|
-
* (optional) **
|
61
|
-
* (optional) **
|
62
|
-
* (optional) **
|
63
|
-
* (optional) **
|
62
|
+
* (optional) [**pypardiso**](https://github.com/haasad/PyPardisoProject) - Uses the Intel OneAPI PARDISO solver (recommended)
|
63
|
+
* (optional) [**scikit-umfpack**](https://scikit-umfpack.github.io/scikit-umfpack/install.html) - Fast LU linear solver based on UMFPACK
|
64
|
+
* (optional) [**scikit-sparse**](https://github.com/scikit-sparse/scikit-sparse) - Fast Cholesky solver based on CHOLMOD
|
65
|
+
* (optional) [**cvxopt**](https://cvxopt.org/install/index.html) - Another fast Cholesky solver based on CHOLMOD
|
64
66
|
|
65
67
|
__Note on linear solvers for sparse matrices:__ Scipy implements a version of LU which is quite slow. To increase the
|
66
|
-
speed of the optimization, `
|
68
|
+
speed of the optimization, `pypardiso` is recommended as it contains a very robust and flexible solver for symmetric
|
67
69
|
and asymmetric matrices. An alternative is `scikit-umfpack` which provides a fast LU factorization. For symmetric
|
68
70
|
matrices a Cholesky factorization is recommended (not provided with Scipy), which can be used by either installing
|
69
|
-
`
|
70
|
-
|
71
|
-
|
72
|
-
## How to make Python fast with Intel OneAPI
|
73
|
-
Intel provides a toolkit with many fast math operations and solvers called OneAPI (basekit).
|
74
|
-
It can easily be installed on Linux by for instance following the steps described in https://www.intel.com/content/www/us/en/develop/documentation/installation-guide-for-intel-oneapi-toolkits-linux/top/installation/install-using-package-managers/apt.html
|
75
|
-
For other OSes installation can be found in https://www.intel.com/content/www/us/en/developer/articles/guide/installation-guide-for-oneapi-toolkits.html
|
76
|
-
|
77
|
-
The nice thing about OneAPI is that it also includes an optimized version of Python. To use it follow the next steps (Linux)
|
78
|
-
|
79
|
-
1. `source <intel install location>/intel/oneapi/setvars.sh` (usually installed in `/opt/intel` or `/opt/ud/intel`). This loads the Intel OneAPI package.
|
80
|
-
2. `conda create --name <venv_name> --clone base` to create a new conda virtual environment to work in.
|
81
|
-
3. `conda activate <venv_name>` to activate the virtual environment.
|
82
|
-
|
83
|
-
### Usage of multi-thread linear solvers
|
84
|
-
Intel has a Pardiso type linear solver for fast solution of large systems.
|
85
|
-
To use it.....
|
71
|
+
`scikit-sparse` or `cvxopt`.
|
86
72
|
|
87
73
|
# License
|
88
74
|
pyMOTO is available under te [MIT License](https://opensource.org/licenses/MIT).
|
@@ -12,13 +12,9 @@ pymoto/__init__.py
|
|
12
12
|
pymoto/core_objects.py
|
13
13
|
pymoto/routines.py
|
14
14
|
pymoto/utils.py
|
15
|
-
pymoto.egg-info/PKG-INFO
|
16
|
-
pymoto.egg-info/SOURCES.txt
|
17
|
-
pymoto.egg-info/dependency_links.txt
|
18
|
-
pymoto.egg-info/requires.txt
|
19
|
-
pymoto.egg-info/top_level.txt
|
20
15
|
pymoto/common/domain.py
|
21
16
|
pymoto/common/dyadcarrier.py
|
17
|
+
pymoto/common/mma.py
|
22
18
|
pymoto/common/solvers.py
|
23
19
|
pymoto/common/solvers_dense.py
|
24
20
|
pymoto/common/solvers_sparse.py
|
@@ -33,6 +29,7 @@ tests/test_automod.py
|
|
33
29
|
tests/test_complex.py
|
34
30
|
tests/test_core.py
|
35
31
|
tests/test_dyadcarrier.py
|
32
|
+
tests/test_module_concatsignal.py
|
36
33
|
tests/test_module_eigensolve.py
|
37
34
|
tests/test_module_einsum.py
|
38
35
|
tests/test_module_mathgeneral.py
|
@@ -1,4 +1,4 @@
|
|
1
|
-
__version__ = '1.0.
|
1
|
+
__version__ = '1.0.2-rc1'
|
2
2
|
|
3
3
|
from .core_objects import Signal, Module, Network, make_signals
|
4
4
|
from .routines import finite_difference, minimize_oc, minimize_mma
|
@@ -6,13 +6,14 @@ from .routines import finite_difference, minimize_oc, minimize_mma
|
|
6
6
|
# Imports from common
|
7
7
|
from .common.dyadcarrier import DyadCarrier
|
8
8
|
from .common.domain import DomainDefinition
|
9
|
+
from .common.mma import MMA
|
9
10
|
from .common.solvers import matrix_is_complex, matrix_is_diagonal, matrix_is_symmetric, matrix_is_hermitian, \
|
10
11
|
LinearSolver, LDAWrapper
|
11
12
|
from .common.solvers_dense import SolverDiagonal, SolverDenseQR, SolverDenseLU, SolverDenseCholesky, SolverDenseLDL
|
12
13
|
from .common.solvers_sparse import SolverSparsePardiso, SolverSparseLU, SolverSparseCholeskyScikit, SolverSparseCholeskyCVXOPT
|
13
14
|
|
14
15
|
# Import from modules
|
15
|
-
from .modules.generic import MathGeneral, EinSum
|
16
|
+
from .modules.generic import MathGeneral, EinSum, ConcatSignal
|
16
17
|
from .modules.linalg import Inverse, LinSolve, EigenSolve
|
17
18
|
from .modules.assembly import AssembleGeneral, AssembleStiffness, AssembleMass
|
18
19
|
from .modules.filter import FilterConv, Filter, DensityFilter, OverhangFilter
|
@@ -24,6 +25,7 @@ __all__ = [
|
|
24
25
|
'Signal', 'Module', 'Network', 'make_signals',
|
25
26
|
'finite_difference', 'minimize_oc', 'minimize_mma',
|
26
27
|
# Common
|
28
|
+
'MMA',
|
27
29
|
'DyadCarrier',
|
28
30
|
'DomainDefinition',
|
29
31
|
'matrix_is_complex', 'matrix_is_diagonal', 'matrix_is_symmetric', 'matrix_is_hermitian',
|
@@ -31,7 +33,7 @@ __all__ = [
|
|
31
33
|
'SolverDiagonal', 'SolverDenseQR', 'SolverDenseLU', 'SolverDenseCholesky', 'SolverDenseLDL',
|
32
34
|
'SolverSparsePardiso', 'SolverSparseLU', 'SolverSparseCholeskyScikit', 'SolverSparseCholeskyCVXOPT',
|
33
35
|
# Modules
|
34
|
-
"MathGeneral", "EinSum",
|
36
|
+
"MathGeneral", "EinSum", "ConcatSignal",
|
35
37
|
"Inverse", "LinSolve", "EigenSolve",
|
36
38
|
"AssembleGeneral", "AssembleStiffness", "AssembleMass",
|
37
39
|
"FilterConv", "Filter", "DensityFilter", "OverhangFilter",
|