Creating A Random Quadratic Form

sage.quadratic_forms.random_quadraticform.random_quadraticform(R, n, rand_arg_list=[])

Create a random quadratic form in \(n\) variables defined over the ring \(R\).

The last (and optional) argument rand_arg_list is a list of at most 3 elements which is passed (as at most 3 separate variables) into the method R.random_element().

INPUT:

  • \(R\) – a ring.

  • \(n\) – an integer \(\ge 0\)

  • rand_arg_list – a list of at most 3 arguments which can be taken by R.random_element().

OUTPUT:

A quadratic form over the ring \(R\).

EXAMPLES:

sage: random_quadraticform(ZZ, 3, [1,5])    ## RANDOM
Quadratic form in 3 variables over Integer Ring with coefficients:
[ 3 2 3 ]
[ * 1 4 ]
[ * * 3 ]
sage: random_quadraticform(ZZ, 3, [-5,5])    ## RANDOM
Quadratic form in 3 variables over Integer Ring with coefficients:
[ 3 2 -5 ]
[ * 2 -2 ]
[ * * -5 ]
sage: random_quadraticform(ZZ, 3, [-50,50])    ## RANDOM
Quadratic form in 3 variables over Integer Ring with coefficients:
[ 1 8 -23 ]
[ * 0 0 ]
[ * * 6 ]
sage.quadratic_forms.random_quadraticform.random_quadraticform_with_conditions(R, n, condition_list=[], rand_arg_list=[])

Create a random quadratic form in \(n\) variables defined over the ring \(R\) satisfying a list of boolean (i.e. True/False) conditions.

The conditions \(c\) appearing in the list must be boolean functions which can be called either as Q.c() or c(Q), where Q is the random quadratic form.

The last (and optional) argument rand_arg_list is a list of at most 3 elements which is passed (as at most 3 separate variables) into the method R.random_element().

EXAMPLES:

sage: Q = random_quadraticform_with_conditions(ZZ, 3, [QuadraticForm.is_positive_definite], [-5, 5])
sage: Q    ## RANDOM
Quadratic form in 3 variables over Integer Ring with coefficients:
[ 3 -2 -5 ]
[ * 2 2 ]
[ * * 3 ]
sage.quadratic_forms.random_quadraticform.random_ternaryqf(rand_arg_list=[])

Create a random ternary quadratic form.

The last (and optional) argument rand_arg_list is a list of at most 3 elements which is passed (as at most 3 separate variables) into the method R.random_element().

INPUT:

  • rand_arg_list – a list of at most 3 arguments which can be taken by R.random_element().

OUTPUT:

A ternary quadratic form.

EXAMPLES:

sage: random_ternaryqf()  ##RANDOM
Ternary quadratic form with integer coefficients:
[1 1 4]
[-1 1 -1]
sage: random_ternaryqf([-1, 2])  ##RANDOM
Ternary quadratic form with integer coefficients:
[1 0 1]
[-1 -1 -1]
sage: random_ternaryqf([-10, 10, "uniform"])  ##RANDOM
Ternary quadratic form with integer coefficients:
[7 -8 2]
[0 3 -6]
sage.quadratic_forms.random_quadraticform.random_ternaryqf_with_conditions(condition_list=[], rand_arg_list=[])

Create a random ternary quadratic form satisfying a list of boolean (i.e. True/False) conditions.

The conditions \(c\) appearing in the list must be boolean functions which can be called either as Q.c() or c(Q), where Q is the random ternary quadratic form.

The last (and optional) argument rand_arg_list is a list of at most 3 elements which is passed (as at most 3 separate variables) into the method R.random_element().

EXAMPLES:

sage: Q = random_ternaryqf_with_conditions([TernaryQF.is_positive_definite], [-5, 5])
sage: Q    ## RANDOM
Ternary quadratic form with integer coefficients:
[3 4 2]
[2 -2 -1]