Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 324a79d7 authored by hhakim's avatar hhakim
Browse files

Implement pyfaust.FaustFactory.fact_palm4msa_fgft() wrapper to Palm4MSAFFT...

Implement pyfaust.FaustFactory.fact_palm4msa_fgft() wrapper to Palm4MSAFFT (aka FGFT) and a unit test (in test_FaustPy.py) to validate equivalency to C++ core.

More details:
- The implementation factorizes the previous code from basis Palm4MSA because it's very similar: e.g. FaustFact.h(pp) now has a fact_palm4MSA_gen() function which is called from fact_palm4MSAFFT() and fact_palm4MSA() to do their work generically. Likewise in FaustCorePy.pyx there are these 3 functions.
- A trick is used in FaustFact.hpp/FaustCorePy.pyx to store the return arguments lambda and D diagonal in the same buffer (it's handy to handle generically the Palm4MSA and Palm4MSAFFT algos).
- The equivalence test is only for real matrices but complex matrices (if it ever applies) should work also (not for GivensFGFT but Palm4MSAFFT -- that is the FaustFactory.fact_palm4msa_fgft() wrapper).
- Add a Palm4MSAFFT::get_D() overload for optimization reason (directly retrieving the diagonal into a buffer -- not the full matrix is transfered to python memory world).
- Add ctors in ParamsPalm4MSAFFT for a similar reason: transfer init_D diagonal only as a contiguous buffer (not a whole numpy matrix).
parent 06dae648
Branches
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment