login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for #299 MachineFloat is not a FIeld revision 1 of 2

1 2
Editor:
Time: 2007/11/17 22:23:08 GMT-8
Note: Axiom is not very strict...

changed:
-
\begin{axiom}
F := MachineFloat
a: F := -0.12345
b: F := -1234567890.0
c: F := 1234567890.12345
(a+b)+c
a+(b+c)
F has Field
\end{axiom}
MachineFloat clearly doesn't form a (mathematical) field as the above code demonstrates (and we all know).

From greg Thu Jun 22 09:18:32 -0500 2006
From: greg
Date: Thu, 22 Jun 2006 09:18:32 -0500
Subject: DoubleFloat and Float too
Message-ID: <20060622091832-0500@wiki.axiom-developer.org>

\begin{axiom}
)cl all
F := Float
digits()
a: F := -0.12345
b: F := -1234567890.0
c: F := 1234567890.12345
(a+b)+c
a+(b+c)
F has Field
\end{axiom}

From kratt6 Thu Jun 22 09:39:26 -0500 2006
From: kratt6
Date: Thu, 22 Jun 2006 09:39:26 -0500
Subject: Axiom is not very strict...
Message-ID: <20060622093926-0500@wiki.axiom-developer.org>

Unfortunately, Axiom is not very strict with these things, although it should be, I believe. Some examples:

* in Axiom, every field has the attribute 'canonicalUnitNormal'.

In ATTREG.SPAD, we find::

  canonicalUnitNormal
    ++ \spad{canonicalUnitNormal} is true if we can choose a canonical
    ++ representative for each class of associate elements, that is
    ++ \spad{associates?(a,b)} returns true if and only if 
    ++ \spad{unitCanonical(a) = unitCanonical(b)}.

However, I suspect, this cannot be done in every field. 

* the domain 'EXPR' is a field, although it is (I think) meant to allow arbitrary functions to be expressed, for example $\chi(x<0)$, which does not have an inverse, I'd say.

In the documentation of MuPAD, they say that (their) expression domain is a field for "convenience". Maybe this is related to the above.

In any case, we certainly cannot decide whether an element is zero or not.


Martin


Submitted by : (unknown) at: 2007-11-17T22:23:08-08:00 (16 years ago)
Name :
Axiom Version :
Category : Severity : Status :
Optional subject :  
Optional comment :

axiom
F := MachineFloat
LatexWiki Image(1)
Type: Domain
axiom
a: F := -0.12345
LatexWiki Image(2)
Type: MachineFloat?
axiom
b: F := -1234567890.0
LatexWiki Image(3)
Type: MachineFloat?
axiom
c: F := 1234567890.12345
LatexWiki Image(4)
Type: MachineFloat?
axiom
(a+b)+c
LatexWiki Image(5)
Type: MachineFloat?
axiom
a+(b+c)
LatexWiki Image(6)
Type: MachineFloat?
axiom
F has Field
LatexWiki Image(7)
Type: Boolean

MachineFloat? clearly doesn't form a (mathematical) field as the above code demonstrates (and we all know).

DoubleFloat? and Float too --greg, Thu, 22 Jun 2006 09:18:32 -0500 reply
axiom
)cl all All user variables and function definitions have been cleared. F := Float
LatexWiki Image(8)
Type: Domain
axiom
digits()
LatexWiki Image(9)
Type: PositiveInteger?
axiom
a: F := -0.12345
LatexWiki Image(10)
Type: Float
axiom
b: F := -1234567890.0
LatexWiki Image(11)
Type: Float
axiom
c: F := 1234567890.12345
LatexWiki Image(12)
Type: Float
axiom
(a+b)+c
LatexWiki Image(13)
Type: Float
axiom
a+(b+c)
LatexWiki Image(14)
Type: Float
axiom
F has Field
LatexWiki Image(15)
Type: Boolean

Axiom is not very strict... --kratt6, Thu, 22 Jun 2006 09:39:26 -0500 reply
Unfortunately, Axiom is not very strict with these things, although it should be, I believe. Some examples:

  • in Axiom, every field has the attribute canonicalUnitNormal.

In ATTREG.SPAD, we find:

  canonicalUnitNormal
    ++ \spad{canonicalUnitNormal} is true if we can choose a canonical
    ++ representative for each class of associate elements, that is
    ++ \spad{associates?(a,b)} returns true if and only if 
    ++ \spad{unitCanonical(a) = unitCanonical(b)}.

However, I suspect, this cannot be done in every field.

  • the domain EXPR is a field, although it is (I think) meant to allow arbitrary functions to be expressed, for example LatexWiki Image, which does not have an inverse, I'd say.

In the documentation of MuPAD?, they say that (their) expression domain is a field for "convenience". Maybe this is related to the above.

In any case, we certainly cannot decide whether an element is zero or not.

Martin