Example #1
0
    def __init__(self, bases):
        '''
        Constructor for the class FullTensorProductFunctionalBasis.

        Parameters
        ----------
        bases : list or tensap.FunctionalBases
            The bases associated with the object.

        Returns
        -------
        None.

        '''
        tensap.FunctionalBasis.__init__(self)

        if isinstance(bases, list):
            bases = tensap.FunctionalBases(bases)

        assert isinstance(bases, tensap.FunctionalBases), \
            'The first argument must be a FunctionalBases.'

        self.bases = bases
        self.measure = tensap.ProductMeasure([x.measure for x in bases.bases])
        self.is_orthonormal = np.all([x.is_orthonormal for x in bases.bases])
    def __init__(self, bases, indices):
        '''
        Constructor for the class SparseTensorProductFunctionalBasis.

        Parameters
        ----------
        bases : list or tensap.FunctionalBases
            The bases associated with the object.
        indices : tensap.MultiIndices
            The indices of the basis functions (the indices start at 0).

        Returns
        -------
        None.

        '''
        tensap.FunctionalBasis.__init__(self)

        assert isinstance(bases, tensap.FunctionalBases), \
            'The first argument must be a FunctionalBases.'

        assert isinstance(indices, tensap.MultiIndices), \
            'The second argument must be a MultiIndices.'

        self.bases = bases
        self.indices = indices
        self.measure = tensap.ProductMeasure([x.measure for x in bases.bases])
        self.is_orthonormal = np.all([x.is_orthonormal for x in bases.bases])
Example #3
0
    def __init__(self, bases):
        tensap.FunctionalBasis.__init__(self)

        if isinstance(bases, list):
            bases = tensap.FunctionalBases(bases)

        assert isinstance(bases, tensap.FunctionalBases), \
            'The first argument must be a FunctionalBases.'

        self.bases = bases
        self.measure = tensap.ProductMeasure([x.measure for x in bases.bases])
        self.is_orthonormal = np.all([x.is_orthonormal for x in bases.bases])
Example #4
0
    def __init__(self, bases, indices):
        tensap.FunctionalBasis.__init__(self)

        assert isinstance(bases, tensap.FunctionalBases), \
            'The first argument must be a FunctionalBases.'

        assert isinstance(indices, tensap.MultiIndices), \
            'The second argument must be a MultiIndices.'

        self.bases = bases
        self.indices = indices
        self.measure = tensap.ProductMeasure([x.measure for x in bases.bases])
        self.is_orthonormal = np.all([x.is_orthonormal for x in bases.bases])
Example #5
0
    def __init__(self, bases=None):
        '''
        Constructor for the class FunctionalBases.

        To create a FunctionalBases by replication of FunctionalBasis,
            see FunctionalBases.duplicate.

        Parameters
        ----------
        bases : list or numpy.ndarray, or tensap.FunctionalBases, optional
            List or numpy.ndarray containing objects of type FunctionalBasis.
            The default is None.

        Raises
        ------
        ValueError
            If the provided bases are not of type FunctionalBasis.

        Returns
        -------
        None.

        '''
        if bases is not None:
            if isinstance(bases, FunctionalBases):
                measure = bases.measure
                bases = bases.bases
            elif np.all([isinstance(x, tensap.FunctionalBasis)
                         for x in bases]):
                measure = tensap.ProductMeasure([x.measure for x in bases])
            else:
                raise ValueError('Wrong argument.')

        self.bases = np.atleast_1d(bases)
        self.measure = measure
        if not np.all(
            [isinstance(x, tensap.FunctionalBasis) for x in self.bases]):
            raise ValueError(
                'Bases must contain objects of type FunctionalBasis')