ConstantLinearDependence(R, F)¶
rdeefx.spad line 32 [edit on github]
R: Join(IntegralDomain, Comparable)
F: FunctionSpace R
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: (List Vector F, List(F -> F)) -> Record(transform: Matrix F, basis: List Vector F)
constant_subspace(b, ld)
returns [M
,nb
] such thatnb
is basis of subspace spanned byb
overF
consistng of vectors with constant coordinates.M
is the transformation matrix, i.e.mnb
=M
mb
wheremb
(mnb
respectively) is matrix havingb
(nb
respectively) as rows.
- linearDependenceOverConstants: (Vector F, List(F -> F)) -> Union(Vector F, failed)
linearlyDependenceOverConstants([v1, ..., vn], ld)
returns[c1, ..., cn]
ifc1*v1 + ... + cn*vn = 0
and not all theci
's
are 0, “failed” if thevi
's
are linearly independent over constants.
- linearlyDependentOverConstants?: (Vector F, List(F -> F)) -> Boolean
linearlyDependentOverConstants?([v1, ..., vn], ld)
returnstrue
if thevi
's
are linearly dependent over constants,false
otherwise.
- nullSpaceOverConstants: (Matrix F, List(F -> F)) -> List Vector F
nullSpaceOverConstants(A, ld)
returns basis of the homogeneous systemA*vc = 0
wherevc
is a vector of constants.
- particularSolutionOverConstants: (Matrix F, Vector F, List(F -> F)) -> Union(Vector F, failed)
solveLinearlyOverConstants([v1, ..., vn], u, ld)
returns[c1, ..., cn]
such thatc1*v1 + ... + cn*vn = u
, “failed” if no such rational numbersci
's
exist.
- particularSolutionOverConstants: (Vector F, F, List(F -> F)) -> Union(Vector F, failed)
particularSolutionOverConstants([v1, ..., vn], u, ld)
returns[c1, ..., cn]
such thatc1*v1 + ... + cn*vn = u
, “failed” if no such constants numbersci
's
exist.
- reducedSystem: (Matrix F, List(F -> F)) -> Matrix F
reducedSystem(A, ld)
returns a matrix of constantsB
such thatA x = 0
andB x = 0
have the same solutions over constants.
- reducedSystem: (Matrix F, Vector F, List(F -> F)) -> Record(mat: Matrix F, vec: Vector F)
reducedSystem(A, v, ld)
returns matrix of constantsB
and vector of constantsw
such thatA x = v
andB x = w
have the same solutions over constants.
- solveLinearOverConstants: (Matrix F, Vector F, List(F -> F)) -> Record(particular: Union(Vector F, failed), basis: List Vector F)
solveLinearOverConstants([v1, ..., vn], u, ld)
returns solution of the systemc1*v1 + ... + cn*vn = u
and and a basis of the associated homogeneous systemc1*v1 + ... + cn*vn = 0
- solveLinearOverConstants: (Vector F, F, List(F -> F)) -> Record(particular: Union(Vector F, failed), basis: List Vector F)
solveLinearOverConstants([v1, ..., vn], u, ld)
returns solution of the systemc1*v1 + ... + cn*vn = u
and and a basis of the associated homogeneous systemc1*v1 + ... + cn*vn = 0