Flint2-0.1.0.5: Haskell bindings for the flint library for number theory

Data.Number.Flint.Fmpz.Mod.Vec

Synopsis

# Conversions

_fmpz_mod_vec_set_fmpz_vec A B len ctx

Set the $$fmpz_mod_vec$$ $$(A, len)$$ to the $$fmpz_vec$$ $$(B, len)$$ after reduction of each entry modulo the modulus..

# Arithmetic

_fmpz_mod_vec_neg A B len ctx

Set $$(A, len)$$ to $$-(B, len)$$.

_fmpz_mod_vec_add a b c n ctx

Set (A, len) to :math:(B, len) + (C, len).

_fmpz_mod_vec_sub a b c n ctx

Set (A, len) to :math:(B, len) - (C, len).

# Scalar Multiplication

_fmpz_mod_vec_scalar_mul_fmpz_mod A B len c ctx

Set $$(A, len)$$ to $$(B, len)*c$$.

_fmpz_mod_vec_scalar_addmul_fmpz_mod A B len c ctx

Set $$(A, len)$$ to $$(A, len) + (B, len)*c$$.

_fmpz_mod_vec_scalar_div_fmpz_mod A B len c ctx

Set $$(A, len)$$ to $$(B, len)/c$$ assuming $$c$$ is nonzero.

# Dot Product

_fmpz_mod_vec_dot d A B len ctx

Set $$d$$ to the dot product of $$(A, len)$$ with $$(B, len)$$.

_fmpz_mod_vec_dot_rev d A B len ctx

Set $$d$$ to the dot product of $$(A, len)$$ with the reverse of the vector $$(B, len)$$.

# Multiplication

_fmpz_mod_vec_mul A B C len ctx

Set $$(A, len)$$ the pointwise multiplication of $$(B, len)$$ and $$(C, len)$$.