Kurt Foster on Mon, 08 Dec 2008 04:24:14 +0100

 Using {fa} in nfdisc() computations

• To: Pari Users <pari-users@list.cr.yp.to>
• Subject: Using {fa} in nfdisc() computations
• Date: Sun, 7 Dec 2008 20:08:28 -0700
• Delivery-date: Mon, 08 Dec 2008 04:24:14 +0100
• Mailing-list: contact pari-users-help@list.cr.yp.to; run by ezmlm

The optional {fa} parameter [factor() matrix] seems like just the thing for speeding up the computations in a situation I'm looking at. I've got a parametric family of polynomials. I want the exact nfdisc()s for a whole swarm of them. I could, of course, just feed the polynomials to nfdisc() and let it crunch away. This does work, of course, but it occurred to me it might be faster if I could take advantage of the fact that the poldiscs have a parametric algebraic factorization, and the algebraic factors are generally much smaller than the poldisc(), in the sense that
```
log(abs(algebraic factor))/log(abs(poldisc)

```
will usually be a lot less than 1. Thus, factoring the algebraic factors should be a LOT quicker than tackling the whole poldisc.
```
```
But in order to produce the factor() matrix fa for the poldisc, I've got to "combine" the factorization matrices of the algebraic factors. There's probably a slick way to do this, but I'm a dunce at programming. Would factor()ing the algebraic factors and "combining" the results actually be likely to be faster than tackling the whole poldisc? If so, what's an expeditious way to combine the factor() matrices of the separate algebraic factors into the correct factor() matrix for the poldisc?
```

```