123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- module TayFront;
- %*****************************************************************
- %
- % User interface
- %
- %*****************************************************************
- exports taylorcombine, taylororiginal, taylorprintorder,
- taylorseriesp, taylortemplate, taylortostandard;
- imports
- % from the REDUCE kernel:
- eqcar, mk!*sq, mvar, numr, prepsq, simp!*, typerr,
- % from the header module:
- Taylor!-kernel!-sq!-p, TayOrig, TayTemplate, TayTpElOrder,
- TayTpElPoint, TayTpElVars,
- % from module Tayintro:
- Taylor!-error,
- % from module Taysimp:
- taysimpsq;
- symbolic procedure taylorseriesp u;
- (Taylor!-kernel!-sq!-p sq)
- where sq := simp!* u;
- symbolic procedure taylorcombine u;
- mk!*sq taysimpsq simp!* u;
- symbolic procedure taylortostandard u;
- (prepsq if not eqcar (u, '!*sq) then simp!* u else cadr u)
- where convert!-Taylor!* := t;
- symbolic procedure taylororiginal u;
- (if not Taylor!-kernel!-sq!-p sq
- then typerr (u, "Taylor kernel")
- else (if TayOrig tay then mk!*sq TayOrig tay
- else Taylor!-error ('no!-original, 'taylororiginal))
- where tay := mvar numr sq)
- where sq := simp!* u;
- symbolic procedure taylortemplate u;
- (if not Taylor!-kernel!-sq!-p sq
- then typerr (u, "Taylor kernel")
- else 'list . for each quartet in TayTemplate mvar numr sq collect
- {'list,
- if null cdr TayTpElVars quartet
- then car TayTpElVars quartet
- else 'list . TayTpElVars quartet,
- TayTpElPoint quartet,
- TayTpElOrder quartet})
- where sq := simp!* u;
- flag ('(taylorseriesp taylorcombine taylortostandard taylororiginal
- taylortemplate),
- 'opfn);
- flag ('(taylorseriesp), 'boolean);
- endmodule;
- end;
|