Matrix multiplication

Matrix multiplication - Messaggi

#1 Pubblicato: 29/11/2019 00:48:59
Alvaro

Alvaro

1.139 apprezzamenti in 1.805 post.

Gruppo: User

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

mprod bug.sm (12,4 KiB) scaricato 1556 volta(e).

Alvaro.
#2 Pubblicato: 30/11/2019 22:06:11
Jean Giraud

Jean Giraud

983 apprezzamenti in 6.866 post.

Gruppo: 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,7 KiB) scaricato 1485 volta(e).
Analemma.sm (140,74 KiB) scaricato 1521 volta(e).
Image Rotate RGB.sm (348,3 KiB) scaricato 1480 volta(e).
#3 Pubblicato: 02/12/2019 13:20:00
MBe

MBe

2 apprezzamenti in 21 post.

Gruppo: 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,4 KiB) scaricato 1556 volta(e).

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,3 KiB) scaricato 1520 volta(e).

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,99 KiB) scaricato 1510 volta(e).
1 utenti hanno apprezzato questo post
Alvaro 03/12/2019 07:12:00
#4 Pubblicato: 02/12/2019 16:11:18
Jean Giraud

Jean Giraud

983 apprezzamenti in 6.866 post.

Gruppo: 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 Pubblicato: 03/12/2019 07:17:24
Alvaro

Alvaro

1.139 apprezzamenti in 1.805 post.

Gruppo: 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,4 KiB) scaricato 1556 volta(e).

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,3 KiB) scaricato 1520 volta(e).

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,99 KiB) scaricato 1510 volta(e).



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 Pubblicato: 03/12/2019 07:20:35
Alvaro

Alvaro

1.139 apprezzamenti in 1.805 post.

Gruppo: 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 Pubblicato: 04/12/2019 07:19:33
Alvaro

Alvaro

1.139 apprezzamenti in 1.805 post.

Gruppo: 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,99 KiB) scaricato 1464 volta(e).

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

Best regards.
Alvaro.
#8 Pubblicato: 04/12/2019 10:34:09
Jean Giraud

Jean Giraud

983 apprezzamenti in 6.866 post.

Gruppo: 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,63 KiB) scaricato 1263 volta(e).
#9 Pubblicato: 04/12/2019 12:30:11
MBe

MBe

2 apprezzamenti in 21 post.

Gruppo: 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,99 KiB) scaricato 1464 volta(e).

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,94 KiB) scaricato 1472 volta(e).

P.S.: Sorry, my mistake. Do not consider this post. I just mispelled the function...
#10 Pubblicato: 04/12/2019 15:00:26
Jean Giraud

Jean Giraud

983 apprezzamenti in 6.866 post.

Gruppo: User

Wrote

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


Maybe I don't understand ...

length.PNG
  • Nuovi post
  • Nessun nuovo post