Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

2 Pages12>
Options
Go to last post Go to first unread
Offline uni  
#1 Posted : 28 August 2013 00:53:11(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
GNU Scientific Library (GSL)

SMath Studio compatibility SMath Viewer compatibility mono compatibility Platform Extension page Sources Examples


Functions list:


Solvers for Non-Stiff Systems:

gslrk2(init, x1, x2, intvls, D) Explicit embedded Runge-Kutta (2, 3) method.

gslrk4(init, x1, x2, intvls, D) Explicit 4th order (classical) Runge-Kutta. Error estimation is carried out by the step doubling method.

gslrkf45(init, x1, x2, intvls, D) Explicit embedded Runge-Kutta-Fehlberg (4, 5) method.

gslrkck(init, x1, x2, intvls, D) Explicit embedded Runge-Kutta Cash-Karp (4, 5) method.

gslrk8pd(init, x1, x2, intvls, D) Explicit embedded Runge-Kutta Prince-Dormand (8, 9) method.

Arguments:

- init is either a vector of n real initial values, where n is the number of unknowns (or a single scalar initial value, in the case of a single ODE).
- x1 and x2 are real, scalar endpoints of the interval over which the solution to the ODE(s) is evaluated. Initial values in init are the values of the ODE function(s) evaluated at x1.
- intvls is the integer number of discretization intervals used to interpolate the solution function. The number of solution points is the number of intervals + 1.
- D is a vector function of the form D(x,y) specifying the right-hand side of the system

Options:

- AbsTol - absolute tolerance parameter, default value 1E-7.
- RelTol - relative tolerance parameter, default value 1E-4.

Examples:




gsl.ode.integrate.sm (12kb) downloaded 77 time(s).
gsl.ode.kinetic1.sm (9kb) downloaded 74 time(s).
gsl.ode.kinetic2.sm (15kb) downloaded 65 time(s).
gsl.ode.kinetic3.sm (15kb) downloaded 63 time(s).
gsl.ode.test1.sm (20kb) downloaded 66 time(s).
gsl.ode.test2.sm (19kb) downloaded 64 time(s).
gsl.ode.Amplitude detector.sm (21kb) downloaded 86 time(s).

gsl.ode.integrate.pdf (93kb) downloaded 70 time(s).
gsl.ode.kinetic1.pdf (78kb) downloaded 63 time(s).
gsl.ode.kinetic2.pdf (93kb) downloaded 55 time(s).
gsl.ode.kinetic3.pdf (92kb) downloaded 48 time(s).
gsl.ode.test1.pdf (111kb) downloaded 55 time(s).
gsl.ode.test2.pdf (111kb) downloaded 55 time(s).
gsl.ode.Amplitude detector.pdf (149kb) downloaded 68 time(s).

Links:

1. GNU Scientific Library – Reference Manual.
2. GSL for Windows.
3. The GSL Team.
4. Thanks.

See also:

Mathcad Toolbox
DotNumerics
SADEL
Matlab C++ Math Library
OSLO
lsoda

Edited by user 13 January 2022 10:35:18(UTC)  | Reason: Not specified

File Attachment(s):
Russia ☭ forever
Viacheslav N. Mezentsev
thanks 4 users thanked uni for this useful post.
on 28/08/2013(UTC),  on 28/08/2013(UTC),  on 28/08/2013(UTC),  on 28/08/2013(UTC)
Offline Davide Carpi  
#2 Posted : 28 August 2013 01:21:50(UTC)
Davide Carpi


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 13/01/2012(UTC)
Posts: 2,523
Man
Italy
Location: Italy

Was thanked: 1267 time(s) in 833 post(s)
very very cool library, there are several interesting things Biggrinirol:

works for me (win 7 x64)


best regards,

Davide

Edited by user 28 August 2013 01:25:15(UTC)  | Reason: Not specified

If you like my plugins please consider a donation to SMath Studio; for personal contributions to me: paypal.me/dcprojects
Offline omorr  
#3 Posted : 28 August 2013 08:18:41(UTC)
omorr


Rank: Administration

Groups: Registered, Administrators, Advanced Member
Joined: 23/06/2009(UTC)
Posts: 1,740
Man
Serbia

Was thanked: 318 time(s) in 268 post(s)
I agree with Davide. I mentioned this library few times as well Good

As I said before, uni is like a man working in a candy store and giving us very good and healthy sweets for free Good Thank you

Regards,
Radovan
When Sisyphus climbed to the top of a hill, they said: "Wrong boulder!"
thanks 2 users thanked omorr for this useful post.
on 28/08/2013(UTC),  on 28/08/2013(UTC)
Offline mkraska  
#4 Posted : 28 August 2013 10:27:27(UTC)
mkraska


Rank: Advanced Member

Groups: Registered
Joined: 15/04/2012(UTC)
Posts: 1,760
Germany

Was thanked: 968 time(s) in 616 post(s)
Uni,
I see you do not use prefixes any more. Does that mean, you are considering the GSL as the primary source of generic SMath functions? IMHO that would be sensible, as GSL seems to be the most vital and most free library among the ones you wrapped so far. However, I have no idea about performance issues.
Martin Kraska

