cmo.txt 1997, 7/1, 1997, 12/31 (すべてのフィールドは基本的に 32 bits.) List : | tag 17 | length m | obj[0] | ... | obj[m-1] | (List を以下 [obj[0], ..., obj[m-1]] と書く.) DMS : | tag 23 | Coefficients: 32 bit coefficients : | tag 21 | int | ZZ (GMP integer) : | tag 20 | {internal expression of GMP integer} | Monomial: Monomial32 : | tag 19 | number of variables n | | exponent[0] | ... | expoent[n-1] | {Coefficients} | ZeroMonomial : | tag 22 | Polynomial: PolynomialByList : {Monomial32} or [{DMS}, {RingDefinition}, {Polynomial}, ... , {Polynomial}] RingDefinition: | tag 24 | | tag 17 | length m | (LIST) | INT32 number of variables | | INT32 characteristic |or| RingDefinition | | LIST name of variables | (optional) | LIST weight vector | (optional) | LIST output order | (optional) Example: Z/11Z [x,y] 3 x^2 y + 1 ===> | 17(11) | 4(4) | {DMS} |{RingDef}| {3 x^2 y} | {1} | | 17(11) | 4(4) | 24(18) |{RingDef}| {3 x^2 y} | {1} | The length is four {DMS}, {RingDef}, 3x2y, 1. RingDef ====> | 25(19) | {LIST} 17(11)| 2 | | {number of variables} |{coeff field}| 3 x^2 y ===> | 19 | 2 | | 2 | | 21 | 3 | 1 ===> | 19 | 2 | | 0 | | 21 | 1 | 0 ===> | 22 | Example: Z/11Z [6 variables] (cmotest.sm1) run [(x,y) ring_of_polynomials ( ) elimination_order 11 ] define_ring ; (3x^2 y). cmo /ff set ; ff dump ; dumpCmoBuf : size = 80, size/sizeof(int) = 20 0 0 0 11 0 0 0 3 0 0 0 18 0 0 0 19 0 0 0 11 LIST length DMS RINGDEFINITION LIST 0 0 0 2 0 0 0 3 0 0 0 6 0 0 0 3 0 0 0 b length (INT32) 6 (INT32) 11 (characteristic) 0 0 0 13 0 0 0 6 0 0 0 0 0 0 0 2 0 0 0 0 MONOMIAL32 6 varis 0 2 (x^2) 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 16 0 0 0 3 0 1 (y^1) 0 Z/11 3 (3x^2 y). cmosave ===> debug/cmodata1.cmo