## Class HenselLifting.bLinearLift

• All Implemented Interfaces:
`HenselLifting.LiftableQuintet<UnivariatePolynomial<BigInteger>>`
Enclosing class:
HenselLifting

```public static final class HenselLifting.bLinearLift
extends Object
implements HenselLifting.LiftableQuintet<UnivariatePolynomial<BigInteger>>```
Linear Hensel lift for BigIntegers arithmetics. Linear Hensel lift always starts from the machine-sized modulus; on each `lift()` operation modulus is raised as `modulus = modulus * initialModulus`.
• ### Field Summary

Fields
Modifier and Type Field Description
`IntegersZp` `initialDomain`
The initial modulus (less than 64-bit)
`IntegersZp` `ring`
The modulus
• ### Method Summary

Modifier and Type Method Description
`UnivariatePolynomial<BigInteger>` `aCoFactorMod()`
Returns first co-factor lifted
`UnivariatePolynomial<BigInteger>` `aFactorMod()`
Returns first factor lifted
`UnivariatePolynomial<BigInteger>` `bCoFactorMod()`
Returns second co-factor lifted
`UnivariatePolynomial<BigInteger>` `bFactorMod()`
Returns second factor lifted
`void` `lift()`
Performs single lift step.
`void` `liftLast()`
Performs single lift step but don't lift co-factors (xgcd coefficients).
`UnivariatePolynomial<BigInteger>` `polyMod()`
Returns initial Z[x] polynomial modulo lifted modulus
• ### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ### Methods inherited from interface cc.redberry.rings.poly.univar.HenselLifting.LiftableQuintet

`lift, liftWithCoFactors`
• ### Field Detail

• #### initialDomain

`public final IntegersZp initialDomain`
The initial modulus (less than 64-bit)
• #### ring

`public IntegersZp ring`
The modulus
• ### Method Detail

• #### polyMod

`public UnivariatePolynomial<BigInteger> polyMod()`
Description copied from interface: `HenselLifting.LiftableQuintet`
Returns initial Z[x] polynomial modulo lifted modulus
Specified by:
`polyMod` in interface `HenselLifting.LiftableQuintet<UnivariatePolynomial<BigInteger>>`
Returns:
initial Z[x] polynomial modulo lifted modulus
• #### aFactorMod

`public UnivariatePolynomial<BigInteger> aFactorMod()`
Description copied from interface: `HenselLifting.LiftableQuintet`
Returns first factor lifted
Specified by:
`aFactorMod` in interface `HenselLifting.LiftableQuintet<UnivariatePolynomial<BigInteger>>`
Returns:
first factor lifted
• #### bFactorMod

`public UnivariatePolynomial<BigInteger> bFactorMod()`
Description copied from interface: `HenselLifting.LiftableQuintet`
Returns second factor lifted
Specified by:
`bFactorMod` in interface `HenselLifting.LiftableQuintet<UnivariatePolynomial<BigInteger>>`
Returns:
second factor lifted
• #### aCoFactorMod

`public UnivariatePolynomial<BigInteger> aCoFactorMod()`
Description copied from interface: `HenselLifting.LiftableQuintet`
Returns first co-factor lifted
Specified by:
`aCoFactorMod` in interface `HenselLifting.LiftableQuintet<UnivariatePolynomial<BigInteger>>`
Returns:
first co-factor lifted
• #### bCoFactorMod

`public UnivariatePolynomial<BigInteger> bCoFactorMod()`
Description copied from interface: `HenselLifting.LiftableQuintet`
Returns second co-factor lifted
Specified by:
`bCoFactorMod` in interface `HenselLifting.LiftableQuintet<UnivariatePolynomial<BigInteger>>`
Returns:
second co-factor lifted
• #### lift

`public void lift()`
Description copied from interface: `HenselLifting.LiftableQuintet`
Performs single lift step.
Specified by:
`lift` in interface `HenselLifting.LiftableQuintet<UnivariatePolynomial<BigInteger>>`
• #### liftLast

`public void liftLast()`
Description copied from interface: `HenselLifting.LiftableQuintet`
Performs single lift step but don't lift co-factors (xgcd coefficients).
Specified by:
`liftLast` in interface `HenselLifting.LiftableQuintet<UnivariatePolynomial<BigInteger>>`