with text_io,integer_io; use text_io,integer_io; with Standard_Integer_Matrices; use Standard_Integer_Matrices; with Standard_Integer_Matrices_io; use Standard_Integer_Matrices_io; with Symbol_Table; with Standard_Complex_Polynomials; use Standard_Complex_Polynomials; with Standard_Complex_Polynomials_io; use Standard_Complex_Polynomials_io; with Brackets,Brackets_io; use Brackets,Brackets_io; with Bracket_Expansions; use Bracket_Expansions; with Matrix_Indeterminates; procedure ts_local is procedure Main is n,d : natural; ans : character; begin put("Give n, the dimension of the space : "); get(n); put("Give d, the dimension of the plane : "); get(d); declare locmap : Matrix(1..n,1..d) := Localization_Map(n,d); b : Bracket(1..d); e : Poly; begin put_line("The localization map : "); put(locmap); loop Matrix_Indeterminates.Initialize_Symbols(n,d); put("Give "); put(d,1); put(" numbers for a bracket : "); get(b); e := Expand(locmap,b); put("The expansion of minor "); put(b); put_line(" following the localization map : "); put(e); new_line; Matrix_Indeterminates.Reduce_Symbols(locmap); Reduce_Variables(locmap,e); put_line("The expansion polynomial in reduced format : "); put(e); new_line; put("Do you wish to give other brackets ? (y/n) "); get(ans); exit when (ans /= 'y'); Matrix_Indeterminates.Clear_Symbols; end loop; end; end Main; begin new_line; put_line("Test of setting up a spanning localization."); new_line; Main; end ts_local;