@@ -411,35 +411,26 @@ end
411
411
# # Scalar multiplication
412
412
# ##############################################################################
413
413
414
- function multiply_by_nonzero_scalar (u:: PointVector{QQFieldElem} , c:: QQFieldElem )
415
- return u .* c
416
- end
417
- function multiply_by_nonzero_scalar (u:: RayVector{QQFieldElem} , c:: QQFieldElem )
418
- return (c< 0 ? - u : u)
419
- end
420
-
421
- function * (c:: QQFieldElem , Sigma:: PolyhedralFan )
422
- # if scalar is zero, return polyhedral complex consisting only of the origin
414
+ function * (c:: scalar_types_extended , Sigma:: PolyhedralFan )
415
+ # if scalar is zero, return polyhedral fan consisting only of the origin
423
416
if iszero (c)
424
- return polyhedral_complex ( convex_hull (zero_matrix (QQ ,1 ,ambient_dim (Sigma))))
417
+ return polyhedral_fan ( positive_hull (zero_matrix (coefficient_field (Sigma) ,1 ,ambient_dim (Sigma))))
425
418
end
426
419
427
- # if scalar is non-zero, multiple all vertices and rays by said scalar
420
+ # if scalar is non-zero, multiple all rays by said scalar
428
421
SigmaRays = first (rays_modulo_lineality (Sigma))
429
422
SigmaLineality = lineality_space (Sigma)
430
423
SigmaIncidence = maximal_cones (IncidenceMatrix,Sigma)
431
- return polyhedral_fan (SigmaIncidence, multiply_by_nonzero_scalar .( SigmaRays,c) , SigmaLineality)
424
+ return polyhedral_fan (coefficient_field (Sigma), SigmaIncidence, SigmaRays .* c , SigmaLineality)
432
425
end
433
- * (c:: RationalUnion , Sigma:: PolyhedralFan ) = QQ (c)* Sigma
434
- * (Sigma:: PolyhedralFan ,c:: RationalUnion ) = c* Sigma
426
+ * (Sigma:: PolyhedralFan ,c:: scalar_types_extended ) = c* Sigma
435
427
436
428
# ##############################################################################
437
429
# # Negation
438
430
# ##############################################################################
439
431
440
432
function - (Sigma:: PolyhedralFan )
441
- SigmaRays = first (rays_modulo_lineality (Sigma))
442
- SigmaLineality = lineality_space (Sigma)
433
+ SigmaRays, SigmaLineality = first (rays_modulo_lineality (Sigma))
443
434
SigmaIncidence = maximal_cones (IncidenceMatrix,Sigma)
444
- return polyhedral_fan (SigmaIncidence, - SigmaRays, SigmaLineality)
435
+ return polyhedral_fan (coefficient_field (Sigma), SigmaIncidence, - SigmaRays, SigmaLineality)
445
436
end
0 commit comments