schubmult.sage_integration
1from sage.all import * 2 3from ._fast_schubert_polynomial_ring import ( 4 FastSchubertPolynomialRing, 5 FastSchubertPolynomial, 6 FastSchubertPolynomialRing_base, 7 FastQuantumSchubertPolynomialRing, 8) 9from ._fast_double_schubert_polynomial_ring import ( 10 FastDoubleSchubertPolynomialRing, 11 FastDoubleSchubertPolynomial, 12 FastDoubleSchubertPolynomialRing_base, 13 FastQuantumDoubleSchubertPolynomialRing, 14) 15 16__all__ = [ 17 "FastSchubertPolynomialRing", 18 "FastSchubertPolynomial", 19 "FastSchubertPolynomialRing_base", 20 "FastDoubleSchubertPolynomialRing", 21 "FastDoubleSchubertPolynomial", 22 "FastDoubleSchubertPolynomialRing_base", 23 "FastQuantumSchubertPolynomialRing", 24 "FastQuantumDoubleSchubertPolynomialRing", 25]
def
FastSchubertPolynomialRing( R, num_vars, varname, *, code_index=False, q_varname='q', quantum=False, indices=(1,)):
29def FastSchubertPolynomialRing( 30 R, 31 num_vars, 32 varname, 33 *, 34 code_index=False, 35 q_varname="q", 36 quantum=False, 37 indices=tuple([1]), 38): 39 if quantum: 40 QR = PolynomialRing(R, num_vars, q_varname) 41 else: 42 QR = R 43 return FastSchubertPolynomialRing_xbasis( 44 R, num_vars, varname, q_varname, code_index, indices, quantum, QR 45 )
FastSchubertPolynomial =
<class 'schubmult.sage_integration._fast_schubert_polynomial_ring.FastSchubertPolynomial_class'>
FastSchubertPolynomialRing_base =
<class 'schubmult.sage_integration._fast_schubert_polynomial_ring.FastSchubertPolynomialRing_xbasis'>
def
FastDoubleSchubertPolynomialRing( R, num_vars, base_variable_name, coeff_variable_names, *, indices=(1,), code_index=False, q_varname='q', quantum=False):
32def FastDoubleSchubertPolynomialRing( 33 R, 34 num_vars, 35 base_variable_name, 36 coeff_variable_names, 37 *, 38 indices=tuple([1]), 39 code_index=False, 40 q_varname="q", 41 quantum=False, 42): 43 """Wrapper function to return a double Schubert polynomial Ring 44 45 Calls the _xbasis class to return a double or quantum double Schubert 46 polynomial ring with the indicated base ring, number of variables, 47 variable names (base variable, and then one or more sets of coefficient) 48 variables, coproduct indices, code_index representation option, q-ring 49 variable name, and whether the ring is quantum. 50 51 Example call: 52 53```python 54X = FastDoubleSchubertPolynomialRing(ZZ, 100, "x", ("y", "z")) 55X([2, 4, 3, 1]) 56``` 57 58 Args: 59 R (sage ring): The base ring 60 num_vars (int): Cardinality of the sets of variables 61 base_variable_name (str): Base variable name 62 coeff_variable_names (str | tuple[str]): Coefficient variable name(s) 63 indices (tuple[int], optional): Indicies of the variables to split on for the coproduct. 64 code_index (bool, optional): Whether to display the indices as the Lehmer code. Defaults to False. 65 q_varname (str, optional): Variable name of the q-ring. Defaults to "q". 66 quantum (bool, optional): Whether or not the ring is quantum. Default the FAlse. 67 68 Returns: 69 FastDoubleSchubertPolynomialRing_xbasis: Basis element generator of the ring 70 """ 71 QR = None 72 if quantum: 73 QR = PolynomialRing(R, num_vars, q_varname) 74 return FastDoubleSchubertPolynomialRing_xbasis( 75 R, 76 num_vars, 77 base_variable_name, 78 coeff_variable_names, 79 q_varname, 80 code_index, 81 indices, 82 quantum, 83 QR, 84 )
Wrapper function to return a double Schubert polynomial Ring
Calls the _xbasis class to return a double or quantum double Schubert
polynomial ring with the indicated base ring, number of variables,
variable names (base variable, and then one or more sets of coefficient)
variables, coproduct indices, code_index representation option, q-ring
variable name, and whether the ring is quantum.
Example call:
X = FastDoubleSchubertPolynomialRing(ZZ, 100, "x", ("y", "z"))
X([2, 4, 3, 1])
Args:
R (sage ring): The base ring
num_vars (int): Cardinality of the sets of variables
base_variable_name (str): Base variable name
coeff_variable_names (str | tuple[str]): Coefficient variable name(s)
indices (tuple[int], optional): Indicies of the variables to split on for the coproduct.
code_index (bool, optional): Whether to display the indices as the Lehmer code. Defaults to False.
q_varname (str, optional): Variable name of the q-ring. Defaults to "q".
quantum (bool, optional): Whether or not the ring is quantum. Default the FAlse.
Returns:
FastDoubleSchubertPolynomialRing_xbasis: Basis element generator of the ring
FastDoubleSchubertPolynomial =
<class 'schubmult.sage_integration._fast_double_schubert_polynomial_ring.FastDoubleSchubertPolynomial_class'>
FastDoubleSchubertPolynomialRing_base =
<class 'schubmult.sage_integration._fast_double_schubert_polynomial_ring.FastDoubleSchubertPolynomialRing_xbasis'>
def
FastQuantumSchubertPolynomialRing(R, num_vars, varname, *, code_index=False, q_varname='q'):
def
FastQuantumDoubleSchubertPolynomialRing( R, num_vars, base_variable_name, coeff_variable_names, *, code_index=False, q_varname='q'):
87def FastQuantumDoubleSchubertPolynomialRing( 88 R, 89 num_vars, 90 base_variable_name, 91 coeff_variable_names, 92 *, 93 code_index=False, 94 q_varname="q", 95): 96 """Quantum double Schubert ring generator 97 98 Wraps FastDoubleSchubertPolynomialRing(), omitting indices and setting 99 quantum to True. 100 101 Args: 102 R (sage ring): The base ring 103 num_vars (int): Cardinality of the sets of variables 104 base_variable_name (str): Base variable name 105 coeff_variable_names (str | tuple[str]): Coefficient variable name(s) 106 code_index (bool, optional): Whether to display the indices as the Lehmer code. Defaults to False. 107 q_varname (str, optional): Variable name of the q-ring. Defaults to "q". 108 109 Returns: 110 FastDoubleSchubertPolynomialRing_xbasis: Basis element generator of the quantum ring 111 """ 112 return FastDoubleSchubertPolynomialRing( 113 R, 114 num_vars, 115 base_variable_name, 116 coeff_variable_names, 117 code_index=code_index, 118 indices=tuple([1]), 119 quantum=True, 120 q_varname=q_varname, 121 )
Quantum double Schubert ring generator
Wraps FastDoubleSchubertPolynomialRing(), omitting indices and setting quantum to True.
Arguments:
- R (sage ring): The base ring
- num_vars (int): Cardinality of the sets of variables
- base_variable_name (str): Base variable name
- coeff_variable_names (str | tuple[str]): Coefficient variable name(s)
- code_index (bool, optional): Whether to display the indices as the Lehmer code. Defaults to False.
- q_varname (str, optional): Variable name of the q-ring. Defaults to "q".
Returns:
FastDoubleSchubertPolynomialRing_xbasis: Basis element generator of the quantum ring