Bug fix: The 1-norm of a vector

The following bug (among others) has been fixed in patchlevel 1 (for Windows). The EC1 patch is available from Maple (http://www.maplesoft.com/patches.html). Recently-purchased copies of Maple may already have the patch installed.

The norm function in the linalg package computes various norms of vectors and matrices. In particular, if v is a vector or list and p >= 1 , norm(v,p) should be the Minkowski norm for power p . Thus:

> with(linalg):

Warning, new definition for norm

Warning, new definition for trace

> v:= vector([v1, v2]): norm(v,3);

[Maple Math]

However, it doesn't work in Release 5 for p = 1 unless _Envsignum0 is set to 1.

> _Envsignum0:= '_Envsignum0';

[Maple Math]

> norm(v,1);

Error, (in norm) invalid vector norm, 1

> _Envsignum0:= 1: norm(v,1);

[Maple Math]

For convenience, I have written a replacement for norm which temporarily sets _Envsignum0 to 1, then calls the original norm procedure. _Envsignum0 is restored to its original value when this exits. To use this bug fix, after loading the linalg package execute the command

> readlib(fixnorm)();

At this point the norm command should work correctly.

> norm(v,1);

[Maple Math]

See also:

linalg , linalg[norm] , patchlevel 1 , signum

Maple Advisor Database R. Israel 1998