Skip to content

Commit

Permalink
[tests] add tests for as_source_array/as_range_array
Browse files Browse the repository at this point in the history
  • Loading branch information
sdrave authored and renefritze committed Nov 3, 2020
1 parent 29f8baa commit 80f7b37
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/pymortests/operators.py
Expand Up @@ -13,6 +13,7 @@
from pymor.operators.constructions import (SelectionOperator, InverseOperator, InverseAdjointOperator, IdentityOperator,
LincombOperator, VectorArrayOperator)
from pymor.operators.numpy import NumpyMatrixOperator
from pymor.operators.interface import as_array_max_length
from pymor.parameters.functionals import GenericParameterFunctional, ExpressionParameterFunctional
from pymor.vectorarrays.block import BlockVectorSpace
from pymor.vectorarrays.numpy import NumpyVectorSpace
Expand Down Expand Up @@ -484,3 +485,13 @@ def test_adjoint_vectorarray_op_apply_inverse_lstsq():
v = V.to_numpy()
u = np.linalg.lstsq(O, v.ravel())[0]
assert np.all(almost_equal(U, U.space.from_numpy(u)))


def test_as_range_array(operator_with_arrays):
op, mu, U, V = operator_with_arrays
if (not op.linear
or not isinstance(op.source, NumpyVectorSpace)
or op.source.dim > as_array_max_length()):
return
array = op.as_range_array(mu)
assert np.all(almost_equal(array.lincomb(U.to_numpy()), op.apply(U, mu=mu)))

0 comments on commit 80f7b37

Please sign in to comment.