Esempio n. 1
0
 def test_tensor_product_basis( self ):
     # test piecewise basis functions
     num_dims = 2
     basis_1d = [ PiecewiseLinearBasis() ]
     basis = TensorProductBasis( num_dims, basis_1d )
     domain = TensorProductDomain( num_dims, ranges = [[-1.,1.]] )
     assert basis.num_dims == num_dims
     x = numpy.random.uniform( -1., 1., ( 2, 20 ) )
     index = GridPointIndex( numpy.array( [[1,0]], numpy.int32 ) )
     true_val = basis_1d[0].value_set( x[0,:], index.get_dimension_data(0),
                                      -1., 1. ) * \
         basis_1d[0].value_set( x[1,:], index.get_dimension_data(1), -1., 1. )
     assert numpy.allclose( basis.value( x, index, domain ), true_val )
     index = GridPointIndex( numpy.array( [[1,0,1,2]], numpy.int32 ) )
     true_val = basis_1d[0].value_set( x[0,:], index.get_dimension_data(0),
                                      -1., 1. ) * \
         basis_1d[0].value_set( x[1,:], index.get_dimension_data(1), -1., 1. )
     assert numpy.allclose( basis.value( x, index, domain ), true_val )