I have noticed that we have inconsistent convention with
our solvers. In LinearSystemMatrixPackage we have
'particularSolution' and 'solve' which gives both
particular solution and basis of the null space.
However, in LinearDependence we have 'solveLinear'
which corresponds to 'particularSolution' in
LinearSystemMatrixPackage. I think we should
rename current 'solveLinear' to 'particularSolution'
and add new 'solveLinear' corresponding to 'solve'.
Also, LinearSystemMatrixPackage requires argument
to be a field, but it makes sense to have arguments
from IntegralDomain and solutions over field. This
is a frequent use case which would avoid conversion
on the user side.
Additionaly, I wonder if it make sense to add
interface specially designed for rings, where
we return solution as a vector of numerators
and denominator. For null space we can choose
basis having coordinates from the ring...
For PID-s we can find basis of null module (since
it is free), however this is somewhat different
than solving over quotient field.
BTW. Over some rings in principle we can use modular
algorithms which produce solutions in form of
vector of numeratos and denomonator, so such
interface could spare four useless convertions
(to quotient field for using LinearSystemMatrixPackage,
from quotient field to ring for using modular solver,
from ring to quotient field to present result
in form LinearSystemMatrixPackage promises,
and computation of common denominator when
user needs result from in the ring).
--
Waldek Hebisch
[email protected]
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.