Message Boards Message Boards

Does anyone recognize this SVD shortcut as a known equation?

Posted 10 years ago

(* complete dictionary of words, one per row, number of rows is (alpha^word), using words of length "word" and an alphabet of "alpha" number of characters *)

alpha = 4; word = 3; dict =.;

dict = Partition[Flatten[Tuples[Reverse[IdentityMatrix[alpha]], word]], (alpha*word)];

PseudoInverse[dict] == ((Transpose[dict])*((alpha)^-(word - 1))) - ((word - 1)/(alpha^word)/word)

Output is True

An equation editor format is here:

http://www.youvan.com/Examples/Example_18._Rapid_PseudoInverse_for_Scroll_Matrices.html

POSTED BY: Douglas Youvan
2 Replies

I cannot read that formula for the pseudoinverse. It would be better to provide actual code.

As for how the pseudoinverse is computed, it uses SVD when the matrix is approximate numbers but not when exact. In the former case it should be probably cubic in the rows/columns(maybe quadratic in the larger of those and linear in the other). For exact numbers it's a different world due to intermediate growth of elements, and also need to use rationals.

If there was a question, I hope this helps to address it.

POSTED BY: Daniel Lichtblau

Answer: That's a hard way to take 12 column averages!

Doug

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

Group Abstract Group Abstract