Group Abstract Group Abstract

Message Boards Message Boards

Matrix power via Frobenius decomposition in O(nlogn logK + n^3)

Posted 1 month ago

Attachments:
5 Replies

This is beautiful. I may need to use it. I have a couple of observations.

(1) "The Frobenius decomposition itself is a one-time precomputation costing O(n^3) via polynomial Smith reduction..." This is quite correct, but I have my own reservations about the overall speed as dimension grows. I need to implement a likely faster method for FrobeniusDecomposition.

(2) There is some support in the Algebra context for fast coefficient-list-based polynomial arithmetic (adding, multiplying, and the like). Some is shown for example here.

Also some here on p. 10.

A variant, not using the Algebra functions, is here. It might be less reliable though since it uses Fourier and that may give issues if precision requirements are insufficiently gauged.

https://www.mathematica-journal.com/2009/01/12/on-some-applications-of-the-fast-discrete-fourier-transform/

Also one can use ListConvolve directly to multiply polynomials expressed as coefficient lists.

I am fairly certain there is a more complete reference, likely by Paul Abbott in one of his TMJ columns. But I cannot seem to locate it. In any case, if you need some more examples just let me know and I will see what I can locate.

POSTED BY: Daniel Lichtblau

Thanks Daniel! I’m really happy to hear you might find it useful. It’s awesome seeing this work get some traction, and getting feedback from a Wolfram kernel dev is a huge plus for me. I’m actually working on the optimizations you suggested right now. Since I'm currently looking for my next career opportunity, I have the time to really dive into this ^^ I plan to test out and compare the different implementations you mentioned (exploring the Algebra context for the fast arithmetic and using ListConvolve). On your first point, I completely agree about the O(n^3) bottleneck with the Frobenius decomposition. Finding a faster method(implementation) for higher dimensions should make this algorithm more practical. Are you planning to tackle that optimization on your end, or would you prefer I look into it? If you would like me to work on it, it would be very useful if you could share some of the internal tests or benchmarks you use for this method on your side. Thanks for the links and references, they give me a really good starting point to work from. I would honestly love to do this kind of work professionally. If there are ever any openings at Wolfram that might be a good fit, I’d jump at the chance to collaborate directly within the team. Thanks again

I do not remember for certain what references I was going to use for improving efficiency of FrobeniusDecomposition. But I believe it was one or both of these.

A. Ballester-Bolinches, R. Esteban-Romero and V. Perez-Calabuig. A note on the rational canonical form of an endomorphism of a vector space of finite dimension. Operators and Matrices 12(3):823-836, 2018. DOI: 10.7513/oam-2018-12-49 https://files.ele-math.com/articles/oam-12-49.pdf

M. Geck. On Jacob's construction of the rational canonical form of a matrix. Electronic Journal of Linear Algebra 36:177-182, 2020. DOI: 10.13001/ela.2020.5055 file:///home/danl/Downloads/tsatsom,+vol36_pp177-182-1.pdf

Obviously these do not improve the operation count complexity beyond O(n^3) but they likely offer a serious improvement over what we do at present. It's something I will get to, eventually.

I have responded to the rest off-line.

POSTED BY: Daniel Lichtblau

Hi Daniel, I finally decided to go with this paper: Arne Storjohann. 1998. An O(n3) algorithm for the Frobenius normal form. In Proceedings of the 1998 international symposium on Symbolic and algebraic computation (ISSAC '98). Association for Computing Machinery, New York, NY, USA, 101–105. https://doi.org/10.1145/281508.281570

By using this, I managed to improve FrobeniusDecomposition so it handles larger matrices much better ^^ Hopefully, this will be useful for you..

Thanks again!

Attachments:

enter image description here -- you have earned Featured Contributor Badge enter image description here Your exceptional post has been selected for our editorial column Staff Picks http://wolfr.am/StaffPicks and Your Profile is now distinguished by a Featured Contributor Badge and is displayed on the Featured Contributor Board. Thank you!

POSTED BY: EDITORIAL BOARD
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard