Skip to content

Commit 188ece0

Browse files
Merge pull request #78 from EthanJamesLew/enhancement/atva
release for ATVA
2 parents 521cd56 + 738890e commit 188ece0

File tree

4 files changed

+79
-45
lines changed

4 files changed

+79
-45
lines changed

CITATION.cff

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
cff-version: 1.2.0
2+
message: "If you use this software, please cite it as below."
3+
authors:
4+
- family-names: "Lew"
5+
given-names: "Ethan"
6+
orcid: "https://orcid.org/0000-0002-6509-6846"
7+
- family-names: "Hekal"
8+
given-names: "Abdelrahman"
9+
orcid: "https://orcid.org/0009-0008-9685-0558"
10+
- family-names: "Potomkin"
11+
given-names: "Kostiantyn"
12+
orcid: "https://orcid.org/0000-0002-4726-8931"
13+
- family-names: "Kochdumper"
14+
given-names: "Niklas"
15+
orcid: "https://orcid.org/0000-0001-6017-7623"
16+
- family-names: "Hencey"
17+
given-names: "Brandon"
18+
orcid: "https://orcid.org/0000-0001-9240-7999"
19+
- family-names: "Bak"
20+
given-names: "Stanley"
21+
orcid: "https://orcid.org/0000-0003-4947-9553"
22+
- family-names: "Bogomolov"
23+
given-names: "Sergiy"
24+
orcid: "https://orcid.org/0000-0002-0686-0365"
25+
title: "AutoKoopman: A Toolbox for Automated System Identification via Koopman Operator Linearization"
26+
version: 0.30.0
27+
doi: 10.1007/978-3-031-45332-8_12
28+
date-released: 2023-10-19
29+
url: "https://github.com/EthanJamesLew/AutoKoopman"

autokoopman/autokoopman.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ def get_parameter_space(obs_type, threshold_range, rank):
7575
return ParameterSpace(
7676
"koopman-polynomial",
7777
[
78-
DiscreteParameter("degree", 1, 5),
78+
DiscreteParameter("degree", 1, 3),
7979
DiscreteParameter("rank", *rank),
8080
],
8181
)
@@ -133,7 +133,7 @@ def auto_koopman(
133133
training_data: Union[TrajectoriesData, Sequence[np.ndarray]],
134134
inputs_training_data: Optional[Sequence[np.ndarray]] = None,
135135
sampling_period: Optional[float] = None,
136-
normalize: bool = True,
136+
normalize: bool = False,
137137
opt: Union[str, HyperparameterTuner] = "monte-carlo",
138138
max_opt_iter: int = 100,
139139
max_epochs: int = 500,

autokoopman/core/system.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,10 @@ def evolv_func_scale(t, x, i):
398398
def A(self):
399399
return self._A
400400

401+
@property
402+
def koopman_operator(self):
403+
return self._A
404+
401405
@property
402406
def B(self):
403407
return self._B

environment.yml

Lines changed: 44 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,48 @@
11
name: autokoopman
22
channels:
3+
- conda-forge
34
- defaults
45
dependencies:
5-
- _libgcc_mutex=0.1=main
6-
- _openmp_mutex=5.1=1_gnu
7-
- blas=1.0=mkl
8-
- ca-certificates=2023.01.10=h06a4308_0
9-
- certifi=2022.12.7=py39h06a4308_0
10-
- cffi=1.15.1=py39h5eee18b_3
11-
- flit-core=3.6.0=pyhd3eb1b0_0
12-
- future=0.18.2=py39h06a4308_1
13-
- intel-openmp=2021.4.0=h06a4308_3561
14-
- ld_impl_linux-64=2.38=h1181459_1
15-
- libffi=3.4.2=h6a678d5_6
16-
- libgcc-ng=11.2.0=h1234567_1
17-
- libgomp=11.2.0=h1234567_1
18-
- libprotobuf=3.20.3=he621ea3_0
19-
- libstdcxx-ng=11.2.0=h1234567_1
20-
- mkl=2021.4.0=h06a4308_640
21-
- mkl-service=2.4.0=py39h7f8727e_0
22-
- mkl_fft=1.3.1=py39hd3c417c_0
23-
- mkl_random=1.2.2=py39h51133e4_0
24-
- ncurses=6.4=h6a678d5_0
25-
- ninja=1.10.2=h06a4308_5
26-
- ninja-base=1.10.2=hd09550d_5
27-
- numpy-base=1.23.5=py39h31eccc5_0
28-
- openssl=1.1.1s=h7f8727e_0
29-
- pip=22.3.1=py39h06a4308_0
30-
- pycparser=2.21=pyhd3eb1b0_0
31-
- python=3.9.16=h7a1cb2a_0
32-
- pytorch=1.12.1=cpu_py39hb1f1ab4_1
33-
- pyyaml=6.0=py39h5eee18b_1
34-
- readline=8.2=h5eee18b_0
35-
- setuptools=65.6.3=py39h06a4308_0
36-
- six=1.16.0=pyhd3eb1b0_1
37-
- sqlite=3.40.1=h5082296_0
38-
- tk=8.6.12=h1ccaba5_0
39-
- typing-extensions=4.4.0=py39h06a4308_0
40-
- typing_extensions=4.4.0=py39h06a4308_0
41-
- tzdata=2022g=h04d1e81_0
42-
- wheel=0.37.1=pyhd3eb1b0_0
43-
- xz=5.2.10=h5eee18b_1
44-
- yaml=0.2.5=h7b6447c_0
45-
- zlib=1.2.13=h5eee18b_0
6+
- blas=1.0
7+
- ca-certificates=2023.08.22
8+
- cffi=1.15.1
9+
- filelock=3.9.0
10+
- gmp=6.2.1
11+
- gmpy2=2.1.2
12+
- jinja2=3.1.2
13+
- libcxx=16.0.6
14+
- libffi=3.3
15+
- libopenblas=0.3.21
16+
- libprotobuf=3.20.3
17+
- libsqlite=3.43.2
18+
- libuv=1.44.2
19+
- libzlib=1.2.13
20+
- llvm-openmp=14.0.6
21+
- markupsafe=2.1.1
22+
- mpc=1.1.0
23+
- mpfr=4.0.2
24+
- ncurses=6.4
25+
- networkx=3.1
26+
- ninja=1.10.2
27+
- ninja-base=1.10.2
28+
- numpy-base=1.26.0
29+
- openssl=1.1.1w
30+
- pip=23.3.1
31+
- pycparser=2.21
32+
- python=3.9.0
33+
- pytorch=2.0.1
34+
- readline=8.2
35+
- setuptools=68.2.2
36+
- sleef=3.5.1
37+
- sqlite=3.43.2
38+
- sympy=1.11.1
39+
- tk=8.6.13
40+
- typing-extensions=4.7.1
41+
- typing_extensions=4.7.1
42+
- tzdata=2023c
43+
- wheel=0.41.2
44+
- xz=5.2.6
45+
- zlib=1.2.13
4646
- pip:
4747
- attrs==22.2.0
4848
- cmake==3.25.2
@@ -60,7 +60,7 @@ dependencies:
6060
- kiwisolver==1.4.4
6161
- matplotlib==3.6.3
6262
- mpmath==1.2.1
63-
- numpy==1.23.1
63+
- numpy==1.21.0
6464
- packaging==23.0
6565
- pandas==1.5.3
6666
- paramz==0.9.5
@@ -73,6 +73,7 @@ dependencies:
7373
- pytz==2022.7.1
7474
- scikit-learn==1.0.2
7575
- scipy==1.10.0
76-
- sympy==1.11.1
76+
- six==1.16.0
7777
- threadpoolctl==3.1.0
78+
- tomli==2.0.1
7879
- tqdm==4.64.1

0 commit comments

Comments
 (0)