Rank() division by zero

Discussion in 'Maple' started by Volker Braun, Aug 24, 2004.

  1. Volker Braun

    Volker Braun Guest

    Maple 9.01 (linux i386) cannot compute the rank of some zero matrices. Is
    there a fix available? Do the 9.02,9.03 updates also change the math or
    only the interface part? (I'm not root, so I cannot try myself).

    ----------------------------------------------------------
    |\^/| Maple 9 (IBM INTEL LINUX)
    .._|\| |/|_. Copyright (c) Maplesoft, a division of Waterloo Maple Inc. 2003
    \ MAPLE / All rights reserved. Maple is a trademark of
    Error, (in ln) numeric exception: division by zero
     
    Volker Braun, Aug 24, 2004
    #1
    1. Advertisements

  2. Volker Braun

    Edwin Clark Guest


    Still not fixed in 9.50. It seems that a similar problem will hold
    if either dimension of the Matrix is greater than 5.
    Classic Worksheet Interface, Maple 9.50, Windows, Apr 7 2004 Bui\
    ld ID 155251
    1, 6, "numeric exception: division by zero"


    2, 6, "numeric exception: division by zero"


    3, 6, "numeric exception: division by zero"


    4, 6, "numeric exception: division by zero"


    5, 6, "numeric exception: division by zero"


    6, 1, "numeric exception: division by zero"


    6, 2, "numeric exception: division by zero"


    6, 3, "numeric exception: division by zero"


    6, 4, "numeric exception: division by zero"


    6, 5, "numeric exception: division by zero"


    6, 6, "numeric exception: division by zero"
     
    Edwin Clark, Aug 24, 2004
    #2
    1. Advertisements

  3. That caused by line 29 in LinearAlgebra:-LA_Main:-Rank,

    if nops(v) = 0 and type(M,('Matrix')(integer)) and (24 < min(m,n) or 5 <
    max(m,n) and 64000 <
    max(m,n)^3*evalf(log10(LinearAlgebra:-LA_Main:-Norm(M,1,('conjugate') =
    ('true'))))) then

    In case max(m,n)>5, Maple is evaluating log10(Norm(M,1)) that causes an
    error because Norm(M,1) is 0.

    It can be fixed in many ways. One way is to patch
    LinearAlgebra:-LA_Main:-Rank. Another way is to define your own rank
    procedure including first checking if Norm(M,1) is 0 and if not, calling
    LinearAlgebra:-Rank. The simplest way, probably, is to define

    log10(0):=-infinity;

    before starting your calculations, and this error will be avoided.

    Alec Mihailovs
    http://math.tntech.edu/alec/
     
    Alec Mihailovs, Aug 24, 2004
    #3
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.