login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for #173 (1 . failed) cannot be coerced to mode (Integer) in TriangularMatrixOperations revision 2 of 2

1 2
Editor: test1
Time: 2014/04/23 19:10:36 GMT+0
Note:

added:

From test1 Wed Apr 23 19:10:36 +0000 2014
From: test1
Date: Wed, 23 Apr 2014 19:10:36 +0000
Subject: 
Message-ID: <20140423191036+0000@axiom-wiki.newsynthesis.org>

Severity: normal => wishlist 


Submitted by : (unknown) at: 2007-11-17T22:02:23-08:00 (16 years ago)
Name :
Axiom Version :
Category : Severity : Status :
Optional subject :  
Optional comment :

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,2],[0,9]])

\label{eq1}\left[ 
\begin{array}{cc}
1 & 2 
\
0 & 9 
(1)
Type: Matrix(NonNegativeInteger?)
fricas
inverse(a)

\label{eq2}\left[ 
\begin{array}{cc}
1 & -{\frac{2}{9}}
\
0 &{\frac{1}{9}}
(2)
Type: Union(Matrix(Fraction(Integer)),...)
fricas
)expose TriangularMatrixOperations
TriangularMatrixOperations is now explicitly exposed in frame initial UpTriBddDenomInv(a,9)

\label{eq3}\left[ 
\begin{array}{cc}
9 & - 2 
\
0 & 1 
(3)
Type: Matrix(Integer)
fricas
UpTriBddDenomInv(a,7)
>> Error detected within library code: "failed" of mode Union(Integer,"failed") cannot be coerced to mode Integer

fricas
a:=matrix ([[1,2],[0,9]])

\label{eq4}\left[ 
\begin{array}{cc}
1 & 2 
\
0 & 9 
(4)
Type: Matrix(NonNegativeInteger?)
fricas
a:=transpose(a)

\label{eq5}\left[ 
\begin{array}{cc}
1 & 0 
\
2 & 9 
(5)
Type: Matrix(NonNegativeInteger?)
fricas
inverse(a)

\label{eq6}\left[ 
\begin{array}{cc}
1 & 0 
\
-{\frac{2}{9}}&{\frac{1}{9}}
(6)
Type: Union(Matrix(Fraction(Integer)),...)
fricas
LowTriBddDenomInv(a,9)

\label{eq7}\left[ 
\begin{array}{cc}
9 & 0 
\
- 2 & 1 
(7)
Type: Matrix(Integer)
fricas
LowTriBddDenomInv(a,7)
>> Error detected within library code: "failed" of mode Union(Integer,"failed") cannot be coerced to mode Integer

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.

I know it is false but... --unknown, Sun, 10 Jul 2005 10:02:41 -0500 reply
But I don't like computer 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