@@ -229,18 +229,6 @@ Return the zero matrix in the given matrix space.
229
229
"""
230
230
zero (a:: MatSpace ) = a ()
231
231
232
- @doc raw """
233
- zero(x::MatrixElem{T}, R::NCRing, r::Int, c::Int) where T <: NCRingElement
234
- zero(x::MatrixElem{T}, R::NCRing=base_ring(x)) where T <: NCRingElement
235
- zero(x::MatrixElem{T}, r::Int, c::Int) where T <: NCRingElement
236
-
237
- Return a zero matrix similar to the given matrix, with optionally different
238
- base ring or dimensions.
239
- """
240
- zero (x:: MatrixElem{T} , R:: NCRing = base_ring (x)) where T <: NCRingElement = zero (x, R, nrows (x), ncols (x))
241
- zero (x:: MatrixElem{T} , R:: NCRing , r:: Int , c:: Int ) where T <: NCRingElement = zero! (similar (x, R, r, c))
242
- zero (x:: MatrixElem{T} , r:: Int , c:: Int ) where T <: NCRingElement = zero (x, base_ring (x), r, c)
243
-
244
232
@doc raw """
245
233
one(a::MatSpace)
246
234
@@ -398,19 +386,37 @@ end
398
386
#
399
387
# ##############################################################################
400
388
401
- function _similar (x:: MatrixElem{T} , R:: NCRing , r:: Int , c:: Int ) where T <: NCRingElement
402
- TT = elem_type (R)
403
- M = Matrix {TT} (undef, (r, c))
404
- z = x isa MatElem ? Generic. MatSpaceElem {TT} (R, M) : Generic. MatRingElem {TT} (R, M)
405
- return z
406
- end
407
-
408
- similar (x:: MatElem , R:: NCRing , r:: Int , c:: Int ) = _similar (x, R, r, c)
389
+ @doc raw """
390
+ similar(x::MatElem{T}, R::NCRing, r::Int, c::Int) where T <: NCRingElement
391
+ similar(x::MatElem{T}, R::NCRing) where T <: NCRingElement
392
+ similar(x::MatElem{T}, r::Int, c::Int) where T <: NCRingElement
393
+ similar(x::MatElem{T}) where T <: NCRingElement
409
394
410
- similar (x:: MatElem , R:: NCRing = base_ring (x)) = similar (x, R, nrows (x), ncols (x))
395
+ Create an uninitialized matrix over the given ring and dimensions,
396
+ with defaults based upon the given source matrix `x`.
397
+ """
398
+ similar (x:: MatElem , R:: NCRing , r:: Int , c:: Int ) = zero_matrix (R, r, c)
399
+
400
+ similar (x:: MatElem , R:: NCRing ) = similar (x, R, nrows (x), ncols (x))
411
401
412
402
similar (x:: MatElem , r:: Int , c:: Int ) = similar (x, base_ring (x), r, c)
413
403
404
+ similar (x:: MatElem ) = similar (x, nrows (x), ncols (x))
405
+
406
+ @doc raw """
407
+ zero(x::MatElem{T}, R::NCRing, r::Int, c::Int) where T <: NCRingElement
408
+ zero(x::MatElem{T}, r::Int, c::Int) where T <: NCRingElement
409
+ zero(x::MatElem{T}, R::NCRing) where T <: NCRingElement
410
+ zero(x::MatElem{T}) where T <: NCRingElement
411
+
412
+ Create an zero matrix over the given ring and dimensions,
413
+ with defaults based upon the given source matrix `x`.
414
+ """
415
+ zero (x:: MatElem{T} , R:: NCRing ) where T <: NCRingElement = zero (x, R, nrows (x), ncols (x))
416
+ zero (x:: MatElem{T} ) where T <: NCRingElement = zero (x, nrows (x), ncols (x))
417
+ zero (x:: MatElem{T} , R:: NCRing , r:: Int , c:: Int ) where T <: NCRingElement = zero! (similar (x, R, r, c))
418
+ zero (x:: MatElem{T} , r:: Int , c:: Int ) where T <: NCRingElement = zero! (similar (x, r, c))
419
+
414
420
# ##############################################################################
415
421
#
416
422
# Canonicalisation
@@ -1014,7 +1020,7 @@ function +(x::T, y::MatrixElem{T}) where {T <: NCRingElem}
1014
1020
end
1015
1021
1016
1022
@doc raw """
1017
- +(x::Generic. MatrixElem{T}, y::T) where {T <: RingElem}
1023
+ +(x::MatrixElem{T}, y::T) where {T <: RingElem}
1018
1024
1019
1025
Return $x + S(y)$ where $S$ is the parent of $x$.
1020
1026
"""
0 commit comments