Given a symmetric matrix with entries in a field of characteristic not 2, there is a straigtforward procedure to find a new basis in which the associated bilinear form becomes diagonal. Is there a method in M2 to perform this process, and in particular to get the diagonal entries? We need this for things like finite fields, not just RR and CC.
I don't think so. If you end up implementing it, it would be good to introduce a new type called something "BilinearForm" whose instances would serve as containers for those matrices.
Given a symmetric matrix with entries in a field of characteristic not 2, there is a straigtforward procedure to find a new basis in which the associated bilinear form becomes diagonal. Is there a method in M2 to perform this process, and in particular to get the diagonal entries? We need this for things like finite fields, not just RR and CC.