Ejemplo n.º 1
0
            listOfTuckerGridNodesFromDKlibs, listOfIntegralMethods, listOfCrossSectionsForTuckerGridsFromDklibs)

    ###============WITH GREEDY============================
    ### Collecter touts les fonctions de base, axe par axe pour appliquer greedy ensuit
    ###===================================================
    listOfMaxNbFcts, listOfAllBasisFcts = allCrossSections.getListOfBasisFctsByAxis(len(listOfDKlibsForKLDecomposition),\
                          listOfCrossSectionNamesWithArgs, listOfBasisFcts,  listOfNbOfBasisFcts)

    ###===================================================
    ### Ici, on fait le greedy sur les points CC dans la discrétisation fine
    ### (on peut proposer un autre échantillon)
    ###===================================================
    listOfPointsForGreedyAlgo = listOfTuckerGridNodes

    ###==============FinalInterpolationPoints for all sections =====================================
    listOfFinalEmpiricalInterpolationPoints = allCrossSections.getFinalEmpiricalInterpolationPoints(len(listOfDKlibsForKLDecomposition),\
                                listOfMaxNbFcts, listOfAllBasisFcts, listOfPointsForGreedyAlgo)

    ###=============Verify the empirical points with Tucker nodes and reference points======================================
    ### C'est facultatif pour verifier qu'on ne s'est pas trompé en rentrant les points dans GAB
    ### si jamais on s'est troompé, le code s'arrête avec un message d'erreur
    allCrossSections.verifyInterpolPointsInTuckerNodesAndReferenceGrid(
        dimension, listOfFinalEmpiricalInterpolationPoints,
        listOfTuckerGridNodes, referencePoints)

    ###===========Extract fromm FinalInterpolationPoints the interpolation point for each section========================================
    listOfInterpolationPoints = allCrossSections.getListOfInterpolationPointsForEachSection(len(listOfDKlibsForKLDecomposition),\
        listOfCrossSectionNamesWithArgs, listOfBasisFcts, listOfNbOfBasisFcts, listOfFinalEmpiricalInterpolationPoints)

    #####============END WITH GREEDY============================

    #####===================================================
    listOfBasisFcts, listOfNbOfBasisFcts, listOfKeptEigenValues = allCrossSections.getAllBasisFctsForAllSections(listOfCrossSectionNamesWithArgs, listOfDomainBorders, listOfNbPointsOnEachIntervalForFinalDiscretization,\
            listOfTuckerGridNodes_predefined, listOfMethodsIntegrals, listOfCrossSectionsForTuckerGridsFromDklibs)

    ###============WITH GREEDY============================
    ###===================================================
    listOfMaxNbFcts, listOfAllBasisFcts = allCrossSections.getListOfBasisFctsByAxis(dimension,\
                          listOfCrossSectionNamesWithArgs, listOfBasisFcts,  listOfNbOfBasisFcts)

    ###===================================================

    ###==============Creating the basis fucntions on the finest sample of points=====================================

    listOfPointsForGreedyAlgo = listOfTuckerGridNodes

    ###==============FinalInterpolationPoints for all sections =====================================
    listOfFinalEmpiricalInterpolationPoints = allCrossSections.getFinalEmpiricalInterpolationPoints(dimension,\
                                listOfMaxNbFcts, listOfAllBasisFcts, listOfPointsForGreedyAlgo)

    ###===========Extract fromm FinalInterpolationPoints the interpolation point for each section========================================
    listOfInterpolationPoints = allCrossSections.getListOfInterpolationPointsForEachSection(dimension,\
        listOfCrossSectionNamesWithArgs, listOfBasisFcts, listOfNbOfBasisFcts, listOfFinalEmpiricalInterpolationPoints)

    ###============END WITH GREEDY============================
    ###===================================================
    listOfTuckerDecomp = {}
    for csName in listOfCrossSectionNamesWithArgs:
        listOfTuckerDecomp[csName] = Tucker.Tucker(
            listOfBasisFcts[csName], listOfNbOfBasisFcts[csName],
            listOfRefCrossSectionsToDetermineCoeffs[csName],
            listOfInterpolationPoints[csName], csName,
            listOfKeptEigenValues[csName])