| 1 | The target of this ticket is to enhance the function weak_popov of the matrix interface. |

| 2 | The function should transform the matrix in weak popov form, it will use mulders-storjohann algorithm and should be much faster than the current implementation but will not work for polynomials over a fraction field only for polynomial rings over finite fields. |

| 3 | |

| 4 | Short description of weak popov form: Let R be an ordered Ring and Amxn a matrix over R. The leading position of a row is called the position i in [1,m) such that the order of A[i,_] is maximal within the row. If there are multiple entries with the maximum order, the highest i is the leading position (the furthest to the right in the matrix). A is in weak popov form if all leading positions are different (zero lines ignored). |

| 5 | |

| 6 | The function will implement this only for polynomial rings, the order function is the degree of the polynomial. Example: |

| 7 | |

| 8 | [x2+1, x] |

| 9 | |

| 10 | [x, x+1] |

| 11 | |

| 12 | is in weak popov form: Row 1 has the degrees 2 and 1, the leading position is for i=0, row 2 has two times degree 1 so the higher i is chosen with i=1. |

| 13 | |

| 14 | [x2+1, x] |

| 15 | |

| 16 | [x,0] |

| 17 | |

| 18 | is NOT in weak popov form, row 1 has now degrees 1 and -1, so the leading position is i=0 as in row 1. |