axiom-math
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-math] Axiom: Errors on suse 10.2, 32 bit


From: Constantine Frangos
Subject: Re: [Axiom-math] Axiom: Errors on suse 10.2, 32 bit
Date: Thu, 1 Nov 2007 22:02:53 +0200

Dear Daniel,

Thanks for the detailed analysis of the problem - much appreciated.

I have written a short script axiom_fix.input with the command you suggested 
and which I run at startup:)read axiom_fix.input

)lisp (setf si::*system-directory* ".")

As you predicted there are no more error messages of this type.

Any assistance with the following would be appreciated:

(1) I am trying to run the program below testkinemat1, but axiom does not 
seem to find the built-in functions nullity() (and simplify()) for the 
symbolic matrix Acon, and gives error messages.

However,  simplify seems to work ok for scalar arguments:

(29) -> simplify(sin(x)^2+cos(x)^2) 

   (29)  1
                                                     Type: Expression Integer
(30) -> 


(2) The axiom syntax of piles/underscores _ , etc seems quite difficult to 
use in developing complicated programs.  Any detailed examples of nontrivial 
programs using axiom constructs (variable declarations, loops, etc) would be 
appreciated.

Thanks very much.

Regards,

C. Frangos.



(26) -> testkinemat1();               
   There are 3 exposed and 1 unexposed library operations named nullity
      having 1 argument(s) but none was determined to be applicable. 
      Use HyperDoc Browse, or issue
                             )display op nullity
      to learn more about the available operations. Perhaps 
      package-calling the operation or using coercions on the arguments
      will allow you to apply the operation.
   Cannot find a definition or applicable library operation named 
      nullity with argument type(s) 
                          Matrix Expression Integer
      
      Perhaps you should use "@" to indicate the required return type, 
      or "$" to specify which version of the function you need.
   AXIOM will attempt to step through and interpret the code.
   There are 3 exposed and 1 unexposed library operations named nullity
      having 1 argument(s) but none was determined to be applicable. 
      Use HyperDoc Browse, or issue
                             )display op nullity
      to learn more about the available operations. Perhaps 
      package-calling the operation or using coercions on the arguments
      will allow you to apply the operation.
 
   Cannot find a definition or applicable library operation named 
      nullity with argument type(s) 
                          Matrix Expression Integer
      
      Perhaps you should use "@" to indicate the required return type, 
      or "$" to specify which version of the function you need.
(26) -> 







testkinemat1() ==
--)read expandsincos.input
 Acon := matrix([[1 , 0 , Lo1*sin(phi) , -sin(phi)*a , 0 , 0 , 0 , 0 , 0],_
[0 , 1 , -Lo1*cos(phi) , a*cos(phi) , 0 , 0 , 0 , 0 , 0],_
[1 , 0 , -Lo1*sin(phi) , 0 , -a*sin(phi), 0 , 0 , 0 , 0],_
[0 , 1 , Lo1*cos(phi) , 0 , a*cos(phi) , 0 , 0 , 0 , 0],_
[1,0,-Lc*cos(phi)+Lo1*sin(phi),0,0,0,-a*sin(phi)*cos(delta3)_
-a*cos(phi)*sin(delta3),0,0],_
[0,1,-Lc*sin(phi)-Lo1*cos(phi),0,0,0,a*cos(phi)*cos(delta3)_
-a*sin(phi)*sin(delta3),0,0],_ 
[1,0,-Lc*cos(phi)-Lo1*sin(phi),0,0,(-2*sin(phi)*Lo1*sin(delta3)-sin(phi)*_
Lc*cos(delta3)-cos(phi)*Lc*sin(delta3))*a/sqrt(4*Lo1^2*sin(delta3)^2+_
4*Lo1*sin(delta3)*Lc*cos(delta3)+Lc^2*cos(delta3)^2+Lc^2*sin(delta3)^2),0,0,0],_
 
 
[0,1,-Lc*sin(phi)+Lo1*cos(phi),0,0,a*(2*cos(phi)*Lo1*sin(delta3)+_
cos(phi)*Lc*cos(delta3)-sin(phi)*Lc*sin(delta3))/sqrt(4*Lo1^2*sin(delta3)^2+_
4*Lo1*sin(delta3)*Lc*cos(delta3)+Lc^2*cos(delta3)^2+Lc^2*sin(delta3)^2),0,0,0],_
[0 , 0 , 0 , 0 , 0 , 1 , 1 , 0 , -k]])
-- pause()
 Acon := simplify(Acon)
 rankAcon := rank(Acon)
 Acone := rowEchelon(Acon)
 Aconnull := nullSpace(Acon)
 Aconnullity := nullity(Acon)
--detAcon:=determinant(Acon)
--detAcon:=factor(detAcon)
--detAcon:=expandsincos(detAcon)
--detAcon:=simplify(detAcon)
--end of program.








On Thursday 01 November 2007 02:57, you wrote:
> > I have installed the axiom binaries on a suse linux 10.2, 32 bit system,
> > and am trying some basic commands.
> >
> > I am getting the errors below.
>
> The language you type into Axiom is interpreted by a lisp subsystem, more
> specifically GCL.  Every time you define a function in Axiom, this
> triggers a lisp function to be generated; GCL actually writes out C source
> files, compiles them with GCC, and links the objects back in.
>
> Below are my ramblings as I found a solution.
>
> > (11) -> draw(sin(x),x=-1..1);
> >   Loading /home/apps/axiombin/mnt/fedora5/algebra/SEG.o for domain
> >      Segment
> >   Loading /home/apps/axiombin/mnt/fedora5/algebra/SEGBIND.o for domain
> >      SegmentBinding
> >   Loading /home/apps/axiombin/mnt/fedora5/algebra/FLOAT.o for domain
> >      Float
>
> Here we see GCL loading the object files for some precompiled functions.
>
> >   >> System error:
> >
> >   (SYSTEM "gcc -c -Wall -DVOL=volatile -fsigned-char -pipe
> > -I/root/axiom/mnt/fedora5/bin/../h  -O3 -fomit-frame-pointer -c
> > \"/tmp/gazonk7.c\" -o \"/tmp/gazonk7.o\" -w") returned a non-zero value
> > 0.
>
> Here we see GCL trying to compile a new function... and failing.
>
> Based on the previous error message, GCC was having trouble with the
> "-I/root/axiom/mnt/fedora5/bin/../h".  Clearly not good; this path
> contains a reference to fedora5, while you're running suse and probably
> not as root...
>
> This is a funny artifact of how Axiom is compiled.  This path points into
> the compilation directory, but is totally unnecessary for Axiom to run
> properly.  On systems where the path doesn't exist, everything is fine.
> Unfortunately, GCC sees that this path *might* exist but that your user
> doesn't have permissions to look inside /root and see if it does...
>
> For fun, run
>
> > strings `which AXIOMsys` | grep /root/axiom/mnt/fedora5/bin
>
> You should see a line like
> #+:akcl (setq si::*system-directory* "/root/axiom/mnt/fedora5/bin/")
>
> That's where the problem lies.
>
> To work around this, type the following line
> )lisp (setf si::*system-directory* ".")
> as your first command to Axiom after it starts up.
>
> All your problems (wrt the above error) should go away.
>
> Later,
> Daniel






reply via email to

[Prev in Thread] Current Thread [Next in Thread]