diff options
Diffstat (limited to '')
-rw-r--r-- | 2020/subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.sbv | 1707 |
1 files changed, 1707 insertions, 0 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 new file mode 100644 index 00000000..46e06548 --- /dev/null +++ b/2020/subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.sbv @@ -0,0 +1,1707 @@ +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 + |