Matrix multiplication

Matrix multiplication - Mensajes

#1 Publicado: 29/11/2019 0:48:59
Alvaro

Alvaro

1.139 me gusta en 1.805 mensajes.

Grupo: 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) descargado 1551 vez(es).

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

Jean Giraud

983 me gusta en 6.866 mensajes.

Grupo: 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) descargado 1480 vez(es).
Analemma.sm (140,74 KiB) descargado 1517 vez(es).
Image Rotate RGB.sm (348,3 KiB) descargado 1475 vez(es).
#3 Publicado: 2/12/2019 13:20:00
MBe

MBe

2 me gusta en 21 mensajes.

Grupo: 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) descargado 1551 vez(es).

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) descargado 1515 vez(es).

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) descargado 1504 vez(es).
A 1 usuarios les gustó este mensaje
Alvaro 3/12/2019 7:12:00
#4 Publicado: 2/12/2019 16:11:18
Jean Giraud

Jean Giraud

983 me gusta en 6.866 mensajes.

Grupo: 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 Publicado: 3/12/2019 7:17:24
Alvaro

Alvaro

1.139 me gusta en 1.805 mensajes.

Grupo: 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) descargado 1551 vez(es).

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) descargado 1515 vez(es).

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) descargado 1504 vez(es).



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 Publicado: 3/12/2019 7:20:35
Alvaro

Alvaro

1.139 me gusta en 1.805 mensajes.

Grupo: 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 Publicado: 4/12/2019 7:19:33
Alvaro

Alvaro

1.139 me gusta en 1.805 mensajes.

Grupo: 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) descargado 1459 vez(es).

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

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

Jean Giraud

983 me gusta en 6.866 mensajes.

Grupo: 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) descargado 1259 vez(es).
#9 Publicado: 4/12/2019 12:30:11
MBe

MBe

2 me gusta en 21 mensajes.

Grupo: 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) descargado 1459 vez(es).

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) descargado 1467 vez(es).

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

Jean Giraud

983 me gusta en 6.866 mensajes.

Grupo: User

Wrote

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


Maybe I don't understand ...

length.PNG
  • Nuevos mensajes
  • Sin mensajes nuevos