diff options
author | Sacha Chua <sacha@sachachua.com> | 2020-12-13 00:08:14 -0500 |
---|---|---|
committer | Sacha Chua <sacha@sachachua.com> | 2020-12-13 00:08:14 -0500 |
commit | 72e48bc52524672fc6179d1f45f091df76cd2e02 (patch) | |
tree | 696482a8e1a37ffa68a06b930dffdc304284f50c /2020/subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.sbv | |
parent | b98df6fbe2a5c48013cfca81a95a5af41e202d07 (diff) | |
download | emacsconf-wiki-72e48bc52524672fc6179d1f45f091df76cd2e02.tar.xz emacsconf-wiki-72e48bc52524672fc6179d1f45f091df76cd2e02.zip |
Switch to vtt
Diffstat (limited to '')
-rw-r--r-- | 2020/subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.sbv | 1707 |
1 files changed, 0 insertions, 1707 deletions
diff --git a/2020/subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.sbv b/2020/subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.sbv deleted file mode 100644 index c5edf2c6..00000000 --- a/2020/subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.sbv +++ /dev/null @@ -1,1707 +0,0 @@ -0:00:01.680,0:00:08.000 -you are now unmuted - -0:00:04.480,0:00:11.280 -okay can you guys hear me yeah - -0:00:08.000,0:00:14.480 -can you guys hear me sir yep I can and - -0:00:11.280,0:00:17.199 -we're live so take it away okay - -0:00:14.480,0:00:18.400 -so um hello everyone my name is ferming - -0:00:17.199,0:00:20.960 -I'm a programmer - -0:00:18.400,0:00:22.400 -a math student from spain I've been - -0:00:20.960,0:00:24.960 -using me e-max for - -0:00:22.400,0:00:26.000 -two years now more or less and today I'm - -0:00:24.960,0:00:28.320 -going to talk about - -0:00:26.000,0:00:29.199 -a maxima computer algebra system in 2 - -0:00:28.320,0:00:32.239 -max - -0:00:29.199,0:00:34.239 -so let's talk about what is maxima - -0:00:32.239,0:00:36.079 -well maxim is a system for manipulation - -0:00:34.239,0:00:37.920 -of symbolic and numerical expression - -0:00:36.079,0:00:39.440 -and it's similar in some regard to - -0:00:37.920,0:00:42.160 -octave - -0:00:39.440,0:00:45.039 -and it's also free software is derived - -0:00:42.160,0:00:47.120 -from the maxima from the 60 from the m80 - -0:00:45.039,0:00:48.320 -and it's written in common lisp which is - -0:00:47.120,0:00:50.719 -a language that I really - -0:00:48.320,0:00:51.600 -like I enjoy writing it so for me it's a - -0:00:50.719,0:00:55.039 -plus - -0:00:51.600,0:00:57.039 -okay so let's talk about the initial - -0:00:55.039,0:00:59.280 -support for maxima when I first started - -0:00:57.039,0:01:00.320 -using it I looked for support into Emacs - -0:00:59.280,0:01:03.120 -and I found that - -0:01:00.320,0:01:04.640 -there's two major modes in the main - -0:01:03.120,0:01:07.200 -repository of maxima - -0:01:04.640,0:01:09.280 -for remax the first one is imaxima which - -0:01:07.200,0:01:12.000 -I don't know too much about it - -0:01:09.280,0:01:13.439 -and the second one is maxima dot l which - -0:01:12.000,0:01:16.640 -is the one I took first - -0:01:13.439,0:01:18.080 -and it was pretty nice has like a major - -0:01:16.640,0:01:21.280 -mode a minor mode - -0:01:18.080,0:01:23.040 -a nice ripple but it also has some - -0:01:21.280,0:01:25.040 -disadvantage - -0:01:23.040,0:01:26.479 -and the first one is that is quite - -0:01:25.040,0:01:29.600 -outdated I think - -0:01:26.479,0:01:30.960 -it was from the 2007 - -0:01:29.600,0:01:33.280 -so it's not tested with the current - -0:01:30.960,0:01:35.520 -email version and the second one - -0:01:33.280,0:01:36.320 -is that it doesn't use modern e-max - -0:01:35.520,0:01:38.640 -capability - -0:01:36.320,0:01:40.479 -I'm talking for example about the last - -0:01:38.640,0:01:44.720 -or more latex preview - -0:01:40.479,0:01:46.079 -from the last a max 27.1 I think - -0:01:44.720,0:01:47.920 -and that's why is that they know - -0:01:46.079,0:01:49.600 -integrated with common third party - -0:01:47.920,0:01:51.520 -extension I'm talking about company for - -0:01:49.600,0:01:55.360 -example third party - -0:01:51.520,0:01:57.280 -yeah you know the alpa melba packages - -0:01:55.360,0:01:58.719 -so uh this stock is going to be divided - -0:01:57.280,0:02:00.799 -in two parts the first one is going to - -0:01:58.719,0:02:03.040 -be how I maximize my date today - -0:02:00.799,0:02:03.840 -in max exercise don't worry it's going - -0:02:03.040,0:02:06.000 -to be - -0:02:03.840,0:02:07.680 -quite easy and the second one is going - -0:02:06.000,0:02:10.560 -to be why for the package - -0:02:07.680,0:02:13.200 -and the list improvement that I did and - -0:02:10.560,0:02:14.480 -a couple of things more maybe the future - -0:02:13.200,0:02:16.720 -and where's the package right now if you - -0:02:14.480,0:02:19.440 -can use it so - -0:02:16.720,0:02:21.360 -let's talk about the workflow so right - -0:02:19.440,0:02:23.040 -out of the box it has like an - -0:02:21.360,0:02:24.400 -orimal support I didn't write this it - -0:02:23.040,0:02:27.680 -was already - -0:02:24.400,0:02:30.319 -in Emacs - -0:02:27.680,0:02:32.720 -so that's pretty nice let's go with a - -0:02:30.319,0:02:34.480 -simple example - -0:02:32.720,0:02:36.000 -okay so this is an array of three - -0:02:34.480,0:02:37.920 -equations and three variables - -0:02:36.000,0:02:39.840 -so it's a system that can be solved and - -0:02:37.920,0:02:42.560 -the solution is unique - -0:02:39.840,0:02:44.120 -um so we're going to solve it right - -0:02:42.560,0:02:47.519 -let's go - -0:02:44.120,0:02:48.080 -solutions okay here's how you define a - -0:02:47.519,0:02:52.400 -variable - -0:02:48.080,0:02:52.400 -in it's called solve okay - -0:02:52.640,0:03:00.400 -it's called implicit explicit - -0:02:56.480,0:03:03.680 -sorry okay and now an array of - -0:03:00.400,0:03:05.760 -our variables actually okay - -0:03:03.680,0:03:07.599 -so first of all we have to send this - -0:03:05.760,0:03:10.400 -variable to the maxima - -0:03:07.599,0:03:11.200 -repo with we can do that with ctrl c - -0:03:10.400,0:03:14.480 -control c - -0:03:11.200,0:03:19.200 -or with the maxima send line - -0:03:14.480,0:03:20.560 -okay so let's um let's put the maxima - -0:03:19.200,0:03:23.680 -buffer right here - -0:03:20.560,0:03:25.360 -okay let's so um - -0:03:23.680,0:03:27.040 -right now we can get the solution like - -0:03:25.360,0:03:29.360 -this so we call already - -0:03:27.040,0:03:30.239 -uh we call this line right now control - -0:03:29.360,0:03:31.920 -sequence to c - -0:03:30.239,0:03:33.440 -as you can see we get like an array - -0:03:31.920,0:03:36.080 -inside an array because - -0:03:33.440,0:03:38.799 -uh let's see why we get this so we can - -0:03:36.080,0:03:42.239 -call maxima - -0:03:38.799,0:03:44.879 -help a point this will open a - -0:03:42.239,0:03:46.000 -dock um buffer with all information - -0:03:44.879,0:03:48.799 -about the - -0:03:46.000,0:03:51.360 -solve function so we can see that this - -0:03:48.799,0:03:54.560 -list of solution equations - -0:03:51.360,0:03:56.640 -you can see it okay so but we no we know - -0:03:54.560,0:03:58.239 -that this system only have one solution - -0:03:56.640,0:04:00.400 -so we're only interested in the first - -0:03:58.239,0:04:02.080 -one we can do this like pretty easily - -0:04:00.400,0:04:05.120 -just to take the first one - -0:04:02.080,0:04:06.640 -we can send it to the buffer so this is - -0:04:05.120,0:04:09.280 -quite easy example as you can see - -0:04:06.640,0:04:10.400 -they have to completion much of the help - -0:04:09.280,0:04:12.319 -facilities that we have - -0:04:10.400,0:04:14.720 -we can also get information about the - -0:04:12.319,0:04:17.440 -symbol for example maxima - -0:04:14.720,0:04:17.840 -symbol doc and we get in the and now you - -0:04:17.440,0:04:19.840 -can see - -0:04:17.840,0:04:20.959 -correctly in the mini buffer all the - -0:04:19.840,0:04:24.080 -possible - -0:04:20.959,0:04:28.000 -um parameter of the function - -0:04:24.080,0:04:31.440 -right so let's continue - -0:04:28.000,0:04:34.880 -okay so let's go to a more well - -0:04:31.440,0:04:38.560 -complicated example to say oops - -0:04:34.880,0:04:42.400 -okay so we have this - -0:04:38.560,0:04:43.919 -equation and we want to go from -1 to 5 - -0:04:42.400,0:04:46.400 -I want to show in a nice - -0:04:43.919,0:04:47.759 -graph right first of all we begin - -0:04:46.400,0:04:51.759 -sending this line to the - -0:04:47.759,0:04:54.880 -maxima ripple hold it button again - -0:04:51.759,0:04:56.960 -okay um so this is not ideal if you want - -0:04:54.880,0:05:00.160 -to write down this equation because - -0:04:56.960,0:05:03.039 -it's quite messy what is when so - -0:05:00.160,0:05:04.479 -uh what's thing are where so we can call - -0:05:03.039,0:05:07.520 -the function maxima - -0:05:04.479,0:05:10.240 -let's say insert form okay - -0:05:07.520,0:05:11.280 -and this is more easy this basically put - -0:05:10.240,0:05:14.240 -text behind - -0:05:11.280,0:05:15.120 -and led or mode to render it and this is - -0:05:14.240,0:05:19.039 -quite easy to - -0:05:15.120,0:05:22.560 -write down you can use it like in every - -0:05:19.039,0:05:23.199 -expression so um first we have to call a - -0:05:22.560,0:05:27.280 -library - -0:05:23.199,0:05:29.199 -let's load the library library draw - -0:05:27.280,0:05:31.520 -we have also completion for local - -0:05:29.199,0:05:35.039 -variable and local - -0:05:31.520,0:05:38.240 -libraries sorry let me try to finish - -0:05:35.039,0:05:40.320 -draw okay and we send the line - -0:05:38.240,0:05:42.240 -so right now we have a leverage and we - -0:05:40.320,0:05:43.600 -should even have auto completion for the - -0:05:42.240,0:05:47.039 -library function - -0:05:43.600,0:05:50.400 -okay we have let's call draw2d - -0:05:47.039,0:05:51.199 -and now we can call implicit we should - -0:05:50.400,0:05:54.400 -have - -0:05:51.199,0:05:57.520 -okay and we can I mean put the variable - -0:05:54.400,0:05:58.639 -of equations we put the first variable d - -0:05:57.520,0:06:02.319 -minus - -0:05:58.639,0:06:05.280 -five d five five - -0:06:02.319,0:06:06.639 -the v variable the minus five and the - -0:06:05.280,0:06:09.680 -five - -0:06:06.639,0:06:11.759 -okay it should be all all good so let me - -0:06:09.680,0:06:14.639 -try to send it - -0:06:11.759,0:06:16.639 -okay you cannot see it right now because - -0:06:14.639,0:06:19.360 -I'm just sharing the maxima screen let - -0:06:16.639,0:06:23.520 -me try to change that - -0:06:19.360,0:06:27.199 -okay um - -0:06:23.520,0:06:27.199 -okay can you plot hello - -0:06:31.520,0:06:35.440 -okay so this is basically the graph that - -0:06:33.919,0:06:38.800 -I can upload generates - -0:06:35.440,0:06:41.039 -uh right now it's not integrated into - -0:06:38.800,0:06:42.240 -into the maximum package but it's a work - -0:06:41.039,0:06:46.000 -in progress - -0:06:42.240,0:06:50.160 -so let's go back to Emacs - -0:06:46.000,0:06:53.520 -uh where are you okay there you are okay - -0:06:50.160,0:06:56.639 -okay so um - -0:06:53.520,0:06:57.759 -let's continue so uh this is some of the - -0:06:56.639,0:07:00.000 -things that you can use - -0:06:57.759,0:07:01.919 -for your day-to-day programming in - -0:07:00.000,0:07:05.680 -maxima - -0:07:01.919,0:07:05.680 -let's go now with the - -0:07:05.759,0:07:08.880 -okay as you can see this is just text - -0:07:07.360,0:07:11.199 -that is render - -0:07:08.880,0:07:13.440 -okay let's go within a slide this is how - -0:07:11.199,0:07:14.400 -I use maxima a simple example you don't - -0:07:13.440,0:07:16.240 -want to - -0:07:14.400,0:07:17.919 -talk too much about it because everyone - -0:07:16.240,0:07:19.680 -use the package in a different way - -0:07:17.919,0:07:21.039 -so right now I'm going to talk about the - -0:07:19.680,0:07:23.520 -original package and - -0:07:21.039,0:07:25.120 -the way I change it right so the - -0:07:23.520,0:07:27.840 -documentation - -0:07:25.120,0:07:29.680 -of the original was great but for me it - -0:07:27.840,0:07:31.840 -wasn't embedded in the code - -0:07:29.680,0:07:33.599 -it was something sometimes hard to read - -0:07:31.840,0:07:36.319 -like it was like a big - -0:07:33.599,0:07:37.039 -chunk of comment it gave me all the - -0:07:36.319,0:07:40.400 -information - -0:07:37.039,0:07:44.240 -like um for me that's too much I prefer - -0:07:40.400,0:07:45.360 -a cohesive small comment and then a big - -0:07:44.240,0:07:47.759 -redmi will order - -0:07:45.360,0:07:48.960 -all the links and information so that's - -0:07:47.759,0:07:52.080 -one of the first thing I - -0:07:48.960,0:07:52.560 -change um then also completion I'm a big - -0:07:52.080,0:07:55.759 -fan - -0:07:52.560,0:07:58.639 -I'm used to slime so I'm I love - -0:07:55.759,0:08:00.160 -great auto completion so um the first - -0:07:58.639,0:08:01.840 -thing that I noticed that well - -0:08:00.160,0:08:04.479 -it uses an absolute function I don't - -0:08:01.840,0:08:07.039 -know if you can see correctly okay - -0:08:04.479,0:08:08.800 -comment dynamic is deprecated and it - -0:08:07.039,0:08:10.720 -also have like this - -0:08:08.800,0:08:12.720 -variable which is maximus symbol which - -0:08:10.720,0:08:16.160 -is basically a big - -0:08:12.720,0:08:19.280 -list of all the possible completions so - -0:08:16.160,0:08:20.960 -if I load the library it's not aware of - -0:08:19.280,0:08:23.039 -the new symbols or even if I - -0:08:20.960,0:08:24.240 -create a variable it's not loaded so - -0:08:23.039,0:08:26.160 -it's not dynamic - -0:08:24.240,0:08:28.319 -so I want the first thing I want is - -0:08:26.160,0:08:31.680 -dynamic completion right - -0:08:28.319,0:08:34.159 -so I improve it which wasn't that hard - -0:08:31.680,0:08:36.080 -I first of all create maximum completion - -0:08:34.159,0:08:38.479 -which we're going to see in a moment - -0:08:36.080,0:08:39.200 -and then it changes completion region so - -0:08:38.479,0:08:41.039 -this is the - -0:08:39.200,0:08:43.760 -improved version but the good thing is - -0:08:41.039,0:08:45.839 -like I decoupled the completion function - -0:08:43.760,0:08:47.600 -so I make that you can use it on your - -0:08:45.839,0:08:50.800 -own so you get a prefix - -0:08:47.600,0:08:52.560 -which is um like - -0:08:50.800,0:08:55.040 -the thing that you're going to also - -0:08:52.560,0:08:56.959 -complete you get the inferior process - -0:08:55.040,0:08:58.959 -which I'm going to talk about later but - -0:08:56.959,0:08:59.760 -basically it's a maxima process you can - -0:08:58.959,0:09:01.760 -work with - -0:08:59.760,0:09:03.040 -and you get an optional argument which - -0:09:01.760,0:09:06.399 -is fuzzy finding - -0:09:03.040,0:09:07.200 -okay so you can easily send a block here - -0:09:06.399,0:09:10.399 -what - -0:09:07.200,0:09:11.440 -uh with the propos which is a maxima - -0:09:10.399,0:09:13.839 -command that gets you - -0:09:11.440,0:09:14.959 -all the auto completion and then you - -0:09:13.839,0:09:18.240 -process the - -0:09:14.959,0:09:20.480 -the output and you return a list - -0:09:18.240,0:09:21.600 -of possible completion this function can - -0:09:20.480,0:09:24.800 -be easily put into - -0:09:21.600,0:09:26.640 -company as you can see you just - -0:09:24.800,0:09:28.560 -get maximum auxiliary inferior process - -0:09:26.640,0:09:32.080 -is a process that just - -0:09:28.560,0:09:35.360 -uses sorry I have of - -0:09:32.080,0:09:36.480 -all the apropos and the get that symbol - -0:09:35.360,0:09:39.440 -it's like uh - -0:09:36.480,0:09:41.360 -like you say auxiliary let's help me uh - -0:09:39.440,0:09:43.680 -for that dirty stuff - -0:09:41.360,0:09:44.640 -so and process manipulation let's talk - -0:09:43.680,0:09:46.959 -about - -0:09:44.640,0:09:47.920 -how the maxima process was in the - -0:09:46.959,0:09:50.720 -beginning - -0:09:47.920,0:09:52.560 -so at first it was just one process and - -0:09:50.720,0:09:54.560 -you send all of the things there - -0:09:52.560,0:09:56.320 -and you move the processor here and - -0:09:54.560,0:09:58.160 -there and - -0:09:56.320,0:09:59.600 -there was a global state right so all - -0:09:58.160,0:10:02.000 -the function depends on - -0:09:59.600,0:10:05.120 -variable global variables and I don't - -0:10:02.000,0:10:07.680 -like that approach I prefer more like a - -0:10:05.120,0:10:09.519 -shirt to say functional like you sense - -0:10:07.680,0:10:12.000 -one of things and you return - -0:10:09.519,0:10:13.440 -something so it's not like a void - -0:10:12.000,0:10:16.399 -function so to say - -0:10:13.440,0:10:18.079 -so I change it recipe uh well this is - -0:10:16.399,0:10:20.959 -the maxima start function now - -0:10:18.079,0:10:22.560 -let's just create a startup process with - -0:10:20.959,0:10:23.680 -this function which is maxima make - -0:10:22.560,0:10:26.880 -inferior - -0:10:23.680,0:10:30.000 -so this function just gets a name - -0:10:26.880,0:10:31.519 -and it return a process of maxima and - -0:10:30.000,0:10:32.240 -you can then manipulate it the way you - -0:10:31.519,0:10:35.600 -want - -0:10:32.240,0:10:36.800 -let's see a better version so this is - -0:10:35.600,0:10:39.200 -the opposite right this - -0:10:36.800,0:10:41.760 -remove an inferior process and delete - -0:10:39.200,0:10:43.440 -the process and kill the buffer - -0:10:41.760,0:10:45.519 -right so let's give an example because - -0:10:43.440,0:10:46.399 -this you can see pretty easily in this - -0:10:45.519,0:10:50.079 -example - -0:10:46.399,0:10:51.519 -so I want to go to the scratch buffer - -0:10:50.079,0:10:54.399 -which I think you can see it better - -0:10:51.519,0:10:55.760 -okay so this is the way you can get a - -0:10:54.399,0:10:58.320 -process with your name - -0:10:55.760,0:11:00.880 -and save it into a variable right let's - -0:10:58.320,0:11:02.880 -execute this so as you can see well - -0:11:00.880,0:11:03.920 -I don't know if you can see big you get - -0:11:02.880,0:11:05.839 -a process - -0:11:03.920,0:11:07.040 -let's go to it the process called my - -0:11:05.839,0:11:09.519 -maxima - -0:11:07.040,0:11:10.079 -as the buffer right and if we can you - -0:11:09.519,0:11:12.240 -can send - -0:11:10.079,0:11:14.959 -stuff to the process right we can call - -0:11:12.240,0:11:16.880 -maximus in block get a block of valid - -0:11:14.959,0:11:17.760 -maxima code and just pass the variable - -0:11:16.880,0:11:20.800 -the process - -0:11:17.760,0:11:21.519 -and we send code to the process right we - -0:11:20.800,0:11:23.440 -can - -0:11:21.519,0:11:25.760 -this is useful if you have some - -0:11:23.440,0:11:28.480 -expensive computation that you want - -0:11:25.760,0:11:29.680 -to process laser to say so the process - -0:11:28.480,0:11:32.640 -can manage it - -0:11:29.680,0:11:33.920 -and when you get the results correctly - -0:11:32.640,0:11:34.399 -you can also get the result from the - -0:11:33.920,0:11:35.920 -process - -0:11:34.399,0:11:38.000 -I mean I don't put it here but quite - -0:11:35.920,0:11:41.200 -easy and then you - -0:11:38.000,0:11:42.079 -removed in favor which is the way to get - -0:11:41.200,0:11:43.600 -rid of the process - -0:11:42.079,0:11:45.279 -and the buffer so if we call this - -0:11:43.600,0:11:48.399 -function we should get rid of the - -0:11:45.279,0:11:49.920 -this process and it works the processing - -0:11:48.399,0:11:54.160 -is no longer - -0:11:49.920,0:11:56.160 -I'm happy to continue so um - -0:11:54.160,0:11:57.680 -other things that improve the package on - -0:11:56.160,0:11:59.760 -my commitment during time - -0:11:57.680,0:12:01.360 -I'm going good okay another thing that I - -0:11:59.760,0:12:02.560 -did to the package was to add - -0:12:01.360,0:12:04.959 -continue integration and continue - -0:12:02.560,0:12:06.320 -delivery right so the package didn't - -0:12:04.959,0:12:09.440 -have any tests - -0:12:06.320,0:12:12.959 -and the code was a little bit messy so - -0:12:09.440,0:12:16.560 -I add integration a test - -0:12:12.959,0:12:19.519 -and test with the test simple framework - -0:12:16.560,0:12:20.560 -from rocky bursting the maintainer of - -0:12:19.519,0:12:23.279 -real - -0:12:20.560,0:12:24.079 -good which is a great package by the way - -0:12:23.279,0:12:25.920 -um - -0:12:24.079,0:12:28.079 -yeah this is one example of the process - -0:12:25.920,0:12:29.760 -so right now because um - -0:12:28.079,0:12:31.680 -the infrastructure of the process - -0:12:29.760,0:12:33.680 -management is decoupled - -0:12:31.680,0:12:35.200 -so I can test it pretty easily this is - -0:12:33.680,0:12:37.519 -the test function of the - -0:12:35.200,0:12:39.519 -inferior running so I can check if an - -0:12:37.519,0:12:41.440 -inferior is running right now - -0:12:39.519,0:12:43.200 -and I can just delete it after and get - -0:12:41.440,0:12:45.279 -the results - -0:12:43.200,0:12:46.959 -and I also did some integration with the - -0:12:45.279,0:12:48.639 -party packages the first one company of - -0:12:46.959,0:12:50.880 -course I love auto completion - -0:12:48.639,0:12:53.839 -the second one was hormone that was - -0:12:50.880,0:12:56.880 -already there and latex with the - -0:12:53.839,0:13:00.079 -um or logic insert form - -0:12:56.880,0:13:02.959 -and with poly mode because um let me - -0:13:00.079,0:13:03.680 -evaluate this maxima can understand lisp - -0:13:02.959,0:13:06.959 -code - -0:13:03.680,0:13:10.000 -well more or less it has like a - -0:13:06.959,0:13:11.279 -function so to say that you can send a - -0:13:10.000,0:13:13.600 -list command to the - -0:13:11.279,0:13:14.480 -maxima rebel and you can understand it - -0:13:13.600,0:13:17.839 -in some way so - -0:13:14.480,0:13:20.959 -we can go to the maxima poly - -0:13:17.839,0:13:22.800 -only maxima right you enable polymaxima - -0:13:20.959,0:13:25.519 -and it creates a polymode - -0:13:22.800,0:13:26.399 -which this is lisp code and this is - -0:13:25.519,0:13:28.639 -maxima code - -0:13:26.399,0:13:30.560 -so we can send this to the maxima ripple - -0:13:28.639,0:13:34.240 -we come to c control r which - -0:13:30.560,0:13:37.760 -it sends the um the current - -0:13:34.240,0:13:40.160 -um area region sorry - -0:13:37.760,0:13:41.839 -and we define a variable which is called - -0:13:40.160,0:13:44.000 -test and as we can see we have the - -0:13:41.839,0:13:47.360 -variable test right here so you can - -0:13:44.000,0:13:48.079 -program in lisp and you can send it to - -0:13:47.360,0:13:50.399 -maxima - -0:13:48.079,0:13:51.920 -so this is pretty good pretty nice um - -0:13:50.399,0:13:55.040 -working integration with - -0:13:51.920,0:13:57.120 -the slime mode and with swank so you can - -0:13:55.040,0:13:59.120 -actually have a completion of - -0:13:57.120,0:14:00.959 -a function inside the maximal list - -0:13:59.120,0:14:02.800 -package but - -0:14:00.959,0:14:04.399 -this is going to take quite a while - -0:14:02.800,0:14:07.360 -because it's not trivial - -0:14:04.399,0:14:09.440 -so um we're the feature of maxima right - -0:14:07.360,0:14:11.519 -now well we have fonts highlighting - -0:14:09.440,0:14:14.480 -smart indentation uh it was already in - -0:14:11.519,0:14:16.880 -the package but now it's quite better - -0:14:14.480,0:14:18.160 -great help functions right now I can - -0:14:16.880,0:14:20.800 -find the recommendation quite - -0:14:18.160,0:14:22.160 -fast and currently the menu integration - -0:14:20.800,0:14:23.120 -this is quite basic it needs to be a - -0:14:22.160,0:14:25.199 -little bit improved - -0:14:23.120,0:14:26.720 -uh latex support also completion the - -0:14:25.199,0:14:28.480 -company and maximizer process - -0:14:26.720,0:14:29.120 -integration and mini buffer I didn't - -0:14:28.480,0:14:32.880 -show you - -0:14:29.120,0:14:34.639 -but basically if you call global maxima - -0:14:32.880,0:14:36.720 -minor mode you have the minor mode you - -0:14:34.639,0:14:38.399 -call maxima mini buffer - -0:14:36.720,0:14:40.720 -how are you okay mini buffer you can - -0:14:38.399,0:14:42.720 -basically just write simple maxima - -0:14:40.720,0:14:45.920 -command and it will give you the result - -0:14:42.720,0:14:48.959 -this is like a permanent version of um - -0:14:45.920,0:14:50.560 -calc so you can do it you write the - -0:14:48.959,0:14:52.320 -command and you get the output uh way - -0:14:50.560,0:14:56.079 -more to come I have like a list - -0:14:52.320,0:14:58.880 -of issues that I put enhancement a new - -0:14:56.079,0:15:01.199 -feature that I'm going to develop - -0:14:58.880,0:15:03.120 -so uh the future under presence of the - -0:15:01.199,0:15:06.880 -package well the package is right now - -0:15:03.120,0:15:10.720 -melpa a melba stable um - -0:15:06.880,0:15:13.360 -in this 0.7.6 version - -0:15:10.720,0:15:15.279 -and I'm planning to include into the - -0:15:13.360,0:15:16.720 -known canoe alpha - -0:15:15.279,0:15:18.959 -this is the url of the package by the - -0:15:16.720,0:15:20.079 -way so you can if you go to metapod you - -0:15:18.959,0:15:22.160 -put maxima and - -0:15:20.079,0:15:23.199 -you can download it it doesn't have too - -0:15:22.160,0:15:26.639 -much dependencies - -0:15:23.199,0:15:27.120 -you aware of that um and thank you very - -0:15:26.639,0:15:28.720 -much - -0:15:27.120,0:15:30.959 -uh this is going to be my talk these are - -0:15:28.720,0:15:33.519 -my uh information - -0:15:30.959,0:15:34.000 -this is my gitlab this is my page which - -0:15:33.519,0:15:37.120 -I don't - -0:15:34.000,0:15:40.240 -love too much and this is my email - -0:15:37.120,0:15:41.839 -so um thank you very much and I will be - -0:15:40.240,0:15:44.720 -answering some questions right now - -0:15:41.839,0:15:44.720 -and happy hacking - -0:15:45.600,0:15:52.720 -you are now unmuted thank you very much - -0:15:49.600,0:15:55.759 -vermin for the great talk um okay yeah - -0:15:52.720,0:15:58.800 -let's see if you have any questions - -0:15:55.759,0:16:01.759 -uh yeah I'm reading like this um - -0:15:58.800,0:16:04.079 -so I'm a buddy october usually right now - -0:16:01.759,0:16:04.079 -okay - -0:16:04.560,0:16:08.639 -maxima over october yep there are a - -0:16:06.880,0:16:11.519 -couple questions - -0:16:08.639,0:16:12.160 -wow maxima we're okay I don't want to I - -0:16:11.519,0:16:13.940 -don't know - -0:16:12.160,0:16:15.680 -october that much um - -0:16:13.940,0:16:17.839 -[Music] - -0:16:15.680,0:16:18.880 -like I use it like a couple of times but - -0:16:17.839,0:16:24.000 -I'm not happy - -0:16:18.880,0:16:27.120 -and I found the octave packets to be - -0:16:24.000,0:16:31.519 -quite a little bit harder to understand - -0:16:27.120,0:16:33.839 -and also that - -0:16:31.519,0:16:35.680 -it didn't have too much features like I - -0:16:33.839,0:16:37.839 -prefer the maximum used to - -0:16:35.680,0:16:38.880 -maybe octave is better I don't I'm not - -0:16:37.839,0:16:40.800 -100 sure - -0:16:38.880,0:16:42.079 -I know that you can use it for similar - -0:16:40.800,0:16:45.920 -stuff but - -0:16:42.079,0:16:45.920 -that's it so sorry - -0:16:47.120,0:16:54.079 -okay I'm in a little bit of a rush sorry - -0:16:50.959,0:16:56.399 -let me drink a little blue okay - -0:16:54.079,0:16:56.399 -okay - -0:17:00.639,0:17:08.000 -okay how does maxima compare to sagemath - -0:17:05.280,0:17:08.000 -in imax - -0:17:08.959,0:17:17.439 -I mean I don't know what is sage - -0:17:13.360,0:17:18.079 -math I'm sorry um so I cannot answer - -0:17:17.439,0:17:21.839 -your question - -0:17:18.079,0:17:25.039 -with your question I think um - -0:17:21.839,0:17:26.720 -sorry but I mean maxima is ready in - -0:17:25.039,0:17:28.000 -combo list that's just a preference for - -0:17:26.720,0:17:31.120 -me because I like - -0:17:28.000,0:17:35.520 -lisp dialect and common lisp is - -0:17:31.120,0:17:35.520 -interesting um - -0:17:36.400,0:17:42.720 -yeah do you plan to - -0:17:40.480,0:17:43.840 -I mean a maximum organization for maxima - -0:17:42.720,0:17:47.360 -code block - -0:17:43.840,0:17:50.720 -yes I want to improve the um - -0:17:47.360,0:17:52.000 -of maxima package but I didn't have - -0:17:50.720,0:17:54.400 -enough time and I want to - -0:17:52.000,0:17:57.200 -clear a little bit of the code because - -0:17:54.400,0:17:57.200 -still right now - -0:17:58.000,0:18:02.080 -the code is quite messy in some areas - -0:18:00.080,0:18:03.520 -because I pretty much implement first - -0:18:02.080,0:18:05.600 -the base function I want to - -0:18:03.520,0:18:07.120 -build on top of so right now it's quite - -0:18:05.600,0:18:07.919 -usable but I still have something that I - -0:18:07.120,0:18:11.120 -want to improve - -0:18:07.919,0:18:14.799 -so when I finish that I will - -0:18:11.120,0:18:16.640 -improve the normal version I think - -0:18:14.799,0:18:18.640 -it's maximizing to get into into your - -0:18:16.640,0:18:21.200 -opinion yes I - -0:18:18.640,0:18:21.919 -I think that the creator of maxima like - -0:18:21.200,0:18:26.400 -have this - -0:18:21.919,0:18:26.400 -lisp mine and probably - -0:18:26.640,0:18:30.559 -that they if you go to a symbol you get - -0:18:29.520,0:18:33.520 -all the information - -0:18:30.559,0:18:36.480 -and that reflects that you can actually - -0:18:33.520,0:18:40.000 -write your program of maxima into - -0:18:36.480,0:18:40.799 -um into lisp literally because they have - -0:18:40.000,0:18:42.480 -a command - -0:18:40.799,0:18:44.880 -so I think that is quite easy to get - -0:18:42.480,0:18:48.240 -into some university use it for - -0:18:44.880,0:18:51.200 -um first um - -0:18:48.240,0:18:53.039 -years so it's quite easy and I think - -0:18:51.200,0:18:56.640 -with my package you can use it - -0:18:53.039,0:18:58.960 -like pretty pretty easily just create a - -0:18:56.640,0:19:00.880 -file and you can start typing and - -0:18:58.960,0:19:04.400 -maximize quite easy to install also - -0:19:00.880,0:19:07.600 -so I think yeah it's crazy and - -0:19:04.400,0:19:10.080 -the page should restart I don't know why - -0:19:07.600,0:19:10.080 -sorry - -0:19:18.320,0:19:25.440 -strict in fixed lisp syntax - -0:19:22.559,0:19:26.240 -you're talking about the maxima itself - -0:19:25.440,0:19:27.760 -syntax - -0:19:26.240,0:19:30.160 -or I don't understand the question - -0:19:27.760,0:19:30.160 -correctly - -0:19:32.240,0:19:35.440 -well I'm going to go to the next - -0:19:33.679,0:19:37.360 -question is there - -0:19:35.440,0:19:38.880 -support for images in maximum mode not - -0:19:37.360,0:19:43.840 -right now - -0:19:38.880,0:19:43.840 -the way I want to implement some imax - -0:19:45.280,0:19:51.280 -things uh is there support for - -0:19:49.120,0:19:53.360 -but right now it doesn't have like a if - -0:19:51.280,0:19:55.600 -you could want to have a new plot - -0:19:53.360,0:19:56.720 -um inside you buffer right now it's not - -0:19:55.600,0:19:59.360 -possible so - -0:19:56.720,0:20:01.200 -that's the thing that I maximized that - -0:19:59.360,0:20:03.520 -maxima.l still doesn't - -0:20:01.200,0:20:04.720 -do which university you start to use - -0:20:03.520,0:20:08.799 -maxima um - -0:20:04.720,0:20:11.840 -in this aragosa university from spain - -0:20:08.799,0:20:12.640 -they used to maximize the um thing in - -0:20:11.840,0:20:16.400 -the engineer - -0:20:12.640,0:20:18.320 -and in the math also so I'm 100 sure - -0:20:16.400,0:20:19.679 -right now but when I started - -0:20:18.320,0:20:22.559 -are you planning to option your package - -0:20:19.679,0:20:25.440 -into maxima um I don't know about that - -0:20:22.559,0:20:26.320 -because uh maybe can be a little bit - -0:20:25.440,0:20:30.720 -messy - -0:20:26.320,0:20:32.960 -um because the maxima ripple is more - -0:20:30.720,0:20:33.360 -built around like maxima itself and they - -0:20:32.960,0:20:37.600 -don't - -0:20:33.360,0:20:42.240 -update the interfaces that much - -0:20:37.600,0:20:45.360 -I have no problem like it's okay it just - -0:20:42.240,0:20:46.320 -you have to um if you want to push you - -0:20:45.360,0:20:48.480 -can push in other - -0:20:46.320,0:20:49.520 -repository I mean it's just changed the - -0:20:48.480,0:20:52.880 -file another way - -0:20:49.520,0:20:54.080 -but also the test um is going to be a - -0:20:52.880,0:20:55.200 -little bit harder because I think - -0:20:54.080,0:20:59.120 -they're using - -0:20:55.200,0:21:01.200 -search for and I'm using - -0:20:59.120,0:21:02.159 -git lab continue integration within the - -0:21:01.200,0:21:06.799 -jury - -0:21:02.159,0:21:09.679 -so yeah I don't think that now unmuted - -0:21:06.799,0:21:09.679 -yeah it will be nice - -0:21:10.799,0:21:14.840 -okay um it's possible to include - -0:21:12.799,0:21:16.480 -maximizing or false similar to jupiter - -0:21:14.840,0:21:19.919 -notebooks - -0:21:16.480,0:21:23.280 -um I mean you can uh use maximize your - -0:21:19.919,0:21:26.320 -or files and you have maximum l mod - -0:21:23.280,0:21:31.520 -integrated and you can like create put - -0:21:26.320,0:21:34.400 -that code into a buffer and then - -0:21:31.520,0:21:36.159 -uh edited correctly but it is now not it - -0:21:34.400,0:21:37.679 -doesn't have like all the features like - -0:21:36.159,0:21:40.480 -other languages because - -0:21:37.679,0:21:42.320 -right now uh as my understanding is - -0:21:40.480,0:21:45.440 -quite basic so I still have some - -0:21:42.320,0:21:47.679 -still needs some some stuff some work - -0:21:45.440,0:21:47.679 -around - -0:21:47.919,0:21:51.760 -okay I think that's it - -0:21:52.320,0:21:55.440 -you are now unmuted - -0:21:56.320,0:22:01.919 -yep so that's it uh thank you very much - -0:21:59.600,0:22:04.640 -fermin for your live talk and for you - -0:22:01.919,0:22:07.679 -know the live q a - -0:22:04.640,0:22:09.840 -thank you all amazing uh max conf - -0:22:07.679,0:22:10.720 -cheers thank you it's thanks to you all - -0:22:09.840,0:22:16.240 -you guys - -0:22:10.720,0:22:16.240 -it's awesome okay thank you cheers bye - -0:22:16.840,0:22:19.840 -bye - |