Re: A question of matrix multiply, who can solve it?
- To: mathgroup at smc.vnet.net
- Subject: [mg25719] Re: [mg25671] A question of matrix multiply, who can solve it?
- From: BobHanlon at aol.com
- Date: Thu, 19 Oct 2000 04:35:42 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
In a message dated 10/18/2000 4:02:59 AM, chenjs at iopp.ccnu.edu.cn writes: >As a beginning user, I find a mistake of Mathematic 4.0(/3.0 for student). > >That is about the multipy method of matrix. > >For example, as I input the two matrices: > >A={a[1, 1], a[1, 2], a[1, 3], a[1, 4], a[1, 5]} >{a[2, 1], a[2, 2], a[2, 3], a[2, 4], a[2, 5]} >{a[3, 1], a[3, 2], a[3, 3], a[3, 4], a[3, 5]} >{a[4, 1], a[4, 2], a[4, 3], a[4, 4], a[4, 5]} >{a[5, 1], a[5, 2], a[5, 3], a[5, 4], a[5, 5]}, >B={{b[1, 1], b[1, 2], b[1, 3], b[1, 4], b[1, 5]}, > {b[2, 1], b[2, 2], b[2, 3], b[2, 4], b[2, 5]}, > {b[3, 1], b[3, 2], b[3, 3], b[3, 4], b[3, 5]}, > {b[4, 1], b[4, 2], b[4, 3], b[4, 4], b[4, 5]}, > {b[5, 1], b[5, 2], b[5, 3], b[5, 4], b[5, 5]}}, > >then calculate the result of A B. The mathematics gives the following >result: > >A B={{a[1, 1] b[1, 1], a[1, 2] b[1, 2], a[1, 3] b[1, 3], > a[1, 4] b[1, 4], a[1, 5] b[1, 5]}, > {a[2, 1] b[2, 1], a[2, 2] b[2, 2], a[2, 3] b[2, 3], > a[2, 4] b[2, 4], a[2, 5] b[2, 5]}, > {a[3, 1] b[3, 1], a[3, 2] b[3, 2], a[3, 3] b[3, 3], > a[3, 4] b[3, 4], a[3, 5] b[3, 5]}, > {a[4, 1] b[4, 1], a[4, 2] b[4, 2], a[4, 3] b[4, 3], > a[4, 4] b[4, 4], a[4, 5] b[4, 5]}, > {a[5, 1] b[5, 1], a[5, 2] b[5, 2], a[5, 3] b[5, 3], > a[5, 4] b[5, 4], a[5, 5] b[5, 5]}}. > >As all knows, this is not correct. I think it is terrible. > >Do you think so? How can improve it? > >Looking forward to receiving the reply. n = 2; A = Array[a, {n, n}]; B = Array[b, {n, n}]; A*B {{a[1, 1]*b[1, 1], a[1, 2]*b[1, 2]}, {a[2, 1]*b[2, 1], a[2, 2]*b[2, 2]}} A*B does not mean what you think. It means that each of the corresponding elements are multiplied, that is, the result that you got. You need the dot product, A.B A.B {{a[1, 1]*b[1, 1] + a[1, 2]*b[2, 1], a[1, 1]*b[1, 2] + a[1, 2]*b[2, 2]}, {a[2, 1]*b[1, 1] + a[2, 2]*b[2, 1], a[2, 1]*b[1, 2] + a[2, 2]*b[2, 2]}} Dot[A, B] == A.B True Bob Hanlon