  Rank: Advanced Member Groups: Registered
Joined: 15/04/2012(UTC) Posts: 1,822  Was thanked: 1001 time(s) in 641 post(s)
|
This plugin provides access to the free and open source computer algebra system Maxima. With the function MaximaTakeover() you can switch on symbolic support for some functions in SMath: int(), diff(), det(), sum() and lim(). SMath Studio without Maxima  SMath Studio with Maxima Major features:- Symbolic integrals, limits, sums
- Unicode support for expressions and graphics
- Dedicated functions for equation solving and solution handling like Solve(), ODE.2() and Assign()
- Nearly complete access to the features of Maxima's draw package via dedicated functions Draw2D() and Draw3D()
- Interactive Draw2D and Draw3D regions (scaling, rotating, setting menu)
- Convenient access to the least square fit package via Fit(), MSE() and Residuals()
- Convenient debugging function MaximaLog()
- Log, Debug and Settings windows under Insert> Maxima
- Each SMath instance has a separate Maxima session (communication via socket)
- Extensive documentation in the Interactive handbook and in the pdf Handbuch, available via Extension Manager inside SMath
- Tested under Win7 only.
Installation/SetupWorks best with the latest Maxima nightly build. - Download the installer and install Maxima to the default location (at least avoid special characters in the path name).
Maxima and SMath must be on the same drive.
- If SMath older than 0.99.6824: Select SBCL (Steel bank common lisp) as the default lisp for Maxima: Start Menu> All programs> maxima-current> Configure...
- In SMath 0.98.6398 or newer: Open
Update16.sm (196kb) downloaded 1,386 time(s). and install or update missing plugins.
- The settings dialog will be offered to you (or invoke it using Insert> Maxima> settings)
- Specify the path to Maxima either by navigating ("Select directory" button) or entering into the text field.
Just specify the top level Maxima directory (e.g. C:\maxima-current)
- Press "Save and Restart". If the progress bar and the confirmation message appear
- Close and re-open SMath in order to enable the installed plugins
The plugin is maintained by Martin Kraska at Brandenburg University of Applied Sciences. Acknowledgements: - The initial code was written by Kay Graubmann, student at THB in 2013 and 2014. - The code re-uses parts of the Maple Wrapper by Viacheslav Mezentsev and was also inspired by the Statistical Tools plugin by Davide Carpi. - Andrey Ivashov provided the base for all this and helped in the final publishing phase. - Davide Carpi and Andrey Ivashov did maintenance work (adjustment to SMath API changes) and helped getting started with c# and Visual Studio. - The Maxima team and the Maxima discussion list are always helpful. Please report any issue in this forum topic or in the bug tracking system. Edited by user 08 September 2018 01:38:48(UTC)
| Reason: Not specified mkraska attached the following image(s): |
|
 6 users thanked mkraska for this useful post.
|
on 20/09/2013(UTC), on 20/09/2013(UTC), on 20/09/2013(UTC), on 20/09/2013(UTC), on 20/09/2013(UTC), on 22/03/2019(UTC)
|
|
  Rank: Advanced Member Groups: Registered, Advanced Member Joined: 13/01/2012(UTC) Posts: 2,557   Location: Italy Was thanked: 1279 time(s) in 841 post(s)
|
I'll test this plugin ASAP, seems a huge work  About variable's definition: Code:store.AppendDefinition("varible_name", Term[] answer, new Term[0]);
(answer is the RHS) Best regards, Davide Edited by user 20 September 2013 17:09:12(UTC)
| Reason: Not specified |
If you like my plugins please consider a donation to SMath Studio; for personal contributions to me: paypal.me/dcprojects |
 1 user thanked Davide Carpi for this useful post.
|
|
|
  Rank: Advanced Member Groups: Registered
Joined: 30/03/2011(UTC) Posts: 393
Was thanked: 132 time(s) in 113 post(s)
|
|
 1 user thanked kilele for this useful post.
|
|
|
  Rank: Administration Groups: Registered, Advanced Member Joined: 23/06/2009(UTC) Posts: 1,740   Was thanked: 318 time(s) in 268 post(s)
|
Many thanks to Kay and Martin I really enjoyed browsing the Martin's Handbook with Maxima examples. I can see there are some problems with localization settings, (point, coma <=versus=> coma, semicolon). I had no problems with the Maxima examples until I changed to point as decimal point, and coma as argument separator - see the picture please.  I did not see this in the ToDo list or Known Issues (maybe I am wrong). On the other hand, I suppose that something could be done in order to make this "portable" as kilele mentioned. I know there is software which include some Maxima support but there is not need to install Maxima at all. Regards, Radovan |
When Sisyphus climbed to the top of a hill, they said: "Wrong boulder!" |
 1 user thanked omorr for this useful post.
|
|
|
  Rank: Advanced Member Groups: Registered
Joined: 15/04/2012(UTC) Posts: 1,822  Was thanked: 1001 time(s) in 641 post(s)
|
Maxima-diff() seems to trouble functions from Nonlinear Solvers. I hope this can be fixed, or Davide finds a smart way to adjust to it without rewriting everything. Last resort would be to provide the functions directly based on Maxima. First we should try to fix diff(). mkraska attached the following image(s): |
|
|
|
|
  Rank: Advanced Member Groups: Registered
Joined: 15/04/2012(UTC) Posts: 1,822  Was thanked: 1001 time(s) in 641 post(s)
|
In principle, the arg and dec sep issue as well as function style was meant to be handled, but to be honest - not tested. Should be possible to fix, as proven by many other plugins. The localization issue is quite top on the agenda.
@Andrey, is there a generic solution coming up soon or should we cope on our own for the time being?
As to the portable version. Honestly, I would rather focus on convenient and stable operation rather than on installation issues. If non-portability turns out to be prohibitive for otherwise active users, this, of course, should be handled. But be aware that Maxima is as big as 30MB in download and 100MB unpacked.
We also think of generic unicode support (as extension of the translator function) in order to enable e.g. cyrillic letters in expressions.
Let us know what the priorities are for you.
|
|
|
|
|
  Rank: Advanced Member Groups: Registered
Joined: 15/04/2012(UTC) Posts: 1,822  Was thanked: 1001 time(s) in 641 post(s)
|
Plugin updated. Now Maxima should be started whenever required (this formerly failed at least for int()) EDIT: Update did just hide the problem, but did not solve it. Edited by user 21 September 2013 02:07:02(UTC)
| Reason: Not specified |
|
|
|
|
  Rank: Advanced Member Groups: Registered, Advanced Member Joined: 13/01/2012(UTC) Posts: 2,557   Location: Italy Was thanked: 1279 time(s) in 841 post(s)
|
To create a Taylor series in a SMath worksheet one can write:
Taylor(f(x),x.0,degree):line(T(z):sum((diff(f(z),z,n)*{(x-z)^n}/{n!}),n,0,degree),T(x.0),2,1)
Working from the plugin, NonlinearSolvers build the T(z) RHS, call a symbolic calculation and then replace with a C# while all the z variables with x.0, this is made to leave clean the canvas from internal variables (but maybe there is another way that I don't know or that I've missed)... Maxima probably crashes against the while cycle (but I'm not sure) |
If you like my plugins please consider a donation to SMath Studio; for personal contributions to me: paypal.me/dcprojects |
 1 user thanked Davide Carpi for this useful post.
|
|
|
  Rank: Advanced Member Groups: Registered
Joined: 15/04/2012(UTC) Posts: 1,822  Was thanked: 1001 time(s) in 641 post(s)
|
BUG/Dangerous feature: Currently MaximaLog(), int(), diff(), lim() and sum() do not trigger start of a session! Maxima must be started explicitly in order to take over the internal functions int(), diff(), lim() and sum(). Maxima session start can be triggered by one of - any VALID MaximaControl() command (valid command strings are shown in the dynamic assistant) - Maxima() with any argument accepted by SMath preprocessing - one of the functions Solve(), LinSolve() or Algsys() Make sure to re-calculate the document if you started the session by adding such a command into an active document. This means that documents can behave differently depending on whether Maxima is running or not. This is a bug/dangerous feature which we try to fix ASAP. Meanwhile it is safe to stick to the recommendation in "Plugin Maxima.sm": Each document should at least do a cleanup at the beginning. This is to avoid interference between different open files in the same SMath instance and makes sure that Maxima is started. Use optimization> "None" or "symbolic" to see the "done". MaximaControl("cleanup" )=doneEdited by user 21 September 2013 12:45:48(UTC)
| Reason: Not specified |
|
|
|
|
  Rank: Administration Groups: Registered, Advanced Member Joined: 23/06/2009(UTC) Posts: 1,740   Was thanked: 318 time(s) in 268 post(s)
|
Regarding to the starting/closing Maxima session, I have some experience with Maxima sessions in other software, and in SMath it happened the same. Sometimes, we can close SMath, end up with/without SMath crash and one or more "maxima.exe" processes remained opened (we could see and should close them in the Task manager, to avoid further problems). I do not know when this happened and why, just wanted to point out how to avoid some possible troubles.
Regards, Radovan |
When Sisyphus climbed to the top of a hill, they said: "Wrong boulder!" |
 1 user thanked omorr for this useful post.
|
|
|
  Rank: Advanced Member Groups: Registered
Joined: 30/03/2011(UTC) Posts: 393
Was thanked: 132 time(s) in 113 post(s)
|
|
 1 user thanked kilele for this useful post.
|
|
|
  Rank: Advanced Member Groups: Registered
Joined: 15/04/2012(UTC) Posts: 1,822  Was thanked: 1001 time(s) in 641 post(s)
|
Originally Posted by: omorr  I can see there are some problems with localization settings, (point, coma <=versus=> coma, semicolon). I had no problems with the Maxima examples until I changed to point as decimal point, and coma as argument separator - see the picture please. Fixed, plugin updated. mkraska attached the following image(s): |
|
 1 user thanked mkraska for this useful post.