Pre-configured portable distribution of SMath Studio: https://en.smath.info/wi...th%20with%20Plugins.ashx
thanks 1 user thanked mkraska for this useful post.
on 28/08/2013(UTC)
Offline uni  
#5 Posted : 28 August 2013 10:33:37(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
Functions that are not yet implemented not have a prefix. When I add a function in the plug-in, I add a prefix to it. All the functions in this library will have the same or similar names which given in their description.

For example: gsl_sf_bessel_J0() -> gslsfJ0(), gsl_sf_airy_Ai() -> gslsfAi(), ...

I'll ask Andrey to implement the namespace for functions. This option may be enabled and disabled as the description of the region. In this case, you can specify the function names without the prefix.

Edited by user 28 August 2013 10:47:39(UTC)  | Reason: Not specified

Russia ☭ forever
Viacheslav N. Mezentsev
thanks 1 user thanked uni for this useful post.
on 28/08/2013(UTC)
Offline mkraska  
#6 Posted : 28 August 2013 11:50:52(UTC)
mkraska


Rank: Advanced Member

Groups: Registered
Joined: 15/04/2012(UTC)
Posts: 1,760
Germany

Was thanked: 968 time(s) in 616 post(s)
Originally Posted by: uni Go to Quoted Post
I'll ask Andrey to implement the namespace for functions. This option may be enabled and disabled as the description of the region. In this case, you can specify the function names without the prefix.


I am not sure that I understand correctly, what the namespace for functions concept is meant to be.
Is that something like local aliasing?
Is that a by-region setting?
What is the visualization concept?

I'd expect something like switching on aliasing (and perhaps enabling of the plugin) by a separate statement "with("GLS" ) or with("Matlab" ). This could be
deactivated later in the same sheet by a function without() in a traceable manner.

BTW, how about including a plugin hint in the description string of the functions. I had to search the forum in order to find out what plugin provides the erf() function (Davide, sorry for my leaking memory). Not a big deal for me, but would help to correctly direct user feedback.
Martin Kraska

Pre-configured portable distribution of SMath Studio: https://en.smath.info/wi...th%20with%20Plugins.ashx
Offline uni  
#7 Posted : 28 August 2013 12:13:24(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
Originally Posted by: mkraska Go to Quoted Post
I'd expect something like switching on aliasing (and perhaps enabling of the plugin) by a separate statement "with("GLS" ) or with("Matlab" ). This could be
deactivated later in the same sheet by a function without() in a traceable manner.

I think it only works for the document in text form. It is unlikely that this method will be useful in our case.

We have one example of namespace support. Not necessarily indicate the selected space, but the user should be able to select it. We can assign a hot key to display the namespace for the selected function.
uni attached the following image(s):
Namespace operator.PNG
Russia ☭ forever
Viacheslav N. Mezentsev
thanks 1 user thanked uni for this useful post.
on 28/08/2013(UTC)
Offline kilele  
#8 Posted : 28 August 2013 12:51:42(UTC)
kilele


Rank: Advanced Member

Groups: Registered
Joined: 30/03/2011(UTC)
Posts: 393

Was thanked: 132 time(s) in 113 post(s)
Originally Posted by: omorr Go to Quoted Post

As I said before, uni is like a man working in a candy store and giving us very good and healthy sweets for free Good Thank you


I see viacheslav and davide more like fabulous dwarves blacksmiths and radovan and martin like mere mortal betatesters, thanks btw Biggrin

Edited by user 28 August 2013 12:53:26(UTC)  | Reason: Not specified

Offline mkraska  
#9 Posted : 28 August 2013 15:04:36(UTC)
mkraska


Rank: Advanced Member

Groups: Registered
Joined: 15/04/2012(UTC)
Posts: 1,760
Germany

Was thanked: 968 time(s) in 616 post(s)
Ok, it is a Mathcad concept (I was not aware of that).

The example with m as units and m as variable does not really convince me. By math standards, these items should be distinguished by type face (italic for variables, upright for units or other items that are not supposed to change. SMath has this the other way around, but at least clearly indicates the difference. Thus, the unit name space tag is the apostrophe ' in front of the name.

There is another "namespace" then in SMath, the absolute variables with ~ as tag (which would be fine to represent matrix/vector values).

An option for getting along without new features would be to leave the prefixes in the names and to provide generic names pointing to the most appropriate function from whatever plugin it may come or even to provide wrapper functions like Findroot() to choose from what is available.

The ordinary ("mortal" ) user hardly wants to choose from 20 ode solvers or from 10 nonlinear solvers.
Martin Kraska

Pre-configured portable distribution of SMath Studio: https://en.smath.info/wi...th%20with%20Plugins.ashx
Offline uni  
#10 Posted : 28 August 2013 18:21:27(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
Updated to GSL 1.16.
Russia ☭ forever
Viacheslav N. Mezentsev
thanks 3 users thanked uni for this useful post.
on 28/08/2013(UTC),  on 28/08/2013(UTC),  on 29/08/2013(UTC)
Offline uni  
#11 Posted : 16 September 2016 16:37:36(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
Updated for the fully automatic build using Release Manager.
Russia ☭ forever
Viacheslav N. Mezentsev
Offline overlord  
#12 Posted : 23 June 2018 23:49:08(UTC)
overlord


Rank: Advanced Member

Groups: Registered
Joined: 23/07/2013(UTC)
Posts: 869
Turkey

Was thanked: 325 time(s) in 224 post(s)
Installing this plugin causing forced close on Arch Linux + Mono.
After forced close you cannot be able to open Smath again unless manually deleting the plugin.

Regards
Offline uni  
#13 Posted : 24 June 2018 00:36:27(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
Because the plugin is not compatible with Linux + Mono:

Quote:
VS2013, .Net 2.0, C#, C++/CLI, Win32 + x64


Win32 + x64 - means Windows only, C++/CLI - unmanaged code used.

Edited by user 01 August 2018 05:57:37(UTC)  | Reason: Not specified

Russia ☭ forever
Viacheslav N. Mezentsev
Offline uni  
#14 Posted : 01 August 2018 18:19:18(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
gslrkck simple test.



gslrkck.test1.sm (12kb) downloaded 38 time(s).
gslrkck.test1.pdf (49kb) downloaded 46 time(s).
Russia ☭ forever
Viacheslav N. Mezentsev
thanks 1 user thanked uni for this useful post.
on 02/08/2018(UTC)
Offline uni  
#15 Posted : 12 December 2018 14:12:57(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
Updated.

Changes:
- zero point issue fixed;
- added support for the simple D(t,x) definition.
Russia ☭ forever
Viacheslav N. Mezentsev
thanks 4 users thanked uni for this useful post.
on 12/12/2018(UTC),  on 12/12/2018(UTC),  on 12/12/2018(UTC),  on 12/12/2018(UTC)
Offline uni  
#16 Posted : 24 December 2018 18:50:43(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
Updated.



gsl.ode.kinetic1.sm (9kb) downloaded 74 time(s).
gsl.ode.kinetic2.sm (15kb) downloaded 65 time(s).
gsl.ode.kinetic3.sm (15kb) downloaded 63 time(s).
gsl.ode.test1.sm (20kb) downloaded 66 time(s).
gsl.ode.test2.sm (19kb) downloaded 64 time(s).
gsl.ode.Amplitude detector.sm (21kb) downloaded 86 time(s).

gsl.ode.kinetic1.pdf (78kb) downloaded 63 time(s).
gsl.ode.kinetic2.pdf (93kb) downloaded 55 time(s).
gsl.ode.kinetic3.pdf (92kb) downloaded 48 time(s).
gsl.ode.test1.pdf (111kb) downloaded 55 time(s).
gsl.ode.test2.pdf (111kb) downloaded 55 time(s).
gsl.ode.Amplitude detector.pdf (149kb) downloaded 68 time(s).

Edited by user 25 December 2018 02:48:35(UTC)  | Reason: Not specified

Russia ☭ forever
Viacheslav N. Mezentsev
thanks 4 users thanked uni for this useful post.
on 24/12/2018(UTC),  on 24/12/2018(UTC),  on 24/12/2018(UTC),  on 25/12/2018(UTC)
Offline uni  
#17 Posted : 22 January 2019 03:23:03(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
Updated.

Added: gslmsadams(5), gslrk1imp(5), gslrk2imp(5), gslrk4imp(5), gslbsimp(5), gslmsbdf(5).
Fixed: gslrk1imp(6), gslrk2imp(6), gslrk4imp(6), gslbsimp(6), gslmsbdf(6).
Removed: gslmsadams(6).

Solvers with 5 arguments working with numerical Jacobian (not so good but I don't know how to improve it now).

Click to enlarge Click to enlarge

Edited by user 06 June 2022 13:07:22(UTC)  | Reason: Not specified

Russia ☭ forever
Viacheslav N. Mezentsev
thanks 3 users thanked uni for this useful post.
on 22/01/2019(UTC),  on 22/01/2019(UTC),  on 22/01/2019(UTC)
Offline uni  
#18 Posted : 14 May 2019 16:33:45(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
I was on a journey.

This use of the library is beyond the scope of the forum. I will try to create a simple example, but you still need to read the original documentation to use the library.

Russia ☭ forever
Viacheslav N. Mezentsev
Offline uni  
#19 Posted : 21 May 2021 07:55:24(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
SMath Studio compatibility

Updated.

Changes:

- updated to GSL 2.4.
Russia ☭ forever
Viacheslav N. Mezentsev
thanks 1 user thanked uni for this useful post.
on 21/05/2021(UTC)
Offline uni  
#20 Posted : 09 December 2021 19:03:00(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,338
Man
Russian Federation

Was thanked: 1170 time(s) in 675 post(s)
SMath Studio compatibility

Plugin updated.

Changes:

- added support for ODE systems in mathematical form;
- refactored.
Russia ☭ forever
Viacheslav N. Mezentsev
thanks 1 user thanked uni for this useful post.
on 09/12/2021(UTC)
Users browsing this topic
2 Pages12>
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.