Next: resol0
Up: Macros in libraries
Previous: res-kernel-image
[M d] res-solv [c' r]
M : matrix, d, c' : vectors, r : scalar(integer)
c:=c'/r is a solutions of Sum[c_i M_i] = d where c_i is the i-th element
of the vector c and M_i is the i-th row vector of M.
If there is no solution, then res-solv returns null.
Note that M and d are not treated as an element of the homogenized Weyl
algebra. If M or d contains the homogenization variable h, it automatically
set to 1. If you need to use h, use the command res-solv-h
[M d rng] res-solv [c' r]
rng is a ring object.
res-solv extracts variables names from rng, but defines a new ring.
Example 1: [(x,y) ring_of_differential_operators [[(x) -1 (Dx) 1]] weight_vector 0]
define_ring
[ [ [(x Dx + 2).] [ (Dx (x Dx + 3) - (x Dx + 2) (x Dx -4)).]] [(1).]]
res-solv ::
Example 2:
[ [ (x Dx + 2). (Dx (x Dx + 3) - (x Dx + 2) (x Dx -4)).] (1).]
res-solv ::
Example 3:
[ [[(x Dx + 2). (0).]
[(Dx+3). (x^3).]
[(3). (x).]
[(Dx (x Dx + 3) - (x Dx + 2) (x Dx -4)). (0).]] [(1). (0).]]
res-solv ::
Example 4:
[[ (x*Dx+h^2). (Dx^2+x*h).] [(x^2+h^2). (h Dx + x^2).]] /ff set
[[ (x^2 Dx + x h^2). (Dx^3).]] /gg set
[ff gg ff mul 0 get ] res-solv-h ::
res*solv and res*solv*h accept string inputs, too. For example,
[[ [ [(x Dx + 2)] [ (Dx (x Dx + 3) - (x Dx + 2) (x Dx -4))]] [(1)]]
(x)] res*solv ::
Nobuki Takayama
平成13年8月23日