Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
On Thursday, 7th July from 1 to 3 pm there will be a maintenance with a short downtime of GitLab.
Open sidebar
ift
NIFTy
Commits
02d4686c
Commit
02d4686c
authored
Feb 04, 2018
by
Philipp Arras
Browse files
Change inputs and outputs
parent
feb207b2
Pipeline
#24359
passed with stage
in 6 minutes and 18 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
nifty4/operators/linear_operator.py
View file @
02d4686c
...
...
@@ -164,16 +164,19 @@ class LinearOperator(with_metaclass(
raise
ValueError
(
"The operator's and and field's domains "
"don't match."
)
def
test_adjointness
(
self
,
domain_dtype
=
np
.
float64
,
target_dtype
=
np
.
float64
):
def
test_adjointness
(
self
,
domain_dtype
=
np
.
float64
,
target_dtype
=
np
.
float64
,
atol
=
0
,
rtol
=
1e-7
):
f1
=
Field
.
from_random
(
"normal"
,
domain
=
self
.
domain
,
dtype
=
domain_dtype
)
f2
=
Field
.
from_random
(
"normal"
,
domain
=
self
.
target
,
dtype
=
target_dtype
)
res1
=
f1
.
vdot
(
self
.
adjoint_times
(
f2
))
res2
=
self
.
times
(
f1
).
vdot
(
f2
)
np
.
testing
.
assert_allclose
(
res1
,
res2
,
atol
=
atol
,
rtol
=
rtol
)
# Return relative error
return
(
res1
-
res2
)
/
(
res1
+
res2
)
*
2
def
test_inverse
(
self
,
dtype_domain
=
np
.
float64
,
dtype_target
=
np
.
float64
):
def
test_inverse
(
self
,
dtype_domain
=
np
.
float64
,
dtype_target
=
np
.
float64
,
atol
=
0
,
rtol
=
1e-7
):
foo
=
Field
.
from_random
(
domain
=
self
.
target
,
random_type
=
'normal'
,
dtype
=
dtype_target
)
bar
=
self
.
times
(
self
.
inverse_times
(
foo
)).
val
...
...
@@ -181,7 +184,11 @@ class LinearOperator(with_metaclass(
foo
=
Field
.
from_random
(
domain
=
self
.
domain
,
random_type
=
'normal'
,
dtype
=
dtype_domain
)
bar
=
self
.
inverse_times
(
self
.
times
(
foo
)).
val
np
.
testing
.
assert_allclose
(
bar
,
Field
.
ones
(
self
.
domain
).
val
)
return
True
res1
=
self
.
inverse_times
(
self
.
times
(
foo
)).
val
res2
=
Field
.
ones
(
self
.
domain
).
val
np
.
testing
.
assert_allclose
(
res1
,
res2
,
atol
=
atol
,
rtol
=
rtol
)
# Return relative error
return
(
res1
-
res2
)
/
(
res1
+
res2
)
*
2
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment