From functions's declaration: UpTriBddDenomInv: (M,R) > M ++ UpTriBddDenomInv(B,d) returns M, where ++ B is a nonsingular 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 axiom a:=matrix ([[1,
Type: Matrix(Integer)
axiom inverse(a)
Type: Union(Matrix(Fraction(Integer)),
axiom )expose TriangularMatrixOperations
Type: Matrix(Integer)
axiom UpTriBddDenomInv(a, axiom a:=matrix ([[1,
Type: Matrix(Integer)
axiom a:=transpose(a)
Type: Matrix(Integer)
axiom inverse(a)
Type: Union(Matrix(Fraction(Integer)),
axiom LowTriBddDenomInv(a,
Type: Matrix(Integer)
axiom 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 "fractionfree" ++ inverses of upper and lower triangular matrices over a integral ++ domain. By "fractionfree 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
