You need to install ox_asir server to use this function. (ox_asir function) [ ii ] primadec [[q1 p1] [q2 p2] ... ] array of poly ii; array of poly q1, p1, q2, p2 ...; q1, q2, ... are primary components of the primary ideal decomposition of the ideal generated by << ii >>. [ ii v ] primadec [[q1 p1] [q2 p2] ... ] array of poly or string ii; array of string v; array of poly q1, p1, q2, p2 ...; << v >> is an array of independent variables. [ ii v ] primadec [[q1 p1] [q2 p2] ... ] array of poly or string ii; array of string v; array of poly q1, p1, q2, p2 ...; v is a string of variables separated by , Example: [(x,y) ring_of_polynomials 0] define_ring [ [(x^2-1). (x y).] ] primadec pmat ; Example: [ [(x^2-1) (x y)] [(x) (y)]] primadec pmat ; If you interrupted the computation by typing ctrl-C, type in oxasir.ccc oxreset ; to interrupt the ox_asir server. This function requires plugins cmo, socket and ox_asir server. cf.oxasir