# bFunction(Module,List,List) -- b-function of a holonomic D-module

## Synopsis

• Function: bFunction
• Usage:
b = bFunction(M,w,m)
• Inputs:
• M, , a holonomic module over a Weyl algebra An(K)
• w, a list, a list of integer weights corresponding to the differential variables in the Weyl algebra
• m, a list, a list of integers, each of which is the shift for the corresponding component
• Optional inputs:
• Strategy => ..., default value IntRing, specify strategy for computing b-function
• Outputs:
• b, , a polynomial b(s) which is the b-function of M with respect to w and m

## Description

The algorithm represents M as F/N where F is free and N is a submodule of F. Then it computes b-functions bi(s) for N \cap Fi (i-th component of F) and outputs lcm{ bi(s-mi) }
 i1 : R = QQ[x, dx, WeylAlgebra => {x=>dx}] o1 = R o1 : PolynomialRing, 1 differential variables i2 : M = cokernel matrix {{x^2, 0, 0}, {0, dx^3, 0}, {0, 0, x^3}} o2 = cokernel | x2 0 0 | | 0 dx^3 0 | | 0 0 x3 | 3 o2 : R-module, quotient of R i3 : factorBFunction bFunction(M, {1}, {0,0,0}) o3 = (s)(s - 2)(s - 1)(s + 1)(s + 2)(s + 3) o3 : Expression of class Product i4 : factorBFunction bFunction(M, {1}, {1,2,3}) o4 = (s)(s - 4)(s - 3)(s - 2)(s - 1)(s + 1) o4 : Expression of class Product

## Caveat

The Weyl algebra should not have any parameters. Similarly, it should not be a homogeneous Weyl algebra