yhtang / FunFact

Tensor decomposition with arbitrary expressions: inner, outer, elementwise operators; nonlinear transformations; and more.
Other
56 stars 4 forks source link

JOSS review: examples and numerical validation #242

Open fabian-sp opened 2 years ago

fabian-sp commented 2 years ago

This is related to the review of FunFact for JOSS (see https://github.com/openjournals/joss-reviews/issues/4502)

I understand that your package can do (or approximate) arbitrary tensor decompositions with optimization. As the underlying properties of these optimization problems (convexity, uniqueness of solutions etc.) are not fully clear to me, I think it would be very nice to have some certainty that this approach works for standard decomposition such as SVD or the Tucker decomposition (i.e. that the optimizer converges to a reasonably good decomposition).

Moreover, for these special cases one could compare the result of FunFact with standard libraries for SVD or the libraries you mention for specialized tensor decomposition.

I see that this example (https://funfact.readthedocs.io/en/latest/examples/matrix-approximation/) already goes into this direction, but I think it might be nice to have a more numerical comparison of the decomposed factors. I haven't found any unit tests doing this, but maybe I just did not find them :)

Thanks a lot!

yhtang commented 2 years ago

Thanks for pointing this out. We can set up some self-consistency tests to check if FunFact can find solutions close enough to those found by 'standard solvers' for convex problems such as SVD and eigendecomposition.

fabian-sp commented 2 years ago

Yes, I think this would be a great addition to the package!