Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F73669376
trained_model_pivoted_rational_nearest_neighbor.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Tue, Jul 23, 13:38
Size
2 KB
Mime Type
text/x-python
Expires
Thu, Jul 25, 13:38 (2 d)
Engine
blob
Format
Raw Data
Handle
19244979
Attached To
R6746 RationalROMPy
trained_model_pivoted_rational_nearest_neighbor.py
View Options
# Copyright (C) 2018 by the RROMPy authors
#
# This file is part of RROMPy.
#
# RROMPy is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# RROMPy is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with RROMPy. If not, see <http://www.gnu.org/licenses/>.
#
import
numpy
as
np
from
copy
import
deepcopy
as
copy
from
.trained_model_pivoted_rational
import
TrainedModelPivotedRational
from
rrompy.utilities.base.types
import
Np1D
,
paramVal
,
paramList
from
rrompy.utilities.base
import
verbosityManager
as
vbMng
from
rrompy.utilities.poly_fitting.nearest_neighbor
import
(
NearestNeighborInterpolator
as
NNI
)
from
rrompy.parameter
import
checkParameterList
__all__
=
[
'TrainedModelPivotedRationalNearestNeighbor'
]
class
TrainedModelPivotedRationalNearestNeighbor
(
TrainedModelPivotedRational
):
"""
ROM approximant evaluation for pivoted approximants based on interpolation
of rational approximants (with pole matching) via local average.
Attributes:
Data: dictionary with all that can be pickled.
"""
def
centerNormalizeMarginal
(
self
,
mu
:
paramList
=
[],
mu0
:
paramVal
=
None
)
->
paramList
:
return
checkParameterList
(
mu
,
self
.
data
.
nparMarginal
)[
0
]
def
setupMarginalInterp
(
self
,
nN
:
bool
,
rDWM
:
Np1D
=
None
):
vbMng
(
self
,
"INIT"
,
"Starting computation of marginal interpolator."
,
12
)
self
.
data
.
marginalInterp
=
[]
for
ipts
,
pts
in
enumerate
(
self
.
data
.
suppEffPts
):
nn
=
NNI
()
if
len
(
pts
)
==
0
:
nn
.
setupByInterpolation
(
self
.
data
.
musMarginal
[[
0
]],
np
.
ones
((
1
,
0
)),
1
,
rDWM
)
else
:
nn
.
setupByInterpolation
(
self
.
data
.
musMarginal
[
pts
],
np
.
eye
(
len
(
pts
)),
nN
,
rDWM
)
self
.
data
.
marginalInterp
+=
[
copy
(
nn
)]
vbMng
(
self
,
"DEL"
,
"Done computing marginal interpolator."
,
12
)
Event Timeline
Log In to Comment