*Goal*-- Implement algorithms for factoring polynomials over local fields. Define extensions of local fields using any polynomial.*Type*-- basic features*Priority*-- High*Difficulty*-- High*Prerequisites*-- p-Adic polynomial precision and Hensel lifting. In addition, the second half of the project depends on General extension rings*Background*-- Hensel lifting, newton polygons, p-adic factoring algorithms.*Contributors*-- David Roe, Sebastian Pauli, Brian Sinclair*Progress*-*Related Tickets*-- #12561

## Discussion

## Tasks

- Implement round 4 (or some other p-adic factoring algorithm) for polynomials over Zp. Compare results against results from pari. Find right precisions for factors.
- Write functions to extract the unramified and Eisenstein pieces from an irreducible polynomial over Zp using the internals of the factoring algorithm.
- Write a new p-adic parent class and printer that allows the "generator" of an extension to be arbitrary (rather than a uniformizer for an Eisenstein extension).
Change the extension factory in

`sage.rings.padics.factory`to allow creation of such extensions.- Implement factoring for polynomials over other Henselian rings.