[Scilab-users] det([]) changed in Scilab 6.0

classic Classic list List threaded Threaded
3 messages Options
Samuel GOUGEON Samuel GOUGEON
Reply | Threaded
Open this post in threaded view
|

[Scilab-users] det([]) changed in Scilab 6.0

Hello,

While updating "help empty" after changes in Scilab 6 about inequality comparisons with [],
i have found that det([]) is changed:
  • 5.5: det([]) => 1
  • 6.0: det([]) => 0

I don't know if this modification is intentional.
I am wondering about the added value of this change:

  • If we consider the property for square matrices A & B:
           det(A*B) = det(A)*det(B)
       (1)
    setting det([])=0 better complies with it. Indeed, since []*B => [],
    we have now det([]*B) = det([])*det(B) = 0*k = 0 = det([])  : OK

  • In another hand, we should also have :
                det(1/A) = 1/det(A)     (2)
    Since inv([]) => [], setting det([]) => 1  complied with (2),
    while det([]) => 0  no longer does it.

Setting det([]) => [] would comply with both (1) and (2).

Let's note that Octave returns 1.

So, shall we restore det([]) ==1, or keep 0, or set it to [] ?

What's the improvement in changing det([]) to 0 ?

Regards
Samuel


_______________________________________________
users mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users
Rafael Guerra Rafael Guerra
Reply | Threaded
Open this post in threaded view
|

Re: det([]) changed in Scilab 6.0

Hi Samuel,

 

I am not a mathematician but I suspect that determinant rules you have enunciated do not hold for empty matrices.

 

Fyi, the following Wikipedia’s entry states that det([]) should be 1 (see ‘Empty matrices’ paragraph):

https://en.wikipedia.org/wiki/Matrix_(mathematics)#Empty_matrices

 

Regards,

Rafael

 

From: users [mailto:[hidden email]] On Behalf Of Samuel Gougeon
Sent: Monday, May 21, 2018 2:10 PM
To: International users mailing list for Scilab. <[hidden email]>
Subject: [Scilab-users] det([]) changed in Scilab 6.0

 

Hello,

While updating "help empty" after changes in Scilab 6 about inequality comparisons with [],
i have found that det([]) is changed:

  • 5.5: det([]) => 1
  • 6.0: det([]) => 0

I don't know if this modification is intentional.
I am wondering about the added value of this change:

  • If we consider the property for square matrices A & B:
           det(A*B) = det(A)*det(B)
       (1)
    setting det([])=0 better complies with it. Indeed, since []*B => [],
    we have now det([]*B) = det([])*det(B) = 0*k = 0 = det([])  : OK
  • In another hand, we should also have :
               
    det(1/A) = 1/det(A)     (2)
    Since inv([]) => [], setting det([]) => 1  complied with (2),
    while det([]) => 0  no longer does it.

Setting det([]) => [] would comply with both (1) and (2).

Let's note that Octave returns 1.

So, shall we restore det([]) ==1, or keep 0, or set it to [] ?

What's the improvement in changing det([]) to 0 ?

Regards
Samuel


_______________________________________________
users mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users
Samuel GOUGEON Samuel GOUGEON
Reply | Threaded
Open this post in threaded view
|

Re: det([]) changed in Scilab 6.0

Le 21/05/2018 à 20:25, Rafael Guerra a écrit :

Hi Samuel,

 

I am not a mathematician but I suspect that determinant rules you have enunciated do not hold for empty matrices.

 

Fyi, the following Wikipedia’s entry states that det([]) should be 1 (see ‘Empty matrices’ paragraph):

https://en.wikipedia.org/wiki/Matrix_(mathematics)#Empty_matrices


Thanks Rafael!

This bug is then reported as the bug 15580.

Regards
Samuel


_______________________________________________
users mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users