From functions's declaration: 
    UpTriBddDenomInv: (M,R) -> M
      ++ UpTriBddDenomInv(B,d) returns M, where
      ++ B is a non-singular upper triangular matrix and d is an
      ++ element of R such that \spad{M = d * inv(B)} has entries in R.
Here, it's false, but may be use another error message fricas (1) -> a:=matrix ([[1, 
 Type: Matrix(NonNegativeInteger?) 
fricas inverse(a) 
 Type: Union(Matrix(Fraction(Integer)), 
fricas )expose TriangularMatrixOperations 
 Type: Matrix(Integer) 
fricas UpTriBddDenomInv(a, fricas a:=matrix ([[1, 
 Type: Matrix(NonNegativeInteger?) 
fricas a:=transpose(a) 
 Type: Matrix(NonNegativeInteger?) 
fricas inverse(a) 
 Type: Union(Matrix(Fraction(Integer)), 
fricas LowTriBddDenomInv(a, 
 Type: Matrix(Integer) 
fricas LowTriBddDenomInv(a, what's wrong with that? --unknown,  Fri, 01 Jul 2005 03:05:23 -0500 reply From the package:
++ This package provides functions that compute "fraction-free" ++ inverses of upper and lower triangular matrices over a integral ++ domain. By "fraction-free inverse" we mean the following: ++ given a matrix B with entries in R and an element d of R such that ++ d* inv(B) also has entries in R, we return d * inv(B). So if you enter B and d such that d * inv(B) does not have entries in R, it is an error. The package is for internal use (that why it is not exposed) where d is always divisible by the determinant of B. But I don't likecomputer error. I prefer some mathematical message for example: 
d is not an element of R such that \spad{M = d * inv(B)} has entries in R.
Severity: normal => wishlist 
 |