Ralf Hemmecke wrote:
> remove__denoms : (VI, PPA, PPA, Integer) -> PPA
> ++ remove__denoms(offsets, nums, denoms, p) removes common
> ++ denominator from vectors of rational functions. Several
> ++ vectors of rational functions are packed into nums
> ++ (storing numerators) and dens (storing denomiantors)
> ++ Vector i starts at position offsets(i). Computations
> ++ are done modulo p.
>
> Rational functions? All I can see is a PPA (PrimitiveArray U32Vector).
> Where is the rational function type?
This package provides relatively low-level operations which are
"generic" in a sense that different high-level views lead to the
same low-level operations. I would appreciate any ideas how to
make types more specific but allow reuse and retain efficiency
(this code package is performance critical for modular computations).
> Where is the description of the way you pack rational functions?
>
Rational functions are _not_ packed. Each rational function is
stored as a pair of numerator and denominator. Both numerator
and denominator use type U32Vector and store all coefficient
of polynomial (coefficient number i is stored in element number i).
As written in the description numerators and denominators are
stored in two parallel arrays: nums(j) give you numerator of
function number j, dens(j) gives you denominator.
Vectors of rational functions are packed. Packing is done in
obvous way: we store several vectors one after another.
The offsets tells you where each vector starts (this simultaneously
tells you where previous vector ended).
--
Waldek Hebisch
[email protected]
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/fricas-devel?hl=en.