|
|
|
  Rank: Advanced Member Groups: Registered
Joined: 15/04/2012(UTC) Posts: 1,822  Was thanked: 1001 time(s) in 641 post(s)
|
Originally Posted by: mkraska  Maxima-diff() seems to trouble functions from Nonlinear Solvers. I hope this can be fixed, or Davide finds a smart way to adjust to it without rewriting everything. Last resort would be to provide the functions directly based on Maxima.
Maxima now does not overwrite the functions diff(), lim(), int() and sum(), because of the problems sum() and diff() can cause. Thus, we hope that Maxima now won't interfere with existing sheets as long as you do not ask explicitly by MaximaControl("takeover" ). |
|
|
|
|
  Rank: Advanced Member Groups: Registered
Joined: 15/04/2012(UTC) Posts: 1,822  Was thanked: 1001 time(s) in 641 post(s)
|
Plugin updated. - pi translation fixed
- sum() works but yet summation variables must be undefined
- logging and control improvements
- translation of scientific number format fixed
- translation of Maxima lists and lists of lists implemented (translated into matrices)
- SVN doc updated
Edited by user 29 September 2013 13:25:43(UTC)
| Reason: Not specified |
|
|
|
|
  Rank: Advanced Member Groups: Registered
Joined: 15/04/2012(UTC) Posts: 1,822  Was thanked: 1001 time(s) in 641 post(s)
|
Plugin updated. Now the sum counter is local to the sum (previously, it had to be undefined, thus i could not be used as counter) File Attachment(s): sum.sm (14kb) downloaded 136 time(s).mkraska attached the following image(s): |
|
 3 users thanked mkraska for this useful post.
|
on 10/10/2013(UTC), on 10/10/2013(UTC), on 10/10/2013(UTC)
|
|
  Rank: Advanced Member Groups: Registered
Joined: 15/04/2012(UTC) Posts: 1,822  Was thanked: 1001 time(s) in 641 post(s)
|
Plugin updated. - Expression size limit is now just by user's patience - Maxima questions about sign of variables or expressions in integrals are forwarded as error messages. - Units are assumed to be positive in integrals and differential equations. File Attachment(s): mkraska attached the following image(s): |
|
 2 users thanked mkraska for this useful post.
|
on 20/10/2013(UTC), on 20/10/2013(UTC)
|
|
  Rank: Advanced Member Groups: Registered
Joined: 15/04/2012(UTC) Posts: 1,822  Was thanked: 1001 time(s) in 641 post(s)
|
Serious translation problem with unary minus in exponents. Currently, we see no easy way to mitigate that. The attached sheet demonstrates some alternative approaches but they all would involve more than just some regular expressions. The reason is in the incompatible operator priority between Maxima and SMath, none of both sides can be blamed for that, except that the very low priority of unary minus in SMath is really unusual and is cause of other problems (try displaying -10°C). File Attachment(s): mkraska attached the following image(s): |
|
 1 user thanked mkraska for this useful post.
|
|
|
  Rank: Advanced Member Groups: Registered
Joined: 15/04/2012(UTC) Posts: 1,822  Was thanked: 1001 time(s) in 641 post(s)
|
Plugin updated. - Translation problem with unary minus in exponents solved (thanks to Leo Butler, one of the Maxima developers) - Dedicated function ODE.2 for solving second order ODEs (wrapper for ode2()) - Bi-directional translation of greek uppercase letters - Unidirectional (SMath to Maxima) translation of relational and boolean operators - Improved error message forwarding File Attachment(s): mkraska attached the following image(s): |
|
 3 users thanked mkraska for this useful post.
|
on 27/10/2013(UTC), on 27/10/2013(UTC), on 27/10/2013(UTC)
|
|
  Rank: Advanced Member Groups: Registered
Joined: 15/04/2012(UTC) Posts: 1,822  Was thanked: 1001 time(s) in 641 post(s)
|
Plugin updated. - Bidirectional transfer of string constants -> more convenient plotting -> Maxima string functions can be used - Special markup for verbatim Maxima expressions ("$...$" ) - Special markup for quote character in MaximaLog() output - Auxiliary files now reside in the plugin directory - Bidirectional handling of different operator priorities in expressions like a^b^c or a^-b*c File Attachment(s): mkraska attached the following image(s): |
|
 2 users thanked mkraska for this useful post.
|
on 09/11/2013(UTC), on 10/11/2013(UTC)
|
|
  Rank: Advanced Member Groups: Registered
Joined: 23/07/2013(UTC) Posts: 996  Was thanked: 413 time(s) in 277 post(s)
|
I don't know if it is only me but since last updates I can not use this plugin. At home my win7 x64 computer finds it and works as it is supposed. But at work I have a win7 x86 computer (non-english) and it can never find where maxima is. I have manually written "maxima.inf" file and it didn't helped. I have written thr MaximaControl ("init";"C:\\Program Files\"  command and waited for 50 minutes and nothing happened. Edited by user 14 November 2013 01:14:32(UTC)
| Reason: Not specified
|
|
|
|
Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.