@@ -3525,7 +3525,8 @@ cdef class Matrix(Matrix1):
3525
3525
cdef Py_ssize_t i, j, m, n, r
3526
3526
n = self._nrows
3527
3527
3528
- tm = verbose("Computing Hessenberg Normal Form of %sx%s matrix"%(n, n))
3528
+ tm = verbose(f"Computing Hessenberg Normal Form of {n}x{n} matrix",
3529
+ level=2)
3529
3530
3530
3531
if not self.is_square():
3531
3532
raise TypeError("self must be square")
@@ -3576,7 +3577,8 @@ cdef class Matrix(Matrix1):
3576
3577
# column m, and we're only worried about column m-1 right now.
3577
3578
# Add u*column_j to column_m.
3578
3579
self.add_multiple_of_column_c(m, j, u, 0)
3579
- verbose("Finished Hessenberg Normal Form of %sx%s matrix"%(n, n), tm)
3580
+ verbose(f"Finished Hessenberg Normal Form of {n}x{n} matrix",
3581
+ level=2, t=tm)
3580
3582
3581
3583
def _charpoly_hessenberg(self, var):
3582
3584
"""
@@ -3769,12 +3771,12 @@ cdef class Matrix(Matrix1):
3769
3771
[0 0 1]
3770
3772
"""
3771
3773
from sage.matrix.matrix_space import MatrixSpace
3772
- tm = verbose("computing right kernel matrix over a number field for %sx%s matrix" % (self.nrows(), self.ncols()), level=1 )
3774
+ tm = verbose("computing right kernel matrix over a number field for %sx%s matrix" % (self.nrows(), self.ncols()), level=2 )
3773
3775
basis = self.__pari__().matker()
3774
3776
# Coerce PARI representations into the number field
3775
3777
R = self.base_ring()
3776
3778
basis = [[R(x) for x in row] for row in basis]
3777
- verbose("done computing right kernel matrix over a number field for %sx%s matrix" % (self.nrows(), self.ncols()), level=1 , t=tm)
3779
+ verbose("done computing right kernel matrix over a number field for %sx%s matrix" % (self.nrows(), self.ncols()), level=2 , t=tm)
3778
3780
return 'pivot-pari-numberfield', MatrixSpace(R, len(basis), ncols=self._ncols)(basis)
3779
3781
3780
3782
def _right_kernel_matrix_over_field(self, *args, **kwds):
@@ -3828,7 +3830,7 @@ cdef class Matrix(Matrix1):
3828
3830
[0 0 1]
3829
3831
"""
3830
3832
from sage.matrix.matrix_space import MatrixSpace
3831
- tm = verbose("computing right kernel matrix over an arbitrary field for %sx%s matrix" % (self.nrows(), self.ncols()), level=1 )
3833
+ tm = verbose("computing right kernel matrix over an arbitrary field for %sx%s matrix" % (self.nrows(), self.ncols()), level=2 )
3832
3834
E = self.echelon_form(*args, **kwds)
3833
3835
pivots = E.pivots()
3834
3836
pivots_set = set(pivots)
@@ -3857,7 +3859,7 @@ cdef class Matrix(Matrix1):
3857
3859
basis.append(v)
3858
3860
M = MS(basis, coerce=False)
3859
3861
tm = verbose("done computing right kernel matrix over an arbitrary field for %sx%s matrix"
3860
- % (self.nrows(), self.ncols()), level=1 , t=tm)
3862
+ % (self.nrows(), self.ncols()), level=2 , t=tm)
3861
3863
return 'pivot-generic', M
3862
3864
3863
3865
def _right_kernel_matrix_over_domain(self):
@@ -3915,15 +3917,15 @@ cdef class Matrix(Matrix1):
3915
3917
[0 0 1]
3916
3918
"""
3917
3919
tm = verbose("computing right kernel matrix over a domain for %sx%s matrix"
3918
- % (self.nrows(), self.ncols()), level=1 )
3920
+ % (self.nrows(), self.ncols()), level=2 )
3919
3921
d, _, v = self.smith_form()
3920
3922
basis = []
3921
3923
cdef Py_ssize_t i, nrows = self._nrows
3922
3924
for i in range(self._ncols):
3923
3925
if i >= nrows or d[i, i] == 0:
3924
3926
basis.append(v.column(i))
3925
3927
verbose("done computing right kernel matrix over a domain for %sx%s matrix"
3926
- % (self.nrows(), self.ncols()), level=1 , t=tm)
3928
+ % (self.nrows(), self.ncols()), level=2 , t=tm)
3927
3929
return 'computed-smith-form', self.new_matrix(nrows=len(basis), ncols=self._ncols, entries=basis)
3928
3930
3929
3931
def _right_kernel_matrix_over_integer_mod_ring(self):
@@ -4077,16 +4079,16 @@ cdef class Matrix(Matrix1):
4077
4079
....: sparse=False)
4078
4080
sage: B = copy(A).sparse_matrix()
4079
4081
sage: from sage.misc.verbose import set_verbose
4080
- sage: set_verbose(1 )
4082
+ sage: set_verbose(2 )
4081
4083
sage: D = A.right_kernel(); D
4082
- verbose 1 (<module>) computing a right kernel for 4x5 matrix over Rational Field
4084
+ verbose 2 (<module>) computing a right kernel for 4x5 matrix over Rational Field
4083
4085
...
4084
4086
Vector space of degree 5 and dimension 2 over Rational Field
4085
4087
Basis matrix:
4086
4088
[ 1 0 1 1/2 -1/2]
4087
4089
[ 0 1 -1/2 -1/4 -1/4]
4088
4090
sage: S = B.right_kernel(); S
4089
- verbose 1 (<module>) computing a right kernel for 4x5 matrix over Rational Field
4091
+ verbose 2 (<module>) computing a right kernel for 4x5 matrix over Rational Field
4090
4092
...
4091
4093
Vector space of degree 5 and dimension 2 over Rational Field
4092
4094
Basis matrix:
@@ -4145,11 +4147,11 @@ cdef class Matrix(Matrix1):
4145
4147
sage: Q = QuadraticField(-7)
4146
4148
sage: a = Q.gen(0)
4147
4149
sage: A = matrix(Q, [[2, 5-a, 15-a, 16+4*a], [2+a, a, -7 + 5*a, -3+3*a]])
4148
- sage: set_verbose(1 )
4150
+ sage: set_verbose(2 )
4149
4151
sage: A.right_kernel(algorithm='default')
4150
4152
verbose ...
4151
- verbose 1 (<module>) computing right kernel matrix over a number field for 2x4 matrix
4152
- verbose 1 (<module>) done computing right kernel matrix over a number field for 2x4 matrix
4153
+ verbose 2 (<module>) computing right kernel matrix over a number field for 2x4 matrix
4154
+ verbose 2 (<module>) done computing right kernel matrix over a number field for 2x4 matrix
4153
4155
...
4154
4156
Vector space of degree 4 and dimension 2 over
4155
4157
Number Field in a with defining polynomial x^2 + 7 with a = 2.645751311064591?*I
@@ -4209,11 +4211,11 @@ cdef class Matrix(Matrix1):
4209
4211
sage: A = matrix(GF(2), [[0, 1, 1, 0, 0, 0],
4210
4212
....: [1, 0, 0, 0, 1, 1,],
4211
4213
....: [1, 0, 0, 0, 1, 1]])
4212
- sage: set_verbose(1 )
4214
+ sage: set_verbose(2 )
4213
4215
sage: A.right_kernel(algorithm='default')
4214
4216
verbose ...
4215
- verbose 1 (<module>) computing right kernel matrix over integers mod 2 for 3x6 matrix
4216
- verbose 1 (<module>) done computing right kernel matrix over integers mod 2 for 3x6 matrix
4217
+ verbose ... (<module>) computing right kernel matrix over integers mod 2 for 3x6 matrix
4218
+ verbose ... (<module>) done computing right kernel matrix over integers mod 2 for 3x6 matrix
4217
4219
...
4218
4220
Vector space of degree 6 and dimension 4 over Finite Field of size 2
4219
4221
Basis matrix:
@@ -4274,10 +4276,10 @@ cdef class Matrix(Matrix1):
4274
4276
sage: A = matrix(F, 3, 4, [[ 1, a, 1+a, a^3+a^5],
4275
4277
....: [ a, a^4, a+a^4, a^4+a^8],
4276
4278
....: [a^2, a^6, a^2+a^6, a^5+a^10]])
4277
- sage: set_verbose(1 )
4279
+ sage: set_verbose(2 )
4278
4280
sage: A.right_kernel(algorithm='default')
4279
4281
verbose ...
4280
- verbose 1 (<module>) computing right kernel matrix over an arbitrary field for 3x4 matrix
4282
+ verbose 2 (<module>) computing right kernel matrix over an arbitrary field for 3x4 matrix
4281
4283
...
4282
4284
Vector space of degree 4 and dimension 2 over Finite Field in a of size 5^2
4283
4285
Basis matrix:
@@ -4339,23 +4341,23 @@ cdef class Matrix(Matrix1):
4339
4341
....: [0, 3, 1, 2, 3, 6, 2]],
4340
4342
....: sparse=False)
4341
4343
sage: B = copy(A).sparse_matrix()
4342
- sage: set_verbose(1 )
4344
+ sage: set_verbose(2 )
4343
4345
sage: D = A.right_kernel(); D
4344
- verbose 1 (<module>) computing a right kernel for 4x7 matrix over Integer Ring
4345
- verbose 1 (<module>) computing right kernel matrix over the integers for 4x7 matrix
4346
+ verbose ... (<module>) computing a right kernel for 4x7 matrix over Integer Ring
4347
+ verbose ... (<module>) computing right kernel matrix over the integers for 4x7 matrix
4346
4348
...
4347
- verbose 1 (<module>) done computing right kernel matrix over the integers for 4x7 matrix
4349
+ verbose ... (<module>) done computing right kernel matrix over the integers for 4x7 matrix
4348
4350
...
4349
4351
Free module of degree 7 and rank 3 over Integer Ring
4350
4352
Echelon basis matrix:
4351
4353
[ 1 12 3 14 -3 -10 1]
4352
4354
[ 0 35 0 25 -1 -31 17]
4353
4355
[ 0 0 7 12 -3 -1 -8]
4354
4356
sage: S = B.right_kernel(); S
4355
- verbose 1 (<module>) computing a right kernel for 4x7 matrix over Integer Ring
4356
- verbose 1 (<module>) computing right kernel matrix over the integers for 4x7 matrix
4357
+ verbose ... (<module>) computing a right kernel for 4x7 matrix over Integer Ring
4358
+ verbose ... (<module>) computing right kernel matrix over the integers for 4x7 matrix
4357
4359
...
4358
- verbose 1 (<module>) done computing right kernel matrix over the integers for 4x7 matrix
4360
+ verbose ... (<module>) done computing right kernel matrix over the integers for 4x7 matrix
4359
4361
...
4360
4362
Free module of degree 7 and rank 3 over Integer Ring
4361
4363
Echelon basis matrix:
@@ -4399,11 +4401,11 @@ cdef class Matrix(Matrix1):
4399
4401
sage: R.<y> = QQ[]
4400
4402
sage: A = matrix(R, [[ 1, y, 1+y^2],
4401
4403
....: [y^3, y^2, 2*y^3]])
4402
- sage: set_verbose(1 )
4404
+ sage: set_verbose(2 )
4403
4405
sage: A.right_kernel(algorithm='default', basis='echelon')
4404
4406
verbose ...
4405
- verbose 1 (<module>) computing right kernel matrix over a domain for 2x3 matrix
4406
- verbose 1 (<module>) done computing right kernel matrix over a domain for 2x3 matrix
4407
+ verbose 2 (<module>) computing right kernel matrix over a domain for 2x3 matrix
4408
+ verbose 2 (<module>) done computing right kernel matrix over a domain for 2x3 matrix
4407
4409
...
4408
4410
Free module of degree 3 and rank 1 over
4409
4411
Univariate Polynomial Ring in y over Rational Field
@@ -4988,7 +4990,7 @@ cdef class Matrix(Matrix1):
4988
4990
return K
4989
4991
4990
4992
R = self.base_ring()
4991
- tm = verbose(lazy_string("computing a right kernel for %sx%s matrix over %s", self.nrows(), self.ncols(), R), level=1 )
4993
+ tm = verbose(lazy_string("computing a right kernel for %sx%s matrix over %s", self.nrows(), self.ncols(), R), level=2 )
4992
4994
4993
4995
# Sanitize basis format
4994
4996
# 'computed' is OK in right_kernel_matrix(), but not here
@@ -5010,7 +5012,7 @@ cdef class Matrix(Matrix1):
5010
5012
else:
5011
5013
K = ambient.submodule_with_basis(M.rows(), already_echelonized=False, check=False)
5012
5014
5013
- verbose(lazy_string("done computing a right kernel for %sx%s matrix over %s", self.nrows(), self.ncols(), R), level=1 , t=tm)
5015
+ verbose(lazy_string("done computing a right kernel for %sx%s matrix over %s", self.nrows(), self.ncols(), R), level=2 , t=tm)
5014
5016
self.cache('right_kernel', K)
5015
5017
return K
5016
5018
@@ -5162,10 +5164,10 @@ cdef class Matrix(Matrix1):
5162
5164
if K is not None:
5163
5165
return K
5164
5166
5165
- tm = verbose("computing left kernel for %sx%s matrix" % (self.nrows(), self.ncols()), level=1 )
5167
+ tm = verbose("computing left kernel for %sx%s matrix" % (self.nrows(), self.ncols()), level=2 )
5166
5168
K = self.transpose().right_kernel(*args, **kwds)
5167
5169
self.cache('left_kernel', K)
5168
- verbose("done computing left kernel for %sx%s matrix" % (self.nrows(), self.ncols()), level=1 , t=tm)
5170
+ verbose("done computing left kernel for %sx%s matrix" % (self.nrows(), self.ncols()), level=2 , t=tm)
5169
5171
return K
5170
5172
5171
5173
kernel = left_kernel
@@ -5680,7 +5682,7 @@ cdef class Matrix(Matrix1):
5680
5682
B = g(self)
5681
5683
t2 = verbose('decomposition -- raising g(self) to the power %s'%m, level=2)
5682
5684
B = B ** m
5683
- verbose('done powering', t2)
5685
+ verbose('done powering', level=2, t= t2)
5684
5686
t = verbose('decomposition -- done computing g(self)', level=2, t=t)
5685
5687
E.append((B.kernel(), m==1))
5686
5688
t = verbose('decomposition -- time to compute kernel', level=2, t=t)
@@ -5772,11 +5774,11 @@ cdef class Matrix(Matrix1):
5772
5774
if M.degree() != self.ncols():
5773
5775
raise ArithmeticError("M must be a subspace of an %s-dimensional space" % self.ncols())
5774
5776
5775
- time = verbose(t=0)
5777
+ time = verbose(level=2, t=0)
5776
5778
5777
5779
# 1. Restrict
5778
5780
B = self.restrict(M, check=check_restrict)
5779
- time0 = verbose("decompose restriction -- ", time)
5781
+ time0 = verbose("decompose restriction -- ", level=2, t= time)
5780
5782
5781
5783
# 2. Decompose restriction
5782
5784
D = B.decomposition(**kwds)
@@ -5791,13 +5793,13 @@ cdef class Matrix(Matrix1):
5791
5793
# combination of the basis of W, and these linear combinations
5792
5794
# define the corresponding subspaces of the ambient space M.
5793
5795
5794
- verbose("decomposition -- ", time0)
5796
+ verbose("decomposition -- ", level=2, t= time0)
5795
5797
C = M.basis_matrix()
5796
5798
5797
5799
D = [((W.basis_matrix() * C).row_module(self.base_ring()), is_irred) for W, is_irred in D]
5798
5800
D = decomp_seq(D)
5799
5801
5800
- verbose(t=time)
5802
+ verbose(level=2, t=time)
5801
5803
return D
5802
5804
5803
5805
def restrict(self, V, check=True):
@@ -6040,9 +6042,9 @@ cdef class Matrix(Matrix1):
6040
6042
raise ArithmeticError("self must be a square matrix")
6041
6043
n = self.nrows()
6042
6044
v = sage.modules.free_module.VectorSpace(self.base_ring(), n).gen(i)
6043
- tm = verbose('computing iterates...')
6045
+ tm = verbose('computing iterates...', level=2 )
6044
6046
cols = self.iterates(v, 2*n).columns()
6045
- tm = verbose('computed iterates', tm)
6047
+ tm = verbose('computed iterates', level=2, t= tm)
6046
6048
f = None
6047
6049
# Compute the minimal polynomial of the linear recurrence
6048
6050
# sequence corresponding to the 0-th entries of the iterates,
@@ -6052,9 +6054,9 @@ cdef class Matrix(Matrix1):
6052
6054
else:
6053
6055
R = [t]
6054
6056
for i in R:
6055
- tm = verbose('applying berlekamp-massey')
6057
+ tm = verbose('applying berlekamp-massey', level=2 )
6056
6058
g = berlekamp_massey.berlekamp_massey(cols[i].list())
6057
- verbose('berlekamp-massey done', tm)
6059
+ verbose('berlekamp-massey done', level=2, t= tm)
6058
6060
if f is None:
6059
6061
f = g
6060
6062
else:
@@ -8100,7 +8102,7 @@ cdef class Matrix(Matrix1):
8100
8102
if self.fetch('in_echelon_form'):
8101
8103
return self.fetch('pivots')
8102
8104
8103
- _ = verbose('generic in-place Gauss elimination on %s x %s matrix using %s algorithm' % (self._nrows, self._ncols, algorithm))
8105
+ _ = verbose('generic in-place Gauss elimination on %s x %s matrix using %s algorithm' % (self._nrows, self._ncols, algorithm), level=2 )
8104
8106
self.check_mutability()
8105
8107
cdef Matrix A
8106
8108
@@ -8852,7 +8854,7 @@ cdef class Matrix(Matrix1):
8852
8854
[ 0 0 0 0]
8853
8855
[ 0 0 0 0]
8854
8856
"""
8855
- tm = verbose('strassen echelon of %s x %s matrix'%(self._nrows, self._ncols))
8857
+ tm = verbose('strassen echelon of %s x %s matrix'%(self._nrows, self._ncols), level=2 )
8856
8858
8857
8859
self.check_mutability()
8858
8860
@@ -8872,7 +8874,7 @@ cdef class Matrix(Matrix1):
8872
8874
from sage.matrix import strassen
8873
8875
pivots = strassen.strassen_echelon(self.matrix_window(), cutoff)
8874
8876
self.cache('pivots', pivots)
8875
- verbose('done with strassen', tm)
8877
+ verbose('done with strassen', level=2, t= tm)
8876
8878
8877
8879
cpdef matrix_window(self, Py_ssize_t row=0, Py_ssize_t col=0,
8878
8880
Py_ssize_t nrows=-1, Py_ssize_t ncols=-1,
0 commit comments