help-octave
[Top][All Lists]

Re: algebraic manipulator in octave

 From: Geraint Paul Bevan Subject: Re: algebraic manipulator in octave Date: Sun, 22 Feb 2004 00:14:19 +0000 User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) Gecko/20031221 Thunderbird/0.4

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Paul Kienzle wrote:
|
| On Feb 21, 2004, at 3:15 PM, Arnau Mir wrote:
|
|> Hello.
|>
|> Can I use octave as algebraic manipulator?
|> For example, can I make with octave the following:
|>
|> a x^2+b x+c=0
|>
|> and octave responses a solution as a function of a,b c?
|
|
| octave-forge (http://octave.sf.net) has a symbolic
| package which is a wrapper around GiNaC.  It
| preserves symbols through mathematical operations.
| Later you can substitute values for the symbols.
|
| It looks to have some numeric solvers, but I don't
| see anything to solve for x symbolically.
|
| Paul Kienzle
|

I have just tried using ginsh directly to solve this equation, but it
seems that ginsh can only solve linear systems:

| lsolve ( { a*x^2 + b*x + c == 0 } , { x } );
lsolve: system is not linear

This seems to agree with the GiNaC tutorial pages
(http://www.ginac.de/tutorial) which state that lsolve is just a wrapper
for matrix::solve which "linear systems may be solved with".

Therefore, I doubt that any of the Octave interfaces to GiNaC/ginsh will
be able to solve this problem symbolically.

Maxima (http://maxima.sourceforge.net) is capable of solving the
problem, but I do not know of any Octave interface to it,

(C1) solve ( a*x^2 + b*x + c , x );

2                         2
SQRT(b  - 4 a C) + b      SQRT(b  - 4 a C) - b
(D1)        [x = - --------------------, x = --------------------]
2 a                       2 a

Another package, Reduce (http://www.uni-koeln.de/REDUCE/) is also
certainly capable of solving non-linear expressions, but is
unfortunately not free software.

1: solve ( a*x^2 + b*x + c , x );

~                  2
~       - 4*a*c + b   0.5
~    (---------------)    - 0.5*b
~            4
{x=------------------------------,
~                 a

~                     2
~          - 4*a*c + b   0.5
~     - (---------------)    - 0.5*b
~               4
~ x=---------------------------------}
~                   a

- --
Geraint Bevan
http://homepage.ntlworld.com/geraint.bevan

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iEYEARECAAYFAkA39FsACgkQcXV3N50QmNODiQCfU+Fyz5MvOGdSkPuWLMvX7ltQ
K0oAnA3MA4+39IxNmyUerb8MJMCLCBEF
=mfnD
-----END PGP SIGNATURE-----

-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------

reply via email to