Matrix multiplication

Matrix multiplication - Messages

#1 Posted: 11/29/2019 12:48:59 AM
Alvaro Diaz Falconi

Alvaro Diaz Falconi

992 likes in 1674 posts.

Group: User

Hi. Something is wrong here, in both MProd functions, but can't figure what is it.
Thanks in advance.

mprod bug.sm (12 KiB) downloaded 100 time(s).

Alvaro.
#2 Posted: 11/30/2019 10:06:11 PM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

Wrote

Something is wrong here, in both MProd functions, but can't figure what is it.


Hola, Alvaro.
Not sure what you are attempting to do
1. Multiply a two cols matrix by a single number [2D rotation].
2. Multiply a 3 cols matrix by a 3x3 matrix [3D rotation]
3D rotation from Smath 3D [3 cols] creator.
Both exemplified Annalema.
3. RGB nxm matrix rotation [example Venturi RGB]
4. Square matrix [nxn] rotation [example Hyper-Surface]
Thanks Alvaro ... Jean

Image Rotate Matrix.sm (41 KiB) downloaded 71 time(s).
Analemma.sm (140 KiB) downloaded 52 time(s).
Image Rotate RGB.sm (348 KiB) downloaded 48 time(s).
#3 Posted: 12/2/2019 1:20:00 PM
MBe

MBe

2 likes in 21 posts.

Group: User

Wrote

Hi. Something is wrong here, in both MProd functions, but can't figure what is it.
Thanks in advance.

mprod bug.sm (12 KiB) downloaded 100 time(s).

Alvaro.



Hello Alvaro, I can't explain the problem, but I see that it originates from the way arguments are passed to MDot.
See attachment, writing arguments directly into MDot gives correct result, passing through row() and col() gives an "a not defined" error.
It seems that using row() and/or col() a numerical evaluation is triggered, even if the region is marked as "Symbolic".
Sorry, I can't give a better explanation.

Marco
mprod_bug_MBe.sm (16 KiB) downloaded 61 time(s).

P.S.: for matrix multiplication also index notation can be used, which works pretty nice in Smath.
I attach here an example, just in case it could be useful to somebody.
I wonder if Einstein notation could be implemented in Smath, so that summation symbols could be implicitly applied on mute indexes... maybe this is aking too much...
IndexNotation.sm (11 KiB) downloaded 69 time(s).
1 users liked this post
Alvaro Diaz Falconi 12/3/2019 7:12:00 AM
#4 Posted: 12/2/2019 4:11:18 PM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

Wrote

Hello Alvaro, I can't explain the problem, but I see that it originates from the way arguments are passed to MDot.
See attachment, writing arguments directly into MDot gives correct result, passing through row() and col() gives an "a not defined" error.
It seems that using row() and/or col() a numerical evaluation is triggered, even if the region is marked as "Symbolic".
Sorry, I can't give a better explanation.


BTW: Thanks Marco for the Scilab/Smath Vector Intersection code.
I encountered many instances row(,,) col(,,)
that must be assigned as an algo
My understanding is like this:
1. Assume Alvaro has an 'n col vector A'
2. He wants to multiply any col or all [even in mixed order]
3. Multiplication by a number is immediate.
4. Multiplication by 'L length vector' needs a vectorize algo.
In the soon/next posted Rainbow it is ± what we are doing.
Instead of multiplying, we linterp.
Jean
#5 Posted: 12/3/2019 7:17:24 AM
Alvaro Diaz Falconi

Alvaro Diaz Falconi

992 likes in 1674 posts.

Group: User

Wrote

Wrote

Hi. Something is wrong here, in both MProd functions, but can't figure what is it.
Thanks in advance.

mprod bug.sm (12 KiB) downloaded 100 time(s).

Alvaro.



Hello Alvaro, I can't explain the problem, but I see that it originates from the way arguments are passed to MDot.
See attachment, writing arguments directly into MDot gives correct result, passing through row() and col() gives an "a not defined" error.
It seems that using row() and/or col() a numerical evaluation is triggered, even if the region is marked as "Symbolic".
Sorry, I can't give a better explanation.

Marco
mprod_bug_MBe.sm (16 KiB) downloaded 61 time(s).

P.S.: for matrix multiplication also index notation can be used, which works pretty nice in Smath.
I attach here an example, just in case it could be useful to somebody.
I wonder if Einstein notation could be implemented in Smath, so that summation symbols could be implicitly applied on mute indexes... maybe this is aking too much...
IndexNotation.sm (11 KiB) downloaded 69 time(s).



Hi Marco. Thanks very much for your appointments. I go to take them in consideration for see the best way to extend dot product for some simple manipulations with symbolic algebra and taking the conjugate transpose instead the second argument.

Best regards.
Alvaro.
#6 Posted: 12/3/2019 7:20:35 AM
Alvaro Diaz Falconi

Alvaro Diaz Falconi

992 likes in 1674 posts.

Group: User

Wrote

Wrote

Something is wrong here, in both MProd functions, but can't figure what is it.


Hola, Alvaro.
Not sure what you are attempting to do
...



Hi Jean. Just make very simple math, checking how to write the elemental things in SMath. If not, how to write something more complex?

Best regards.
Alvaro.
#7 Posted: 12/4/2019 7:19:33 AM
Alvaro Diaz Falconi

Alvaro Diaz Falconi

992 likes in 1674 posts.

Group: User

Wrote


It seems that using row() and/or col() a numerical evaluation is triggered, even if the region is marked as "Symbolic".
Sorry, I can't give a better explanation.

Marco



Hi. Enogh to know that problem it's in row and col functions. Even I can't write the code for them, seems to be solved the issue rewriting length function.

mprod_workaround.sm (7 KiB) downloaded 47 time(s).

Same solution it's used for Lagrange equations with vectors.

Best regards.
Alvaro.
#8 Posted: 12/4/2019 10:34:09 AM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

Wrote

Even I can't write the code for them,


Alvaro ... is that what you are looking for ?

Mprod.PNG

Utilities Matrix Product[X,Y].sm (16 KiB) downloaded 49 time(s).
#9 Posted: 12/4/2019 12:30:11 PM
MBe

MBe

2 likes in 21 posts.

Group: User

Wrote

Wrote


It seems that using row() and/or col() a numerical evaluation is triggered, even if the region is marked as "Symbolic".
Sorry, I can't give a better explanation.

Marco



Hi. Enogh to know that problem it's in row and col functions. Even I can't write the code for them, seems to be solved the issue rewriting length function.

mprod_workaround.sm (7 KiB) downloaded 47 time(s).

Same solution it's used for Lagrange equations with vectors.

Best regards.
Alvaro.



Hello everybody. More on the strange behaviour of function "lenght()". See attached.
Anybody can explain why lenght() does not accept the evaluation operator?
Thanks
Marco

Lenght_MBe.sm (8 KiB) downloaded 36 time(s).

P.S.: Sorry, my mistake. Do not consider this post. I just mispelled the function...
#10 Posted: 12/4/2019 3:00:26 PM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

Wrote

Anybody can explain why lenght() does not accept the evaluation operator?


Maybe I don't understand ...

length.PNG
  • New Posts New Posts
  • No New Posts No New Posts