rdeefx.spad line 32 [edit on github]
ConstantLinearDependence(R, F)
supports solving linear systems with coefficients in Expression(R)
over constants. The parameter ld
to each function is a list of derivations to use. By definition element f
from Expression(R)
is a constant if for each d
in ld
we have d(f) = 0
. We assume that inputs are normalized in such a way that field of constants is generated by constant kernels.
constant_subspace(b, ld)
returns [M
, nb
] such that nb
is basis of subspace spanned by b
over F
consistng of vectors with constant coordinates. M
is the transformation matrix, i.e. mnb
= M
mb
where mb
(mnb
respectively) is matrix having b
(nb
respectively) as rows.
linearlyDependenceOverConstants([v1, ..., vn], ld)
returns [c1, ..., cn]
if c1*v1 + ... + cn*vn = 0
and not all the ci
's
are 0, "failed" if the vi
's
are linearly independent over constants.
linearlyDependentOverConstants?([v1, ..., vn], ld)
returns true
if the vi
's
are linearly dependent over constants, false
otherwise.
nullSpaceOverConstants(A, ld)
returns basis of the homogeneous system A*vc = 0
where vc
is a vector of constants.
solveLinearlyOverConstants([v1, ..., vn], u, ld)
returns [c1, ..., cn]
such that c1*v1 + ... + cn*vn = u
, "failed" if no such rational numbers ci
's
exist.
particularSolutionOverConstants([v1, ..., vn], u, ld)
returns [c1, ..., cn]
such that c1*v1 + ... + cn*vn = u
, "failed" if no such constants numbers ci
's
exist.
reducedSystem(A, ld)
returns a matrix of constants B
such that A x = 0
and B x = 0
have the same solutions over constants.
reducedSystem(A, v, ld)
returns matrix of constants B
and vector of constants w
such that A x = v
and B x = w
have the same solutions over constants.
solveLinearOverConstants([v1, ..., vn], u, ld)
returns solution of the system c1*v1 + ... + cn*vn = u
and and a basis of the associated homogeneous system c1*v1 + ... + cn*vn = 0
solveLinearOverConstants([v1, ..., vn], u, ld)
returns solution of the system c1*v1 + ... + cn*vn = u
and and a basis of the associated homogeneous system c1*v1 + ... + cn*vn = 0