singular-factory-0.1: Multivariate polynomial factorization via bindings to Singular-factory

Safe HaskellNone
LanguageHaskell2010

Math.Singular.Factory.Variables

Contents

Description

Variables.

Singular-factory supports only a single linear sequence of variables, indexed starting from 1, optionally having single-character names.

So what we do is to use (phantom) types to encode naming conventions.

Synopsis

Raw factory variables

type VarIdx = Int Source #

A variable index.

In factory, there is a single linear sequence of variables. Variables are indexed starting from 1.

theFactoryVars :: [Var] Source #

In factory, there is a single linear sequence of variables. We "precalculate" these (lazily).

Variable sets

class VariableSet v where Source #

The class of variable sets. Since Factory only supports a single linear variable set, these differ only by naming conventions.

Instances
VariableSet VarXYZ Source # 
Instance details

Defined in Math.Singular.Factory.Variables

VariableSet VarXyz Source # 
Instance details

Defined in Math.Singular.Factory.Variables

VariableSet VarABC Source # 
Instance details

Defined in Math.Singular.Factory.Variables

VariableSet VarAbc Source # 
Instance details

Defined in Math.Singular.Factory.Variables

KnownSymbol s => VariableSet (VarBracketN s) Source # 
Instance details

Defined in Math.Singular.Factory.Variables

KnownSymbol s => VariableSet (Var_N s) Source # 
Instance details

Defined in Math.Singular.Factory.Variables

KnownSymbol s => VariableSet (VarN s) Source # 
Instance details

Defined in Math.Singular.Factory.Variables

data VarN (s :: Symbol) Source #

The variable set x1, x2, x3, x4... (where "x" can be any string)

Instances
KnownSymbol s => VariableSet (VarN s) Source # 
Instance details

Defined in Math.Singular.Factory.Variables

data Var_N (s :: Symbol) Source #

The variable set x_1, x_2, x_3, x_4... (where "x" can be any string)

data VarBracketN (s :: Symbol) Source #

The variable set x[1], x[2], x[3], x[4]... (where "x" can be any string)

data VarAbc Source #

The variable set a, b, c, d...

data VarABC Source #

The variable set A, B, C, D...

data VarXyz Source #

The variable set x, y, z, u, v, w, a, b, c...

data VarXYZ Source #

The variable set X, Y, Z, U, V, W, A, B, C...

Standard naming conventions of variables

indexedVars :: String -> VarIdx -> String Source #

Eg. x1, x2, x3...

indexedVarsUnderscore :: String -> VarIdx -> String Source #

Eg. x_1, x_2, x_3...

indexedVarsBracket :: String -> VarIdx -> String Source #

Eg. x[1], x[2], x[3]...

abcVars :: VarIdx -> String Source #

That is, a, b, c...

capitalAbcVars :: VarIdx -> String Source #

That is, A, B, C...

xyzVars :: VarIdx -> String Source #

x, y, z, u, v, w, a, b, c ... , t

Variable lists

lowerVarList :: [String] Source #

The infinite list of variables a, b ..., z, aa, ab, ac, ...

Parsing standard variable names