Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F63008035
plot_zero_set.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
Fri, May 17, 02:44
Size
3 KB
Mime Type
text/x-python
Expires
Sun, May 19, 02:44 (2 d)
Engine
blob
Format
Raw Data
Handle
17719911
Attached To
R6746 RationalROMPy
plot_zero_set.py
View Options
import
warnings
import
numpy
as
np
from
matplotlib
import
pyplot
as
plt
def
plotZeroSet1
(
murange
,
murangeEff
,
approx
,
mu0
,
nSamples
=
200
,
exp
=
2.
):
if
hasattr
(
approx
,
"mus"
):
mu2x
=
approx
.
mus
(
0
)
**
exp
else
:
mu2x
=
mu0
[
0
]
**
exp
murangeExp
=
[[
murange
[
0
][
0
]
**
exp
],
[
murange
[
1
][
0
]
**
exp
]]
mu1
=
np
.
linspace
(
murangeEff
[
0
][
0
]
**
exp
,
murangeEff
[
1
][
0
]
**
exp
,
nSamples
)
mus
=
np
.
power
(
mu1
,
1.
/
exp
)
mu1
=
np
.
real
(
mu1
)
Z
=
approx
.
trainedModel
.
getQVal
(
mus
)
Zabs
=
np
.
abs
(
Z
)
Zmin
,
Zmax
=
np
.
min
(
Zabs
),
np
.
max
(
Zabs
)
plt
.
figure
(
figsize
=
(
15
,
7
))
plt
.
jet
()
plt
.
semilogy
(
mu1
,
Zabs
)
for
l_
in
approx
.
trainedModel
.
getPoles
():
plt
.
plot
([
np
.
real
(
l_
**
exp
)]
*
2
,
[
Zmin
,
Zmax
],
'b--'
)
plt
.
plot
(
mu2x
,
[
Zmax
]
*
len
(
mu2x
),
'kx'
)
plt
.
plot
([
murangeExp
[
0
][
0
]]
*
2
,
[
Zmin
,
Zmax
],
'm:'
)
plt
.
plot
([
murangeExp
[
1
][
0
]]
*
2
,
[
Zmin
,
Zmax
],
'm:'
)
plt
.
xlim
(
mu1
[
0
],
mu1
[
-
1
])
plt
.
title
(
"|Q(mu)|"
)
plt
.
grid
()
plt
.
show
()
return
mus
,
Z
def
plotZeroSet2
(
murange
,
murangeEff
,
approx
,
mu0
,
nSamples
=
200
,
exps
=
[
2.
,
2.
],
clip
=
-
1
):
if
hasattr
(
approx
,
"mus"
):
mu2x
,
mu2y
=
approx
.
mus
(
0
)
**
exps
[
0
],
approx
.
mus
(
1
)
**
exps
[
1
]
else
:
mu2x
,
mu2y
=
mu0
[
0
]
**
exps
[
0
],
mu0
[
1
]
**
exps
[
1
]
murangeExp
=
[[
murange
[
0
][
0
]
**
exps
[
0
],
murange
[
0
][
1
]
**
exps
[
1
]],
[
murange
[
1
][
0
]
**
exps
[
0
],
murange
[
1
][
1
]
**
exps
[
1
]]]
mu1
=
np
.
linspace
(
murangeEff
[
0
][
0
]
**
exps
[
0
],
murangeEff
[
1
][
0
]
**
exps
[
0
],
nSamples
)
mu2
=
np
.
linspace
(
murangeEff
[
0
][
1
]
**
exps
[
1
],
murangeEff
[
1
][
1
]
**
exps
[
1
],
nSamples
)
mu1s
=
np
.
power
(
mu1
,
1.
/
exps
[
0
])
mu2s
=
np
.
power
(
mu2
,
1.
/
exps
[
1
])
Mu1
,
Mu2
=
np
.
meshgrid
(
np
.
real
(
mu1
),
np
.
real
(
mu2
))
mus
=
[(
m1
,
m2
)
for
m2
in
mu2s
for
m1
in
mu1s
]
Z
=
approx
.
trainedModel
.
getQVal
(
mus
)
.
reshape
(
Mu1
.
shape
)
Zabs
=
np
.
log10
(
np
.
abs
(
Z
))
Zabsmin
,
Zabsmax
=
np
.
min
(
Zabs
),
np
.
max
(
Zabs
)
if
clip
>
0
:
Zabsmin
+=
clip
*
(
Zabsmax
-
Zabsmin
)
cmap
=
plt
.
cm
.
bone_r
else
:
cmap
=
plt
.
cm
.
jet
warnings
.
simplefilter
(
"ignore"
,
category
=
UserWarning
)
plt
.
figure
(
figsize
=
(
15
,
7
))
plt
.
jet
()
p
=
plt
.
contourf
(
Mu1
,
Mu2
,
Zabs
,
cmap
=
cmap
,
levels
=
np
.
linspace
(
Zabsmin
,
Zabsmax
,
50
))
if
clip
>
0
:
plt
.
contour
(
Mu1
,
Mu2
,
Zabs
,
[
Zabsmin
])
plt
.
contour
(
Mu1
,
Mu2
,
np
.
real
(
Z
),
[
0.
],
linestyles
=
'dashed'
)
plt
.
contour
(
Mu1
,
Mu2
,
np
.
imag
(
Z
),
[
0.
],
linewidths
=
1
,
linestyles
=
'dotted'
)
plt
.
plot
(
mu2x
,
mu2y
,
'kx'
)
plt
.
plot
([
murangeExp
[
0
][
0
]]
*
2
,
[
murangeExp
[
0
][
1
],
murangeExp
[
1
][
1
]],
'm:'
)
plt
.
plot
([
murangeExp
[
0
][
0
],
murangeExp
[
1
][
0
]],
[
murangeExp
[
1
][
1
]]
*
2
,
'm:'
)
plt
.
plot
([
murangeExp
[
1
][
0
]]
*
2
,
[
murangeExp
[
1
][
1
],
murangeExp
[
0
][
1
]],
'm:'
)
plt
.
plot
([
murangeExp
[
1
][
0
],
murangeExp
[
0
][
0
]],
[
murangeExp
[
0
][
1
]]
*
2
,
'm:'
)
plt
.
colorbar
(
p
)
plt
.
title
(
"log10|Q(mu)|"
)
plt
.
grid
()
plt
.
show
()
return
mus
,
Z
Event Timeline
Log In to Comment