[Python-Dev] PEP 465: A dedicated infix operator for matrix multiplication
Björn Lindqvist
bjourne at gmail.com
Wed Apr 9 17:25:25 CEST 2014
More information about the Python-Dev mailing list
Wed Apr 9 17:25:25 CEST 2014
- Previous message: [Python-Dev] PEP 465: A dedicated infix operator for matrix multiplication
- Next message: [Python-Dev] PEP 465: A dedicated infix operator for matrix multiplication
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
2014-04-08 14:52 GMT+02:00 Nathaniel Smith <njs at pobox.com>: > On Tue, Apr 8, 2014 at 9:58 AM, Björn Lindqvist <bjourne at gmail.com> wrote: >> 2014-04-07 3:41 GMT+02:00 Nathaniel Smith <njs at pobox.com>: >>> So, I guess as far as I'm concerned, this is ready to go. Feedback welcome: >>> http://legacy.python.org/dev/peps/pep-0465/ >> >> Couldn't you please have made your motivation example actually runnable? >> >> import numpy as np >> from numpy.linalg import inv, solve >> >> # Using dot function: >> S = np.dot((np.dot(H, beta) - r).T, >> np.dot(inv(np.dot(np.dot(H, V), H.T)), np.dot(H, beta) - r)) >> >> # Using dot method: >> S = (H.dot(beta) - r).T.dot(inv(H.dot(V).dot(H.T))).dot(H.dot(beta) - r) >> >> Don't keep your reader hanging! Tell us what the magical variables H, >> beta, r and V are. And why import solve when you aren't using it? >> Curious readers that aren't very good at matrix math, like me, should >> still be able to follow your logic. Even if it is just random data, >> it's better than nothing! > > There's a footnote that explains the math in more detail and links to > the real code this was adapted from. And solve is used further down in > the section. But running it is really what you want, just insert: > > beta = np.random.randn(10) > H = np.random.randn(2, 10) > r = np.random.randn(2) > V = np.random.randn(10, 10) > > Does that help? ;-) Thanks! Yes it does help. Then I can see that this expression: np.dot(H, beta) - r Evaluates to a vector. And a vector transposed is the vector itself. So the .T part in this expression np.dot(H, beta) - r).T is unnecessary, isn't it? -- mvh/best regards Björn Lindqvist
- Previous message: [Python-Dev] PEP 465: A dedicated infix operator for matrix multiplication
- Next message: [Python-Dev] PEP 465: A dedicated infix operator for matrix multiplication
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list