Re: How to use error message return values
- To: mathgroup at smc.vnet.net
- Subject: [mg37731] Re: [mg37705] How to use error message return values
- From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
- Date: Sun, 10 Nov 2002 05:38:32 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
One possibility:
inv[M_, p_] := Block[{$Messages = {}}, Check[Inverse[M, Modulus -> p],
"Your
matrix has no inverse modulo " <> ToString[p] <> ". Use another
one."]]
In[2]:=
a = {{5, 17}, {4, 15}};
In[3]:=
b= {{5, 5}, {5, 5}};
In[4]:=
inv[a, 26]
Out[4]=
{{17,5},{18,23}}
In[5]:=
inv[b,26]
Out[5]=
Your matrix has no inverse modulo 26. Use another one.
Andrzej Kozlowski
Yokohama, Japan
http://www.mimuw.edu.pl/~akoz/
http://platon.c.u-tokyo.ac.jp/andrzej/
On Saturday, November 9, 2002, at 02:29 PM, flip wrote:
> Hello,
>
> I have a module which allows a user to definea matrix.
>
> This matrix may, of course, have an inverse or not have an inverse.
>
> As an example,
>
> In[15]:=
> c = {{5, 17}, {4, 15}};
>
> In[16]:=
> cinv = Inverse[c, Modulus -> 26]
>
> Out[16]=
> {{17, 5}, {18, 23}}
>
> In[17]:=
> c = {{5, 5}, {5, 5}};
>
> In[18]:=
> cinv = Inverse[c, Modulus -> 26]
>
> Inverse::"sing": "Matrix \!\({\(\({5, 5}\)\), \(\({5, 5}\)\)}\) is
> singular."
>
> Out[18]=
> Inverse[{{5, 5}, {5, 5}}, Modulus -> 26]
>
> How can I have my module fail in the case where an inverse does not
> exist?
> I want to end the module and give the user an error message stating to
> use a
> new matrix: this one does not have an inverse modulo 26.
>
> How can we in general take advantage of error messages or error return
> values in order to do this?
>
> Thanks, Flip
>
> Note: remove "_alpha" to send me an email.
>
>
>
>
>