Documentation ¶
Index ¶
- Constants
- Variables
- func ExampleNames() []string
- func GetColordFml() bool
- func IncDebugCounter(f string, n int) int
- func MaxPrec(x, y *Interval) uint
- func NewCadErrorWO(cell *Cell) error
- func NewFofQuadEq(g *Ganrac, p *Poly, lv Level) *fof_quad_eq
- func NewQeCond() *qeCond
- func NewReduceInfo(g *Ganrac, c, neccon, sufcon Fof) *reduce_info
- func QEOptionNames() []string
- func SetColordFml(b bool)
- func VarNum() int
- func VarStr(lv Level) string
- type Atom
- func (p *Atom) Clone() *Atom
- func (p *Atom) Deg(lv Level) int
- func (p *Atom) Equals(qq interface{}) bool
- func (p *Atom) FmlLess(qq Fof) bool
- func (p *Atom) Format(b fmt.State, format rune)
- func (p *Atom) Indets(b []bool)
- func (p *Atom) IsQff() bool
- func (p *Atom) IsQuantifier() bool
- func (p *Atom) Not() Fof
- func (p *Atom) String() string
- func (p *Atom) Subst(xs RObj, lvs Level) Fof
- func (p *Atom) Tag() uint
- type AtomF
- func (p *AtomF) Deg(lv Level) int
- func (p *AtomF) Equals(qq interface{}) bool
- func (p *AtomF) FmlLess(q Fof) bool
- func (p *AtomF) Format(s fmt.State, format rune)
- func (p *AtomF) Indets(b []bool)
- func (p *AtomF) IsQff() bool
- func (p *AtomF) IsQuantifier() bool
- func (p *AtomF) Not() Fof
- func (p *AtomF) String() string
- func (p *AtomF) Subst(xs RObj, lvs Level) Fof
- func (p *AtomF) Tag() uint
- type AtomProj
- type AtomT
- func (p *AtomT) Deg(lv Level) int
- func (p *AtomT) Equals(qq interface{}) bool
- func (p *AtomT) FmlLess(q Fof) bool
- func (p *AtomT) Format(s fmt.State, format rune)
- func (p *AtomT) Indets(b []bool)
- func (p *AtomT) IsQff() bool
- func (p *AtomT) IsQuantifier() bool
- func (p *AtomT) Not() Fof
- func (p *AtomT) String() string
- func (p *AtomT) Subst(xs RObj, lvs Level) Fof
- func (p *AtomT) Tag() uint
- type BinInt
- func (z *BinInt) Abs() NObj
- func (x *BinInt) Add(yy RObj) RObj
- func (x *BinInt) AddInt(y *Int) RObj
- func (z *BinInt) Cmp(xx NObj) int
- func (z *BinInt) CmpAbs(xx NObj) int
- func (x *BinInt) Div(yy NObj) RObj
- func (x *BinInt) Equals(yy interface{}) bool
- func (z *BinInt) Float() float64
- func (x *BinInt) Format(s fmt.State, format rune)
- func (x *BinInt) IsMinusOne() bool
- func (x *BinInt) IsOne() bool
- func (x *BinInt) IsZero() bool
- func (x *BinInt) Mul(yy RObj) RObj
- func (x *BinInt) MulInt(y *Int) RObj
- func (x *BinInt) Neg() RObj
- func (x *BinInt) Pow(r *Int) RObj
- func (x *BinInt) Sign() int
- func (x *BinInt) String() string
- func (x *BinInt) Sub(yy RObj) RObj
- func (z *BinInt) Subst(x RObj, lv Level) RObj
- func (z *BinInt) ToInt(p *Int) *Int
- func (z *BinInt) ToIntRat() NObj
- type CAD
- func (cad *CAD) Fprint(b io.Writer, args ...interface{}) error
- func (cad *CAD) FprintInput(b io.Writer, args ...interface{}) error
- func (cad *CAD) FprintProj(b io.Writer, args ...interface{}) error
- func (cad *CAD) FprintProjs(b io.Writer, lv Level)
- func (c *CAD) InitProj(algo ProjectionAlgo)
- func (c *CAD) InitRoot()
- func (cad *CAD) Lift(index ...int) error
- func (cad *CAD) Print(args ...interface{}) error
- func (cad *CAD) PrintProj(args ...interface{})
- func (cad *CAD) Projection(algo ProjectionAlgo) (*List, error)
- func (c *CAD) Root() *Cell
- func (cad *CAD) Sfc() (Fof, error)
- func (c *CAD) String() string
- func (c *CAD) Tag() uint
- type CADSfc
- type CADStat
- type CAD_error_wo
- type CAS
- type Cell
- func (cell *Cell) Fprint(b io.Writer, args ...interface{}) error
- func (cell *Cell) Index() []uint
- func (cell *Cell) Neg() *Cell
- func (cell *Cell) Prec() uint
- func (cell *Cell) Precs() []uint
- func (cell *Cell) Print(args ...interface{}) error
- func (cell *Cell) Sign() int
- func (cell *Cell) Square(even int)
- func (cell *Cell) Truth() int8
- type Cellmod
- type Dict
- type Exists
- func (p *Exists) Deg(lv Level) int
- func (p *Exists) Equals(qq interface{}) bool
- func (p *Exists) Fml() Fof
- func (p *Exists) FmlLess(q Fof) bool
- func (p *Exists) Format(b fmt.State, format rune)
- func (p *Exists) Get(idx *Int) (interface{}, error)
- func (p *Exists) Indets(b []bool)
- func (p *Exists) IsQff() bool
- func (p *Exists) IsQuantifier() bool
- func (p *Exists) Not() Fof
- func (p *Exists) Qs() []Level
- func (p *Exists) String() string
- func (p *Exists) Subst(xs RObj, lvs Level) Fof
- func (p *Exists) Tag() uint
- type FmlAnd
- func (p *FmlAnd) Deg(lv Level) int
- func (p *FmlAnd) Equals(qq interface{}) bool
- func (p *FmlAnd) FmlLess(q Fof) bool
- func (p *FmlAnd) Fmls() []Fof
- func (p *FmlAnd) Format(b fmt.State, format rune)
- func (p *FmlAnd) Get(idx *Int) (Fof, error)
- func (p *FmlAnd) Indets(b []bool)
- func (p *FmlAnd) IsQff() bool
- func (p *FmlAnd) IsQuantifier() bool
- func (p *FmlAnd) Len() int
- func (p *FmlAnd) Not() Fof
- func (p *FmlAnd) String() string
- func (p *FmlAnd) Subst(xs RObj, lvs Level) Fof
- func (p *FmlAnd) Tag() uint
- type FmlOr
- func (p *FmlOr) Deg(lv Level) int
- func (p *FmlOr) Equals(qq interface{}) bool
- func (p *FmlOr) FmlLess(q Fof) bool
- func (p *FmlOr) Fmls() []Fof
- func (p *FmlOr) Format(b fmt.State, format rune)
- func (p *FmlOr) Get(idx *Int) (Fof, error)
- func (p *FmlOr) Indets(b []bool)
- func (p *FmlOr) IsQff() bool
- func (p *FmlOr) IsQuantifier() bool
- func (p *FmlOr) Len() int
- func (p *FmlOr) Not() Fof
- func (p *FmlOr) String() string
- func (p *FmlOr) Subst(xs RObj, lvs Level) Fof
- func (p *FmlOr) Tag() uint
- type Fof
- func NewAtom(p RObj, op OP) Fof
- func NewAtoms(pp []RObj, op OP) Fof
- func NewBool(b bool) Fof
- func NewExists(lv []Level, fml Fof) Fof
- func NewFmlAnd(pp Fof, qq Fof) Fof
- func NewFmlAnds(pp ...Fof) Fof
- func NewFmlEquiv(f1, f2 Fof) Fof
- func NewFmlImpl(f1, f2 Fof) Fof
- func NewFmlOr(pp Fof, qq Fof) Fof
- func NewFmlOrs(pp ...Fof) Fof
- func NewForAll(lv []Level, fml Fof) Fof
- func NewQuantifier(forex bool, lvv []Level, fml Fof) Fof
- type FofAO
- type FofQ
- type FofTFbase
- type ForAll
- func (p *ForAll) Deg(lv Level) int
- func (p *ForAll) Equals(qq interface{}) bool
- func (p *ForAll) Fml() Fof
- func (p *ForAll) FmlLess(q Fof) bool
- func (p *ForAll) Format(b fmt.State, format rune)
- func (p *ForAll) Get(idx *Int) (interface{}, error)
- func (p *ForAll) Indets(b []bool)
- func (p *ForAll) IsQff() bool
- func (p *ForAll) IsQuantifier() bool
- func (p *ForAll) Not() Fof
- func (p *ForAll) Qs() []Level
- func (p *ForAll) String() string
- func (p *ForAll) Subst(xs RObj, lvs Level) Fof
- func (p *ForAll) Tag() uint
- type GObj
- type Ganrac
- func (g *Ganrac) Close()
- func (g *Ganrac) Eval(r io.Reader) (interface{}, error)
- func (g *Ganrac) FunctionNames() []string
- func (g *Ganrac) InitVarList(vlist []string) error
- func (g *Ganrac) Logger() *log.Logger
- func (g *Ganrac) QE(fof Fof, qeopt *QEopt) Fof
- func (g *Ganrac) SetCAS(cas CAS)
- func (g *Ganrac) SetLogger(logger *log.Logger)
- func (g *Ganrac) SetParaNum(n int)
- type Int
- func (z *Int) Abs() NObj
- func (x *Int) Add(y RObj) RObj
- func (x *Int) Bit(i int) uint
- func (z *Int) Cmp(xx NObj) int
- func (z *Int) CmpAbs(xx NObj) int
- func (x *Int) Div(yy NObj) RObj
- func (x *Int) Equals(y interface{}) bool
- func (z *Int) Float() float64
- func (x *Int) Format(s fmt.State, format rune)
- func (x *Int) Gcd(y *Int) *Int
- func (x *Int) GcdEx(y *Int) (*Int, *Int, *Int)
- func (x *Int) Int64() int64
- func (x *Int) IsInt64() bool
- func (x *Int) IsMinusOne() bool
- func (x *Int) IsOne() bool
- func (x *Int) IsZero() bool
- func (x *Int) Mul(y RObj) RObj
- func (x *Int) N() *big.Int
- func (x *Int) Neg() RObj
- func (x *Int) Pow(y *Int) RObj
- func (x *Int) QuoRem(y *Int) (*Int, *Int)
- func (x *Int) Set(y RObj) RObj
- func (x *Int) Sign() int
- func (x *Int) String() string
- func (x *Int) Sub(y RObj) RObj
- func (z *Int) Subst(x RObj, lv Level) RObj
- type Interval
- func (x *Interval) Abs() NObj
- func (x *Interval) Add(yy RObj) RObj
- func (x *Interval) AddFloat(y *big.Float) *Interval
- func (x *Interval) Cmp(y NObj) int
- func (x *Interval) CmpAbs(y NObj) int
- func (c *Interval) ContainsZero() bool
- func (x *Interval) Div(yy NObj) RObj
- func (x *Interval) Equals(v interface{}) bool
- func (x *Interval) Float() float64
- func (x *Interval) Format(s fmt.State, format rune)
- func (x *Interval) IsMinusOne() bool
- func (x *Interval) IsOne() bool
- func (x *Interval) IsZero() bool
- func (x *Interval) Mul(yy RObj) RObj
- func (x *Interval) Mul2Exp(m uint) NObj
- func (x *Interval) MulFloat(y *big.Float) *Interval
- func (x *Interval) MulInt64(y int64) *Interval
- func (x *Interval) Neg() RObj
- func (x *Interval) Pow(yy *Int) RObj
- func (z *Interval) Prec() uint
- func (z *Interval) SetFloat(n *big.Float)
- func (z *Interval) SetFloat64(n float64)
- func (z *Interval) SetInt64(n int64)
- func (z *Interval) SetPrec(prec uint)
- func (x *Interval) Sign() int
- func (z *Interval) String() string
- func (x *Interval) Sub(yy RObj) RObj
- func (x *Interval) SubFloat(y *big.Float) *Interval
- func (x *Interval) Subst(v RObj, lv Level) RObj
- type Level
- type Levels
- type List
- func (z *List) Append(a GObj)
- func (z *List) Equals(vv interface{}) bool
- func (z *List) Format(s fmt.State, format rune)
- func (z *List) Get(ii *Int) (GObj, error)
- func (z *List) Geti(idx ...int) (GObj, error)
- func (z *List) Indets(b []bool)
- func (z *List) Iter() []GObj
- func (z *List) Len() int
- func (z *List) Set(ii *Int, v GObj) error
- func (z *List) Seti(i int, v GObj) error
- func (z *List) String() string
- func (z *List) Subst(xs RObj, lvs Level) *List
- func (z *List) Swap(i, j int) error
- func (z *List) Tag() uint
- type Moder
- type NObj
- type NumRegion
- type Number
- type OP
- type Poly
- func (x *Poly) Add(y RObj) RObj
- func (z *Poly) Clone() *Poly
- func (p *Poly) Cmp(q *Poly) int
- func (z *Poly) Coef(lv Level, deg uint) RObj
- func (z *Poly) Deg(lv Level) int
- func (z *Poly) Diff(lv Level) RObj
- func (x *Poly) Div(y NObj) RObj
- func (z *Poly) Equals(x interface{}) bool
- func (z *Poly) Format(s fmt.State, format rune)
- func (z *Poly) Indets(b []bool)
- func (z *Poly) IsMinusOne() bool
- func (z *Poly) IsNumeric() bool
- func (z *Poly) IsOne() bool
- func (x *Poly) IsZZ() bool
- func (z *Poly) IsZero() bool
- func (z *Poly) LeadinfCoef() NObj
- func (p *Poly) Less(q *Poly) bool
- func (z *Poly) Level() Level
- func (x *Poly) Mul(yy RObj) RObj
- func (z *Poly) Neg() RObj
- func (f *Poly) NegX(lv Level) *Poly
- func (p *Poly) NewPoly() *Poly
- func (p *Poly) PPC() (*Poly, *Int)
- func (x *Poly) Pow(y *Int) RObj
- func (p *Poly) RealRootIsolation(prec int) (*List, error)
- func (z *Poly) RootBound() (NObj, error)
- func (xorg *Poly) Sdiv(y *Poly) RObj
- func (z *Poly) Set(x RObj) RObj
- func (z *Poly) Sign() int
- func (z *Poly) String() string
- func (p *Poly) Sub(y RObj) RObj
- func (q *Poly) SubsXinv() *Poly
- func (z *Poly) Subst(xs RObj, lv Level) RObj
- func (z *Poly) SubstIntv(x *Interval, lv Level, prec uint) RObj
- func (f *Poly) SubstXinvLv(lv Level, n int) RObj
- func (z *Poly) Tag() uint
- type ProjFactor
- type ProjFactorBase
- func (pfb *ProjFactorBase) Deg() int
- func (pfb *ProjFactorBase) Index() uint
- func (pfb *ProjFactorBase) Input() bool
- func (pfb *ProjFactorBase) Lv() Level
- func (pfb *ProjFactorBase) P() *Poly
- func (pfb *ProjFactorBase) SetIndex(i uint)
- func (pfb *ProjFactorBase) SetInputT(b bool)
- func (pfb *ProjFactorBase) SetSign(b sign_t)
- func (pfb *ProjFactorBase) Sign() sign_t
- type ProjFactorHH
- type ProjFactorMC
- type ProjFactors
- type ProjFactorsHH
- type ProjFactorsMC
- type ProjLink
- type ProjectionAlgo
- type QEopt
- type QeExample
- type RObj
- type RObjSample
- func (z *RObjSample) Add(x RObj) RObj
- func (z *RObjSample) Deg(lv Level) int
- func (z *RObjSample) Div(x NObj) RObj
- func (z *RObjSample) Equals(x interface{}) bool
- func (z *RObjSample) Format(s fmt.State, format rune)
- func (z *RObjSample) IsMinusOne() bool
- func (z *RObjSample) IsNumeric() bool
- func (z *RObjSample) IsOne() bool
- func (z *RObjSample) IsZero() bool
- func (z *RObjSample) Mul(x RObj) RObj
- func (z *RObjSample) Neg() RObj
- func (z *RObjSample) Pow(x *Int) RObj
- func (z *RObjSample) Set(x RObj) RObj
- func (z *RObjSample) Sign() int
- func (z *RObjSample) String() string
- func (z *RObjSample) Sub(x RObj) RObj
- func (z *RObjSample) Subst(x RObj, lv Level) RObj
- func (z *RObjSample) Tag() uint
- type Rat
- func (z *Rat) Abs() NObj
- func (x *Rat) Add(yy RObj) RObj
- func (z *Rat) Cmp(xx NObj) int
- func (z *Rat) CmpAbs(xx NObj) int
- func (x *Rat) Div(yy NObj) RObj
- func (x *Rat) Equals(y interface{}) bool
- func (z *Rat) Float() float64
- func (x *Rat) Format(s fmt.State, format rune)
- func (x *Rat) IsMinusOne() bool
- func (x *Rat) IsOne() bool
- func (x *Rat) IsZero() bool
- func (x *Rat) Mul(yy RObj) RObj
- func (x *Rat) N() *big.Rat
- func (x *Rat) Neg() RObj
- func (x *Rat) Pow(y *Int) RObj
- func (x *Rat) Sign() int
- func (x *Rat) String() string
- func (x *Rat) Sub(yy RObj) RObj
- func (z *Rat) Subst(x RObj, lv Level) RObj
- func (z *Rat) ToInt() *Int
- type String
- type Uint
- func (p Uint) Abs() NObj
- func (p Uint) Add(x RObj) RObj
- func (p Uint) Cmp(x NObj) int
- func (p Uint) CmpAbs(x NObj) int
- func (x Uint) Deg(lv Level) int
- func (p Uint) Div(x NObj) RObj
- func (p Uint) Equals(v interface{}) bool
- func (p Uint) Float() float64
- func (p Uint) Format(s fmt.State, format rune)
- func (p Uint) IsMinusOne() bool
- func (p Uint) IsNumeric() bool
- func (p Uint) IsOne() bool
- func (p Uint) IsZero() bool
- func (p Uint) Mul(x RObj) RObj
- func (p Uint) Neg() RObj
- func (p Uint) Pow(x *Int) RObj
- func (p Uint) Sign() int
- func (p Uint) String() string
- func (p Uint) Sub(x RObj) RObj
- func (p Uint) Subst(x RObj, lv Level) RObj
- func (p Uint) Tag() uint
Constants ¶
View Source
const ( PF_EVAL_UNKNOWN = -1 PF_EVAL_NO = 0 PF_EVAL_YES = 1 PROJ_McCallum = 0 PROJ_HONG = 1 CAD_STAGE_INITED int8 = 0 CAD_STAGE_PROJED int8 = 1 CAD_STAGE_LIFTED int8 = 2 )
View Source
const ( EVEN_NO = 0x00 EVEN_NG = 0x01 EVEN_LIN1 = 0x02 // 線形,ただし,主係数は定数 EVEN_LIN2 = 0x04 // 線形で,主係数が変数 EVEN_OK = 0x08 // atom の因数分解した因子すべてが even 例:(x^2+1) * (x^4+3*x^2+1) EVEN_OKM = 0x10 // atom.getPoly() が even 例:(x-1)*(x+1) EVEN_LIN = EVEN_LIN1 | EVEN_LIN2 )
View Source
const ( LT OP = 0x1 EQ OP = 0x2 GT OP = 0x4 LE OP = LT | EQ GE OP = GT | EQ NE OP = GT | LT OP_TRUE OP = GT | EQ | LT OP_FALSE OP = 0x0 FTAG_TRUE uint = 0x101 FTAG_FALSE uint = 0x102 FTAG_ATOM uint = 0x103 FTAG_AND uint = 0x104 FTAG_OR uint = 0x105 FTAG_ALL uint = 0x106 FTAG_EX uint = 0x107 )
View Source
const ( TAG_NONE = iota TAG_STR TAG_NUM TAG_POLY TAG_FOF TAG_LIST TAG_CAD FORMAT_TEX = 'P' FORMAT_DUMP = 'V' FORMAT_SRC = 'S' FORMAT_QEPCAD = 'Q' FORMAT_INDEX = 'I' FORMAT_SYMPY = 'J' )
View Source
const ( NTAG_NONE = iota NTAG_INT NTAG_RAT NTAG_BININT NTAG_INTERVAL NTAG_MOD )
View Source
const ( QEALGO_VSLIN = 0x0001 QEALGO_VSQUAD = 0x0002 QEALGO_EQLIN = 0x0010 QEALGO_EQQUAD = 0x0020 QEALGO_NEQ = 0x0100 // 非等式制約QE QEALGO_ATOM = 0x0200 // ex([x], f(x) <= 0) QEALGO_SDC = 0x0400 // ex([x], x>=0 && f(x) <= 0) QEALGO_SMPL_EVEN = 0x100000000 QEALGO_SMPL_HOMO = 0x200000000 QEALGO_SMPL_TRAN = 0x400000000 QEALGO_SMPL_ROTA = 0x800000000 )
View Source
const ( // pdq() の復帰 SFC_PROJ_DEFINABLE = 0 SFC_PROJ_UNDEFINABLE = 1 SFC_PROJ_UNDET = 2 )
View Source
const ATOMQE_MAX_DEG = 8
View Source
const KARATSUBA_DEG_MOD = 4
go test -bench BenchmarkModularMulPoly -run BenchmarkModularMulPoly -o prof/ganrac -count=N 3x20= 34.222 4x20= 30.380 5x20= 31.947
View Source
const OPVS_SHIFT = 8
View Source
const SDCQE_MAX_DEG = 8
Variables ¶
Functions ¶
func ExampleNames ¶ added in v0.0.4
func ExampleNames() []string
func GetColordFml ¶
func GetColordFml() bool
func IncDebugCounter ¶ added in v0.0.3
func NewCadErrorWO ¶ added in v0.0.4
func NewFofQuadEq ¶ added in v0.0.3
func NewReduceInfo ¶ added in v0.0.3
neccon: 必要条件 sufcon: 十分条件
func QEOptionNames ¶ added in v0.0.4
func QEOptionNames() []string
func SetColordFml ¶
func SetColordFml(b bool)
Types ¶
type Atom ¶
type Atom struct {
// contains filtered or unexported fields
}
func (*Atom) IsQuantifier ¶
type BinInt ¶
type BinInt struct { Number // contains filtered or unexported fields }
BinInt is an NObj
func (*BinInt) IsMinusOne ¶
type CAD ¶
type CAD struct {
// contains filtered or unexported fields
}
func (*CAD) InitProj ¶ added in v0.0.3
func (c *CAD) InitProj(algo ProjectionAlgo)
func (*CAD) Projection ¶
func (cad *CAD) Projection(algo ProjectionAlgo) (*List, error)
type CAD_error_wo ¶ added in v0.0.4
type CAD_error_wo struct {
// contains filtered or unexported fields
}
func (*CAD_error_wo) Error ¶ added in v0.0.4
func (e *CAD_error_wo) Error() string
type CAS ¶ added in v0.0.2
type CAS interface { Gcd(p, q *Poly) RObj /* asir format * Factor(p) = [[c, 1], [q2, n2], [q3, n3], ..., [qm, nm]] * where * c in Q and * q2, ..., qm in Q[X] and * n2, ..., nm in N and * p = c* q2^n2 * q3^n3 * ... * qm^nm */ Factor(p *Poly) *List Discrim(p *Poly, lv Level) RObj Resultant(p *Poly, q *Poly, lv Level) RObj /* principal subresultant coefficient */ Psc(p *Poly, q *Poly, lv Level, j int32) RObj /* * slope resultant * H. Hong. Quantifier elimination for formulas constrained by quadratic equations */ Slope(p *Poly, q *Poly, lv Level, k int32) RObj // Subresultant seq. // cc の値により, psc 等に変える // 0: subresultant seq. // 1: principal subresultant seq. // 2: constant term // 3: 1+2 Sres(p *Poly, q *Poly, lv Level, cc int32) *List // groebner basis // vars 変数順序を表す // 束縛変数と自由変数を分けるために block order を用いる. n はそのための区切りの位置を表す. // 区切りが必要のない場合は,n=0 を用いる GB(p *List, vars *List, n int) *List // returns reduce(p, gb), sgn < 0 // (vars, n) については,GB を参照 Reduce(p *Poly, gb *List, vars *List, n int) (RObj, bool) Eval(p string) (GObj, error) Close() error SetLogger(logger *log.Logger) }
type Cell ¶
type Cell struct {
// contains filtered or unexported fields
}
type Exists ¶
type Exists struct {
// contains filtered or unexported fields
}
func (*Exists) IsQuantifier ¶
type FmlAnd ¶
type FmlAnd struct {
// contains filtered or unexported fields
}
func (*FmlAnd) IsQuantifier ¶
type FmlOr ¶
type FmlOr struct {
// contains filtered or unexported fields
}
func (*FmlOr) IsQuantifier ¶
type Fof ¶
type Fof interface { GObj fmt.Formatter IsQff() bool // quantifier free formula IsQuantifier() bool // ForAll か Exists なら true Not() Fof // 否定 Subst(xs RObj, lv Level) Fof Deg(lv Level) int FmlLess(a Fof) bool // normalize() でのソート用 // contains filtered or unexported methods }
first-order formula
func NewFmlAnds ¶ added in v0.0.3
func NewFmlEquiv ¶ added in v0.0.3
func NewFmlImpl ¶ added in v0.0.4
type ForAll ¶
type ForAll struct {
// contains filtered or unexported fields
}
func (*ForAll) IsQuantifier ¶
type Ganrac ¶
type Ganrac struct {
// contains filtered or unexported fields
}
func (*Ganrac) FunctionNames ¶ added in v0.0.4
func (*Ganrac) InitVarList ¶
func (*Ganrac) SetParaNum ¶ added in v0.0.4
type Int ¶
type Int struct { Number // contains filtered or unexported fields }
Int is an NObj
func (*Int) IsMinusOne ¶
type Interval ¶
type Interval struct { Number // contains filtered or unexported fields }
Interval is an NObj
func NewIntervalInt64 ¶
func (*Interval) ContainsZero ¶
func (*Interval) IsMinusOne ¶
func (*Interval) SetFloat64 ¶
type Moder ¶
type Moder interface { // modular arithmetic RObj // contains filtered or unexported methods }
type NObj ¶
type NObj interface { RObj Float() float64 Cmp(x NObj) int CmpAbs(x NObj) int Abs() NObj Sign() int // contains filtered or unexported methods }
numeric *Int, *Rat, *BinInt, *Interval, Uint
type NumRegion ¶
type NumRegion struct {
// contains filtered or unexported fields
}
nil は empty set を表す.
func NewNumRegion ¶ added in v0.0.3
func NewNumRegion() *NumRegion
type Poly ¶
type Poly struct {
// contains filtered or unexported fields
}
poly in K[x_lv,...,x_n]
func NewPolyCoef ¶
func NewPolyInts ¶
func NewPolyVar ¶
func NewPolyVarn ¶ added in v0.0.2
func (*Poly) IsMinusOne ¶
func (*Poly) LeadinfCoef ¶
func (*Poly) SubstXinvLv ¶ added in v0.0.4
return x^n f(1/x) assume f(0) != 0, deg(f) <= n
type ProjFactor ¶
type ProjFactorBase ¶
type ProjFactorBase struct {
// contains filtered or unexported fields
}
func (*ProjFactorBase) Deg ¶
func (pfb *ProjFactorBase) Deg() int
func (*ProjFactorBase) Index ¶
func (pfb *ProjFactorBase) Index() uint
func (*ProjFactorBase) Input ¶
func (pfb *ProjFactorBase) Input() bool
func (*ProjFactorBase) Lv ¶
func (pfb *ProjFactorBase) Lv() Level
func (*ProjFactorBase) P ¶
func (pfb *ProjFactorBase) P() *Poly
func (*ProjFactorBase) SetIndex ¶
func (pfb *ProjFactorBase) SetIndex(i uint)
func (*ProjFactorBase) SetInputT ¶
func (pfb *ProjFactorBase) SetInputT(b bool)
func (*ProjFactorBase) SetSign ¶
func (pfb *ProjFactorBase) SetSign(b sign_t)
func (*ProjFactorBase) Sign ¶
func (pfb *ProjFactorBase) Sign() sign_t
type ProjFactorHH ¶
type ProjFactorHH struct { ProjFactorBase // contains filtered or unexported fields }
func (*ProjFactorHH) FprintProjFactor ¶
func (pf *ProjFactorHH) FprintProjFactor(b io.Writer, cad *CAD)
type ProjFactorMC ¶
type ProjFactorMC struct { ProjFactorBase // contains filtered or unexported fields }
func (*ProjFactorMC) FprintProjFactor ¶
func (pf *ProjFactorMC) FprintProjFactor(b io.Writer, cad *CAD)
type ProjFactors ¶
type ProjFactors interface { Len() int // contains filtered or unexported methods }
type ProjFactorsHH ¶
type ProjFactorsHH struct {
// contains filtered or unexported fields
}
func (*ProjFactorsHH) Len ¶
func (pfs *ProjFactorsHH) Len() int
type ProjFactorsMC ¶
type ProjFactorsMC struct {
// contains filtered or unexported fields
}
func (*ProjFactorsMC) Len ¶
func (pfs *ProjFactorsMC) Len() int
type ProjectionAlgo ¶
type ProjectionAlgo int
type QeExample ¶
func GetExampleFof ¶
type RObj ¶
type RObj interface { GObj Add(x RObj) RObj // z+x Sub(x RObj) RObj // z-x Mul(x RObj) RObj Div(x NObj) RObj Pow(x *Int) RObj Subst(x RObj, lv Level) RObj Neg() RObj Deg(lv Level) int // 次数を返す. zero の場合も 0 になる // Set(x RObj) RObj Sign() int IsZero() bool IsOne() bool IsMinusOne() bool IsNumeric() bool // contains filtered or unexported methods }
ring ring in R[x], in R *Poly, *Int, *Rat, *BinInt, *Interval, Uint
type RObjSample ¶
type RObjSample struct { }
func (*RObjSample) Add ¶
func (z *RObjSample) Add(x RObj) RObj
func (*RObjSample) Deg ¶ added in v0.0.4
func (z *RObjSample) Deg(lv Level) int
func (*RObjSample) Div ¶
func (z *RObjSample) Div(x NObj) RObj
func (*RObjSample) Equals ¶
func (z *RObjSample) Equals(x interface{}) bool
func (*RObjSample) IsMinusOne ¶
func (z *RObjSample) IsMinusOne() bool
func (*RObjSample) IsNumeric ¶
func (z *RObjSample) IsNumeric() bool
func (*RObjSample) IsOne ¶
func (z *RObjSample) IsOne() bool
func (*RObjSample) IsZero ¶
func (z *RObjSample) IsZero() bool
func (*RObjSample) Mul ¶
func (z *RObjSample) Mul(x RObj) RObj
func (*RObjSample) Neg ¶
func (z *RObjSample) Neg() RObj
func (*RObjSample) Pow ¶
func (z *RObjSample) Pow(x *Int) RObj
func (*RObjSample) Set ¶
func (z *RObjSample) Set(x RObj) RObj
func (*RObjSample) Sign ¶
func (z *RObjSample) Sign() int
func (*RObjSample) String ¶
func (z *RObjSample) String() string
func (*RObjSample) Sub ¶
func (z *RObjSample) Sub(x RObj) RObj
func (*RObjSample) Tag ¶
func (z *RObjSample) Tag() uint
type Rat ¶
type Rat struct { Number // contains filtered or unexported fields }
Rat is an NObj
func NewRatFrac ¶
func NewRatInt64 ¶
func (*Rat) IsMinusOne ¶
Source Files ¶
- binint.go
- cad.go
- cad_de.go
- cas.go
- cell.go
- delinpol.go
- dict.go
- eval.go
- even.go
- example.go
- fof.go
- frealroot.go
- func.go
- ganrac.go
- gobj.go
- int.go
- intv.go
- irealroot.go
- lex.go
- lift.go
- list.go
- makepdf.go
- modular.go
- neq.go
- nobj.go
- op.go
- parser.y
- poly.go
- prime.go
- proj.go
- projhh.go
- projmc.go
- qe.go
- quadeq.go
- rat.go
- realroot.go
- robj.go
- rootbound.go
- sdc.go
- sdc_fml.go
- sfc.go
- simpl_basic.go
- simpl_comm.go
- simpl_fctr.go
- simpl_homo.go
- simpl_num.go
- simpl_reduce.go
- simpl_tran.go
- simple.go
- str.go
- vs.go
Click to show internal directories.
Click to hide internal directories.