[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] [FunctionalMapping]
From: |
Bill Page |
Subject: |
[Axiom-developer] [FunctionalMapping] |
Date: |
Fri, 04 Mar 2005 14:54:49 -0600 |
Changes http://page.axiom-developer.org/zope/mathaction/FunctionalMapping/diff
--
++added:
This simple package defines an function g which operates on some
function with domain from set and co-domain from Ring and returns
the "square" of that function.
??changed:
-Test1(A:SetCategory):_
- MPcat == MPdef where
- B ==> Integer
-
- MPcat == with
- g:(A->B) -> (A ->B)
- MPdef == add
-
- MappingPackageInternalHacks3(A, B, B)
-
- fab: A -> B
- sq: B -> B
-
- sq(x)== (x*x)$B
- g(fab) == comp(sq,fab,#1)
Test1(A:SetCategory,B:Ring):_
with g:(A->B) -> (A ->B) == add
MappingPackage3(A, B, B)
-- which provides the operator * for functional composition
sq(x:B):B == (x*x)$B
-- then all we need is multiplication from some Ring
g(f:A->B) == sq*f
++added:
The call to 'MapplingPackage3' to construct a functional composition
of the right signature seems quite novel to me. I learned this from
reading MappingPackage3 in 'source/algebra/mappkg.spad'
Here we apply g to a function over the Ring Integer
??changed:
-p(x:INT):INT == x-1
-p 4
pINT(x:INT):INT == x-1
qINT := g pINT
qINT 5
??changed:
-
This own is over the Ring Float
??changed:
-q := g p
-q 4
pFLOAT(x:FLOAT):FLOAT == x-1
qFLOAT := g pFLOAT
qFLOAT(5.1)
--
forwarded from http://page.axiom-developer.org/zope/mathaction/address@hidden