/usr/share/axiom-20170501/src/algebra/PID.spad is in axiom-source 20170501-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | )abbrev category PID PrincipalIdealDomain
++ Description:
++ The category of constructive principal ideal domains, that is,
++ where a single generator can be constructively found for
++ any ideal given by a finite set of generators.
++ Note that this constructive definition only implies that
++ finitely generated ideals are principal. It is not clear
++ what we would mean by an infinitely generated ideal.
PrincipalIdealDomain() : Category == SIG where
SIG ==> GcdDomain with
principalIdeal : List % -> Record(coef:List %,generator:%)
++ principalIdeal([f1,...,fn]) returns a record whose
++ generator component is a generator of the ideal
++ generated by \spad{[f1,...,fn]} whose coef component satisfies
++ \spad{generator = sum (input.i * coef.i)}
expressIdealMember : (List %,%) -> Union(List %,"failed")
++ expressIdealMember([f1,...,fn],h) returns a representation
++ of h as a linear combination of the fi or "failed" if h
++ is not in the ideal generated by the fi.
|