Repr formatting support¶
- sage.misc.repr.coeff_repr(c, is_latex=False)[source]¶
String representing coefficients in a linear combination.
INPUT:
c
– a coefficient (i.e., an element of a ring)
OUTPUT: string
EXAMPLES:
sage: from sage.misc.repr import coeff_repr sage: coeff_repr(QQ(1/2)) '1/2' sage: coeff_repr(-x^2) # needs sage.symbolic '(-x^2)' sage: coeff_repr(QQ(1/2), is_latex=True) '\\frac{1}{2}' sage: coeff_repr(-x^2, is_latex=True) # needs sage.symbolic '\\left(-x^{2}\\right)'
>>> from sage.all import * >>> from sage.misc.repr import coeff_repr >>> coeff_repr(QQ(Integer(1)/Integer(2))) '1/2' >>> coeff_repr(-x**Integer(2)) # needs sage.symbolic '(-x^2)' >>> coeff_repr(QQ(Integer(1)/Integer(2)), is_latex=True) '\\frac{1}{2}' >>> coeff_repr(-x**Integer(2), is_latex=True) # needs sage.symbolic '\\left(-x^{2}\\right)'
- sage.misc.repr.repr_lincomb(terms, is_latex=False, scalar_mult='*', strip_one=False, repr_monomial=None, latex_scalar_mult=None)[source]¶
Compute a string representation of a linear combination of some formal symbols.
INPUT:
terms
– list of terms, as pairs (support, coefficient)is_latex
– whether to produce latex (default:False
)scalar_mult
– string representing the multiplication (default:'*'
)latex_scalar_mult
– latex string representing the multiplication (default: a space ifscalar_mult
is'*'
; otherwisescalar_mult
)coeffs
– for backward compatibility
EXAMPLES:
sage: repr_lincomb([('a',1), ('b',-2), ('c',3)]) 'a - 2*b + 3*c' sage: repr_lincomb([('a',0), ('b',-2), ('c',3)]) '-2*b + 3*c' sage: repr_lincomb([('a',0), ('b',2), ('c',3)]) '2*b + 3*c' sage: repr_lincomb([('a',1), ('b',0), ('c',3)]) 'a + 3*c' sage: repr_lincomb([('a',-1), ('b','2+3*x'), ('c',3)]) '-a + (2+3*x)*b + 3*c' sage: repr_lincomb([('a', '1+x^2'), ('b', '2+3*x'), ('c', 3)]) '(1+x^2)*a + (2+3*x)*b + 3*c' sage: repr_lincomb([('a', '1+x^2'), ('b', '-2+3*x'), ('c', 3)]) '(1+x^2)*a + (-2+3*x)*b + 3*c' sage: repr_lincomb([('a', 1), ('b', -2), ('c', -3)]) 'a - 2*b - 3*c' sage: t = PolynomialRing(RationalField(),'t').gen() sage: repr_lincomb([('a', -t), ('s', t - 2), ('', t^2 + 2)]) '-t*a + (t-2)*s + (t^2+2)'
>>> from sage.all import * >>> repr_lincomb([('a',Integer(1)), ('b',-Integer(2)), ('c',Integer(3))]) 'a - 2*b + 3*c' >>> repr_lincomb([('a',Integer(0)), ('b',-Integer(2)), ('c',Integer(3))]) '-2*b + 3*c' >>> repr_lincomb([('a',Integer(0)), ('b',Integer(2)), ('c',Integer(3))]) '2*b + 3*c' >>> repr_lincomb([('a',Integer(1)), ('b',Integer(0)), ('c',Integer(3))]) 'a + 3*c' >>> repr_lincomb([('a',-Integer(1)), ('b','2+3*x'), ('c',Integer(3))]) '-a + (2+3*x)*b + 3*c' >>> repr_lincomb([('a', '1+x^2'), ('b', '2+3*x'), ('c', Integer(3))]) '(1+x^2)*a + (2+3*x)*b + 3*c' >>> repr_lincomb([('a', '1+x^2'), ('b', '-2+3*x'), ('c', Integer(3))]) '(1+x^2)*a + (-2+3*x)*b + 3*c' >>> repr_lincomb([('a', Integer(1)), ('b', -Integer(2)), ('c', -Integer(3))]) 'a - 2*b - 3*c' >>> t = PolynomialRing(RationalField(),'t').gen() >>> repr_lincomb([('a', -t), ('s', t - Integer(2)), ('', t**Integer(2) + Integer(2))]) '-t*a + (t-2)*s + (t^2+2)'
Examples for
scalar_mult
:sage: repr_lincomb([('a',1), ('b',2), ('c',3)], scalar_mult='*') 'a + 2*b + 3*c' sage: repr_lincomb([('a',2), ('b',0), ('c',-3)], scalar_mult='**') '2**a - 3**c' sage: repr_lincomb([('a',-1), ('b',2), ('c',3)], scalar_mult='**') '-a + 2**b + 3**c'
>>> from sage.all import * >>> repr_lincomb([('a',Integer(1)), ('b',Integer(2)), ('c',Integer(3))], scalar_mult='*') 'a + 2*b + 3*c' >>> repr_lincomb([('a',Integer(2)), ('b',Integer(0)), ('c',-Integer(3))], scalar_mult='**') '2**a - 3**c' >>> repr_lincomb([('a',-Integer(1)), ('b',Integer(2)), ('c',Integer(3))], scalar_mult='**') '-a + 2**b + 3**c'
Examples for
scalar_mult
andis_latex
:sage: repr_lincomb([('a',-1), ('b',2), ('c',3)], is_latex=True) '-a + 2 b + 3 c' sage: repr_lincomb([('a',-1), ('b',-1), ('c',3)], is_latex=True, scalar_mult='*') '-a - b + 3 c' sage: repr_lincomb([('a',-1), ('b',2), ('c',-3)], is_latex=True, scalar_mult='**') '-a + 2**b - 3**c' sage: repr_lincomb([('a',-2), ('b',-1), ('c',-3)], is_latex=True, latex_scalar_mult='*') '-2*a - b - 3*c' sage: repr_lincomb([('a',-2), ('b',-1), ('c',-3)], is_latex=True, latex_scalar_mult='') '-2a - b - 3c'
>>> from sage.all import * >>> repr_lincomb([('a',-Integer(1)), ('b',Integer(2)), ('c',Integer(3))], is_latex=True) '-a + 2 b + 3 c' >>> repr_lincomb([('a',-Integer(1)), ('b',-Integer(1)), ('c',Integer(3))], is_latex=True, scalar_mult='*') '-a - b + 3 c' >>> repr_lincomb([('a',-Integer(1)), ('b',Integer(2)), ('c',-Integer(3))], is_latex=True, scalar_mult='**') '-a + 2**b - 3**c' >>> repr_lincomb([('a',-Integer(2)), ('b',-Integer(1)), ('c',-Integer(3))], is_latex=True, latex_scalar_mult='*') '-2*a - b - 3*c' >>> repr_lincomb([('a',-Integer(2)), ('b',-Integer(1)), ('c',-Integer(3))], is_latex=True, latex_scalar_mult='') '-2a - b - 3c'
Examples for
strip_one
:sage: repr_lincomb([ ('a',1), (1,-2), ('3',3) ]) 'a - 2*1 + 3*3' sage: repr_lincomb([ ('a',-1), (1,1), ('3',3) ]) '-a + 1 + 3*3' sage: repr_lincomb([ ('a',1), (1,-2), ('3',3) ], strip_one = True) 'a - 2 + 3*3' sage: repr_lincomb([ ('a',-1), (1,1), ('3',3) ], strip_one = True) '-a + 1 + 3*3' sage: repr_lincomb([ ('a',1), (1,-1), ('3',3) ], strip_one = True) 'a - 1 + 3*3'
>>> from sage.all import * >>> repr_lincomb([ ('a',Integer(1)), (Integer(1),-Integer(2)), ('3',Integer(3)) ]) 'a - 2*1 + 3*3' >>> repr_lincomb([ ('a',-Integer(1)), (Integer(1),Integer(1)), ('3',Integer(3)) ]) '-a + 1 + 3*3' >>> repr_lincomb([ ('a',Integer(1)), (Integer(1),-Integer(2)), ('3',Integer(3)) ], strip_one = True) 'a - 2 + 3*3' >>> repr_lincomb([ ('a',-Integer(1)), (Integer(1),Integer(1)), ('3',Integer(3)) ], strip_one = True) '-a + 1 + 3*3' >>> repr_lincomb([ ('a',Integer(1)), (Integer(1),-Integer(1)), ('3',Integer(3)) ], strip_one = True) 'a - 1 + 3*3'
Examples for
repr_monomial
:sage: repr_lincomb([('a',1), ('b',2), ('c',3)], repr_monomial = lambda s: s+"1") 'a1 + 2*b1 + 3*c1'
>>> from sage.all import * >>> repr_lincomb([('a',Integer(1)), ('b',Integer(2)), ('c',Integer(3))], repr_monomial = lambda s: s+"1") 'a1 + 2*b1 + 3*c1'