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 |