You can subscribe to this list here.
2014 |
Jan
|
Feb
(232) |
Mar
(323) |
Apr
(383) |
May
(359) |
Jun
(435) |
Jul
(252) |
Aug
(172) |
Sep
(265) |
Oct
(263) |
Nov
(350) |
Dec
(359) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2015 |
Jan
(267) |
Feb
(220) |
Mar
(311) |
Apr
(269) |
May
(388) |
Jun
(403) |
Jul
(172) |
Aug
(399) |
Sep
(364) |
Oct
(269) |
Nov
(357) |
Dec
(468) |
2016 |
Jan
(618) |
Feb
(592) |
Mar
(625) |
Apr
(516) |
May
(375) |
Jun
(155) |
Jul
(346) |
Aug
(262) |
Sep
(346) |
Oct
(291) |
Nov
(333) |
Dec
(335) |
2017 |
Jan
(436) |
Feb
(460) |
Mar
(370) |
Apr
(189) |
May
(252) |
Jun
(272) |
Jul
(286) |
Aug
(293) |
Sep
(303) |
Oct
(331) |
Nov
(346) |
Dec
(273) |
2018 |
Jan
(295) |
Feb
(343) |
Mar
(265) |
Apr
(290) |
May
(233) |
Jun
(201) |
Jul
(234) |
Aug
(125) |
Sep
(287) |
Oct
(322) |
Nov
(274) |
Dec
(293) |
2019 |
Jan
(406) |
Feb
(255) |
Mar
(418) |
Apr
(187) |
May
(247) |
Jun
(282) |
Jul
(84) |
Aug
(108) |
Sep
(175) |
Oct
(161) |
Nov
(215) |
Dec
(184) |
2020 |
Jan
(205) |
Feb
(287) |
Mar
(180) |
Apr
(285) |
May
(272) |
Jun
(266) |
Jul
(133) |
Aug
(253) |
Sep
(281) |
Oct
(346) |
Nov
(293) |
Dec
(253) |
2021 |
Jan
(218) |
Feb
(194) |
Mar
(399) |
Apr
(312) |
May
(425) |
Jun
(358) |
Jul
(160) |
Aug
(251) |
Sep
(110) |
Oct
(113) |
Nov
(257) |
Dec
(99) |
2022 |
Jan
(233) |
Feb
(184) |
Mar
(284) |
Apr
(221) |
May
(178) |
Jun
(231) |
Jul
(337) |
Aug
(264) |
Sep
(181) |
Oct
(183) |
Nov
(281) |
Dec
(406) |
2023 |
Jan
(479) |
Feb
(263) |
Mar
(278) |
Apr
(149) |
May
(186) |
Jun
(215) |
Jul
(353) |
Aug
(195) |
Sep
(232) |
Oct
(140) |
Nov
(211) |
Dec
(197) |
2024 |
Jan
(348) |
Feb
(167) |
Mar
(131) |
Apr
(222) |
May
(113) |
Jun
(136) |
Jul
(242) |
Aug
(105) |
Sep
(87) |
Oct
|
Nov
|
Dec
|
From: Leo B. <Leo...@um...> - 2023-11-20 16:55:13
|
On Sat, Nov 18 2023, Robert Dodier <rob...@gm...> wrote: > I've made some progress on getting the Maxima console display (pretty > printer) to use Unicode characters in the interest of greater clarity. I've > captured some examples in a screenshot so that everyone sees the same thing. > > [image: maxima-unicode-display-work-in-progress-2023-11-17.png] > > These examples were composed with Maxima + SBCL; same results for Maxima + > Clisp. I am running Maxima in GNOME Terminal (Ubuntu Linux). > > The hard part of this stuff is accounting for various use cases. Is the > Lisp implementation Unicode-capable? Most are, but not GCL. What if the > user wants to go back to the ASCII art display? I created a global flag > maxima_unicode_display to allow for that. What if the Lisp implementation > is capable but Unicode is disabled (e.g. because LANG does not designate a > UTF-8 locale)? Clisp is the only example I know about; I handled that, I > supposed if there are any others, we'll handle them case by case. Can I suggest an alternative approach: since you are creating a new printer, define as such and use the alt-display machinery to switch between it and others. > > The biggest question to me at present is how to handle the various display > characters, e.g. absboxchar, boxchar, rmxchar, lmxchar, etc. I can't bring > myself to introduce ASCII and Unicode variants of all those. Two solutions > I can handle, conceptually speaking, are to apply those only when > maxima_unicode_display is false, or just nuke them entirely, so that > maxima_unicode_display = false has fixed characters for drawing. I suggest nuking maxima_unicode_display, as mentioned above. Have your printer set up its defaults. Provide a function like set_unicode_display_defaults that lets the user set those display characters for this particular printer, if desired. Leo |
From: El O. De M. <obs...@gm...> - 2023-11-20 16:18:16
|
Hi, I have reinstalled Maxima. Currently, this was my build: build_info(version="5.46.0",timestamp="2022-04-13 23:23:52",host="x86_64-w64-mingw32",lisp_name="CLISP",lisp_version="2.49 (2010-07-07) (built on standrechner [192.168.0.119])",maxima_userdir="C:/Users/Usuario/maxima",maxima_tempdir="C:/Users/Usuario/AppData/Local/Temp",maxima_objdir="C:/Users/Usuario/maxima/binary/5_46_0/clisp/2_49__2010_07_07___built_on_standrechner__192_168_0_119__",maxima_frontend="wxMaxima",maxima_frontend_version="22.04.0_MSW") Now i have turned to sbcl and appears: (%i1) showtime:true$ Evaluation took 0.0000 seconds (0.0000 elapsed) using 0 bytes. (%i2) block( [my_files:file_search_demo], strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), striml(%%,my_files[2]), strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), strimr("/",%%), strim("{",%%), strim("}",%%), split(%%,","), map(lambda([x],split(x,"/")),%%), unique(flatten(%%)), sublist(%%,lambda([x],file_search(x)#false)) ); Evaluation took 3.8906 seconds (4.0693 elapsed) using 516.853 MB. (%o2) ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma","combinatorics", "descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel","gentran","gf","graphs","hompack", "hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix","maximaMathML","minpack","misc","mnewton","multiadditive", "nelder_mead","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly","pdiff","prim","pslq","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq", "solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode","tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] (%i3) build_info(); Evaluation took 0.0000 seconds (0.0000 elapsed) using 0 bytes. (%o3) build_info(version="5.47.0",timestamp="2023-06-02 20:31:42",host="x86_64-w64-mingw32",lisp_name="SBCL",lisp_version="2.3.2",maxima_userdir= "C:/Users/Usuario/maxima",maxima_tempdir="C:/Users/Usuario/AppData/Local/Temp",maxima_objdir="C:/Users/Usuario/maxima/binary/5_47_0/sbcl/2_3_2", maxima_frontend="wxMaxima",maxima_frontend_version="23.05.1_MSW") My OS is Windows 10 Pro That works for me. Thank you very much. El lun, 20 nov 2023 a las 10:55, Leo Butler (<Leo...@um...>) escribió: > You haven't told us which lisp you are using. That matters. > Here is your code run with sbcl plus a recent build from HEAD. > > Maxima branch_5_47_base_432_gd10d5ac7a https://maxima.sourceforge.io > using Lisp SBCL 2.3.7.debian > > (%i1) showtime:true$ > Evaluation took 0.0001 seconds (0.0000 elapsed) using 0 bytes. > (%i2) block( > [my_files:file_search_demo], > strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), > striml(%%,my_files[2]), > strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), > strimr("/",%%), > strim("{",%%), > strim("}",%%), > split(%%,","), > map(lambda([x],split(x,"/")),%%), > unique(flatten(%%)), > sublist(%%,lambda([x],file_search(x)#false)) > ); > > Evaluation took 0.5302 seconds (0.6200 elapsed) using 193.029 MB. > (%o2) [] > > That is not a stellar time, but Maxima does not have efficient > string-manipulation functions (as evidenced by the memory usage). It is > about 80x faster than you report, though. > > Leo > > > On Sat, Nov 18 2023, El Observatorio De Matemática < > obs...@gm...> wrote: > > > Certainly, other lists can be used. > > > > (%i1) showtime:true$ > > Evaluation took 0.0000 seconds (0.0000 elapsed) using 32 bytes. > > (%i2) block( > > [my_examples:example()], > > sublist(my_examples,lambda([x],file_search(x)#false)) > > ); > > Evaluation took 101.4844 seconds (101.5819 elapsed) using 641.304 MB. > > > > (%o2) > > > ["algsys","cf","factor","limit","linsolve","nusum","ode2","optimize","partition","risch","solve","sqfr"] > > > > but when apropos is used there are unexpected arguments (like the > following > > error message: filename_merge: unexpected argument: "::"). > > > > Anyway, i will find the way to explain myself better. > > > > best regards. > > > > El sáb, 18 nov 2023 a las 19:37, Richard Fateman (<fa...@gm...>) > > escribió: > > > >> I also don't know what you are trying to do. > >> :lisp (setf $stuff (cons '(mlist) (apropos-list "$"))) > >> > >> sets stuff to a list of all symbols in Maxima that have the character > "$" > >> in the name. > >> I suppose one could look through them to see if they are names linked to > >> files, if that > >> is the point. > >> > >> There are about 2350 such symbols. As you fiddle around with Maxima, > you > >> create more of them.. > >> RJF > >> > >> On Sat, Nov 18, 2023 at 12:02 PM Raymond Toy <toy...@gm...> > >> wrote: > >> > >>> > >>> > >>> On Sat, Nov 18, 2023 at 11:08 AM El Observatorio De Matemática < > >>> obs...@gm...> wrote: > >>> > >>>> Actually, i am trying to retrieve the appropriate words that allow to > >>>> load actual packages, not demos (that could be interesting). > >>>> > >>> I'm sorry, I don't quite understand. What are "appropriate words"? > From > >>> the output, it looks like you've just listed the directories that > contain > >>> files that maxima can load. > >>> > >>> That could be done in Lisp fairly quickly if you don't mind writing it > in > >>> lisp. > >>> > >>>> > >>>> Here are the same list retrieve with minor modifications: > >>>> > >>>> (%i1) showtime:true$ > >>>> Evaluation took 0.0000 seconds (0.0000 elapsed) using 32 bytes. > >>>> (%i2) block( > >>>> [my_files:file_search_demo], > >>>> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), > >>>> striml(%%,my_files[2]), > >>>> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), > >>>> strimr("/",%%), > >>>> strim("{",%%), > >>>> strim("}",%%), > >>>> split(%%,","), > >>>> map(lambda([x],split(x,"/")),%%), > >>>> unique(flatten(%%)), > >>>> sublist(%%,lambda([x],file_search(x)#false)) > >>>> ); > >>>> Evaluation took 39.0312 seconds (39.2417 elapsed) using 249.529 MB. > >>>> > >>>> (%o2) > >>>> > > > ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", > >>>> > >>>> > > > "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", > >>>> > >>>> > > > "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", > >>>> > >>>> > > > "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", > >>>> > >>>> > > > "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", > >>>> > >>>> > > > "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] > >>>> (%i3) block( > >>>> [my_files:file_search_lisp], > >>>> strimr("$$$.{fas,lisp,lsp}",my_files[2]), > >>>> striml(%%,my_files[3]), > >>>> strimr("$$$.{fas,lisp,lsp}",%%), > >>>> strimr("/",%%), > >>>> strim("{",%%), > >>>> strim("}",%%), > >>>> split(%%,","), > >>>> map(lambda([x],split(x,"/")),%%), > >>>> unique(flatten(%%)), > >>>> sublist(%%,lambda([x],file_search(x)#false)) > >>>> ); > >>>> Evaluation took 36.3906 seconds (36.3823 elapsed) using 230.018 MB. > >>>> > >>>> (%o3) > >>>> > > > ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", > >>>> > >>>> > > > "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", > >>>> > >>>> > > > "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", > >>>> > >>>> > > > "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", > >>>> > >>>> > > > "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", > >>>> > >>>> > > > "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] > >>>> (%i4) block( > >>>> [my_files:file_search_maxima], > >>>> strimr("$$$.{mac,mc,wxm}",my_files[2]), > >>>> striml(%%,my_files[3]), > >>>> strimr("$$$.{mac,mc,wxm}",%%), > >>>> strimr("/",%%), > >>>> strim("{",%%), > >>>> strim("}",%%), > >>>> split(%%,","), > >>>> map(lambda([x],split(x,"/")),%%), > >>>> unique(flatten(%%)), > >>>> sublist(%%,lambda([x],file_search(x)#false)) > >>>> ); > >>>> Evaluation took 36.3125 seconds (36.3174 elapsed) using 230.018 MB. > >>>> > >>>> (%o4) > >>>> > > > ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", > >>>> > >>>> > > > "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", > >>>> > >>>> > > > "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", > >>>> > >>>> > > > "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", > >>>> > >>>> > > > "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", > >>>> > >>>> > > > "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] > >>>> (%i5) block( > >>>> [my_files:file_search_usage], > >>>> strimr("$$.{usg,texi}",my_files[1]), > >>>> striml(%%,my_files[2]), > >>>> strimr("$$.{usg,texi}",%%), > >>>> strimr("/",%%), > >>>> strim("{",%%), > >>>> strim("}",%%), > >>>> split(%%,","), > >>>> map(lambda([x],split(x,"/")),%%), > >>>> unique(flatten(%%)), > >>>> sublist(%%,lambda([x],file_search(x)#false)) > >>>> ); > >>>> Evaluation took 36.3281 seconds (36.3281 elapsed) using 230.018 MB. > >>>> > >>>> (%o5) > >>>> > > > ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", > >>>> > >>>> > > > "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", > >>>> > >>>> > > > "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", > >>>> > >>>> > > > "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", > >>>> > >>>> > > > "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", > >>>> > >>>> > > > "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] > >>>> > >>>> El sáb, 18 nov 2023 a las 12:40, Raymond Toy (<toy...@gm... > >) > >>>> escribió: > >>>> > >>>>> > >>>>> > >>>>> On Sat, Nov 18, 2023 at 6:33 AM El Observatorio De Matemática < > >>>>> obs...@gm...> wrote: > >>>>> > >>>>>> Hi, > >>>>>> > >>>>>> I got the following: > >>>>>> > >>>>>> (%i1) showtime:true$ > >>>>>> Evaluation took 0.0000 seconds (0.0000 elapsed) using 32 bytes. > >>>>>> (%i2) block( > >>>>>> [my_files:file_search_demo], > >>>>>> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), > >>>>>> striml(%%,my_files[2]), > >>>>>> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), > >>>>>> strimr("/",%%), > >>>>>> strim("{",%%), > >>>>>> strim("}",%%), > >>>>>> split(%%,","), > >>>>>> map(lambda([x],split(x,"/")),%%), > >>>>>> unique(flatten(%%)), > >>>>>> sublist(%%,lambda([x],file_search(x)#false)) > >>>>>> ); > >>>>>> Evaluation took 38.1562 seconds (38.1814 elapsed) using 249.529 MB. > >>>>>> > >>>>>> (%o2) > >>>>>> > > > ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", > >>>>>> > >>>>>> > > > "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", > >>>>>> > >>>>>> > > > "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", > >>>>>> > >>>>>> > > > "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", > >>>>>> > >>>>>> > > > "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", > >>>>>> > >>>>>> > > > "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] > >>>>>> > >>>>> > >>>>> What exactly are you trying to do here? Find all the directories > that > >>>>> have demo files? > >>>>> > >>>>> (Note: this will no longer work in recent versions of maxima, > possibly > >>>>> even 5.47.1. The syntax for file search paths has changed to use > >>>>> common-lisp pathname wildcards for matching. So file_search_demo is > >>>>> something like > >>>>> [/home/toy/src/sourceforge/maxima/share/**/*.dem, > >>>>> /home/toy/src/sourceforge/maxima/demo/*.dem]) > >>>>> > >>>>>> > >>>>>> How can this be done faster?, with lisp?, where can be found > >>>>>> the source code of Functions and Variables for File input and > Output? > >>>>>> > >>>>> Why does this have to be fast? Are you planning on doing it over and > >>>>> over all the time with the results changing each time? > >>>>> > >>>>> You can find some of the functions in the file src/mload.lisp. I > >>>>> didn't check to see if all of the functions in that section are > implemented > >>>>> in mload.lisp. > >>>>> > >>>>> > >>>>>> Thanks in advance. > >>>>>> -- > >>>>>> https://github.com/Observatorio-de-Matematica > >>>>>> _______________________________________________ > >>>>>> Maxima-discuss mailing list > >>>>>> Max...@li... > >>>>>> https://lists.sourceforge.net/lists/listinfo/maxima-discuss > >>>>>> > >>>>> > >>>>> > >>>>> -- > >>>>> Ray > >>>>> > >>>> > >>> > >>> -- > >>> Ray > >>> _______________________________________________ > >>> Maxima-discuss mailing list > >>> Max...@li... > >>> https://lists.sourceforge.net/lists/listinfo/maxima-discuss > >>> > >> > > > > _______________________________________________ > > Maxima-discuss mailing list > > Max...@li... > > https://lists.sourceforge.net/lists/listinfo/maxima-discuss |
From: Leo B. <Leo...@um...> - 2023-11-20 15:55:41
|
You haven't told us which lisp you are using. That matters. Here is your code run with sbcl plus a recent build from HEAD. Maxima branch_5_47_base_432_gd10d5ac7a https://maxima.sourceforge.io using Lisp SBCL 2.3.7.debian (%i1) showtime:true$ Evaluation took 0.0001 seconds (0.0000 elapsed) using 0 bytes. (%i2) block( [my_files:file_search_demo], strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), striml(%%,my_files[2]), strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), strimr("/",%%), strim("{",%%), strim("}",%%), split(%%,","), map(lambda([x],split(x,"/")),%%), unique(flatten(%%)), sublist(%%,lambda([x],file_search(x)#false)) ); Evaluation took 0.5302 seconds (0.6200 elapsed) using 193.029 MB. (%o2) [] That is not a stellar time, but Maxima does not have efficient string-manipulation functions (as evidenced by the memory usage). It is about 80x faster than you report, though. Leo On Sat, Nov 18 2023, El Observatorio De Matemática <obs...@gm...> wrote: > Certainly, other lists can be used. > > (%i1) showtime:true$ > Evaluation took 0.0000 seconds (0.0000 elapsed) using 32 bytes. > (%i2) block( > [my_examples:example()], > sublist(my_examples,lambda([x],file_search(x)#false)) > ); > Evaluation took 101.4844 seconds (101.5819 elapsed) using 641.304 MB. > > (%o2) > ["algsys","cf","factor","limit","linsolve","nusum","ode2","optimize","partition","risch","solve","sqfr"] > > but when apropos is used there are unexpected arguments (like the following > error message: filename_merge: unexpected argument: "::"). > > Anyway, i will find the way to explain myself better. > > best regards. > > El sáb, 18 nov 2023 a las 19:37, Richard Fateman (<fa...@gm...>) > escribió: > >> I also don't know what you are trying to do. >> :lisp (setf $stuff (cons '(mlist) (apropos-list "$"))) >> >> sets stuff to a list of all symbols in Maxima that have the character "$" >> in the name. >> I suppose one could look through them to see if they are names linked to >> files, if that >> is the point. >> >> There are about 2350 such symbols. As you fiddle around with Maxima, you >> create more of them.. >> RJF >> >> On Sat, Nov 18, 2023 at 12:02 PM Raymond Toy <toy...@gm...> >> wrote: >> >>> >>> >>> On Sat, Nov 18, 2023 at 11:08 AM El Observatorio De Matemática < >>> obs...@gm...> wrote: >>> >>>> Actually, i am trying to retrieve the appropriate words that allow to >>>> load actual packages, not demos (that could be interesting). >>>> >>> I'm sorry, I don't quite understand. What are "appropriate words"? From >>> the output, it looks like you've just listed the directories that contain >>> files that maxima can load. >>> >>> That could be done in Lisp fairly quickly if you don't mind writing it in >>> lisp. >>> >>>> >>>> Here are the same list retrieve with minor modifications: >>>> >>>> (%i1) showtime:true$ >>>> Evaluation took 0.0000 seconds (0.0000 elapsed) using 32 bytes. >>>> (%i2) block( >>>> [my_files:file_search_demo], >>>> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), >>>> striml(%%,my_files[2]), >>>> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), >>>> strimr("/",%%), >>>> strim("{",%%), >>>> strim("}",%%), >>>> split(%%,","), >>>> map(lambda([x],split(x,"/")),%%), >>>> unique(flatten(%%)), >>>> sublist(%%,lambda([x],file_search(x)#false)) >>>> ); >>>> Evaluation took 39.0312 seconds (39.2417 elapsed) using 249.529 MB. >>>> >>>> (%o2) >>>> > ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", >>>> >>>> > "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", >>>> >>>> > "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", >>>> >>>> > "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", >>>> >>>> > "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", >>>> >>>> > "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] >>>> (%i3) block( >>>> [my_files:file_search_lisp], >>>> strimr("$$$.{fas,lisp,lsp}",my_files[2]), >>>> striml(%%,my_files[3]), >>>> strimr("$$$.{fas,lisp,lsp}",%%), >>>> strimr("/",%%), >>>> strim("{",%%), >>>> strim("}",%%), >>>> split(%%,","), >>>> map(lambda([x],split(x,"/")),%%), >>>> unique(flatten(%%)), >>>> sublist(%%,lambda([x],file_search(x)#false)) >>>> ); >>>> Evaluation took 36.3906 seconds (36.3823 elapsed) using 230.018 MB. >>>> >>>> (%o3) >>>> > ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", >>>> >>>> > "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", >>>> >>>> > "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", >>>> >>>> > "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", >>>> >>>> > "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", >>>> >>>> > "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] >>>> (%i4) block( >>>> [my_files:file_search_maxima], >>>> strimr("$$$.{mac,mc,wxm}",my_files[2]), >>>> striml(%%,my_files[3]), >>>> strimr("$$$.{mac,mc,wxm}",%%), >>>> strimr("/",%%), >>>> strim("{",%%), >>>> strim("}",%%), >>>> split(%%,","), >>>> map(lambda([x],split(x,"/")),%%), >>>> unique(flatten(%%)), >>>> sublist(%%,lambda([x],file_search(x)#false)) >>>> ); >>>> Evaluation took 36.3125 seconds (36.3174 elapsed) using 230.018 MB. >>>> >>>> (%o4) >>>> > ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", >>>> >>>> > "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", >>>> >>>> > "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", >>>> >>>> > "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", >>>> >>>> > "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", >>>> >>>> > "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] >>>> (%i5) block( >>>> [my_files:file_search_usage], >>>> strimr("$$.{usg,texi}",my_files[1]), >>>> striml(%%,my_files[2]), >>>> strimr("$$.{usg,texi}",%%), >>>> strimr("/",%%), >>>> strim("{",%%), >>>> strim("}",%%), >>>> split(%%,","), >>>> map(lambda([x],split(x,"/")),%%), >>>> unique(flatten(%%)), >>>> sublist(%%,lambda([x],file_search(x)#false)) >>>> ); >>>> Evaluation took 36.3281 seconds (36.3281 elapsed) using 230.018 MB. >>>> >>>> (%o5) >>>> > ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", >>>> >>>> > "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", >>>> >>>> > "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", >>>> >>>> > "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", >>>> >>>> > "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", >>>> >>>> > "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] >>>> >>>> El sáb, 18 nov 2023 a las 12:40, Raymond Toy (<toy...@gm...>) >>>> escribió: >>>> >>>>> >>>>> >>>>> On Sat, Nov 18, 2023 at 6:33 AM El Observatorio De Matemática < >>>>> obs...@gm...> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> I got the following: >>>>>> >>>>>> (%i1) showtime:true$ >>>>>> Evaluation took 0.0000 seconds (0.0000 elapsed) using 32 bytes. >>>>>> (%i2) block( >>>>>> [my_files:file_search_demo], >>>>>> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), >>>>>> striml(%%,my_files[2]), >>>>>> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), >>>>>> strimr("/",%%), >>>>>> strim("{",%%), >>>>>> strim("}",%%), >>>>>> split(%%,","), >>>>>> map(lambda([x],split(x,"/")),%%), >>>>>> unique(flatten(%%)), >>>>>> sublist(%%,lambda([x],file_search(x)#false)) >>>>>> ); >>>>>> Evaluation took 38.1562 seconds (38.1814 elapsed) using 249.529 MB. >>>>>> >>>>>> (%o2) >>>>>> > ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", >>>>>> >>>>>> > "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", >>>>>> >>>>>> > "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", >>>>>> >>>>>> > "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", >>>>>> >>>>>> > "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", >>>>>> >>>>>> > "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] >>>>>> >>>>> >>>>> What exactly are you trying to do here? Find all the directories that >>>>> have demo files? >>>>> >>>>> (Note: this will no longer work in recent versions of maxima, possibly >>>>> even 5.47.1. The syntax for file search paths has changed to use >>>>> common-lisp pathname wildcards for matching. So file_search_demo is >>>>> something like >>>>> [/home/toy/src/sourceforge/maxima/share/**/*.dem, >>>>> /home/toy/src/sourceforge/maxima/demo/*.dem]) >>>>> >>>>>> >>>>>> How can this be done faster?, with lisp?, where can be found >>>>>> the source code of Functions and Variables for File input and Output? >>>>>> >>>>> Why does this have to be fast? Are you planning on doing it over and >>>>> over all the time with the results changing each time? >>>>> >>>>> You can find some of the functions in the file src/mload.lisp. I >>>>> didn't check to see if all of the functions in that section are implemented >>>>> in mload.lisp. >>>>> >>>>> >>>>>> Thanks in advance. >>>>>> -- >>>>>> https://github.com/Observatorio-de-Matematica >>>>>> _______________________________________________ >>>>>> Maxima-discuss mailing list >>>>>> Max...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/maxima-discuss >>>>>> >>>>> >>>>> >>>>> -- >>>>> Ray >>>>> >>>> >>> >>> -- >>> Ray >>> _______________________________________________ >>> Maxima-discuss mailing list >>> Max...@li... >>> https://lists.sourceforge.net/lists/listinfo/maxima-discuss >>> >> > > _______________________________________________ > Maxima-discuss mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-discuss |
From: Wolfgang H. <Auto@Hugemann.de> - 2023-11-20 15:13:03
|
Examine the link properties. The link should refer to the batch file, without any command line parameters. Looks like there is a superfluous -s 49165. I recently installed the latest Maxima version on Windows (admittedly Windows 10) and didn't encounter any issues. Strange installation path that you chose, but that shouldn't matter. Wolfgang Hugemann |
From: Wolfgang H. <Auto@Hugemann.de> - 2023-11-20 15:11:46
|
Examine the link properties. The link should refer to the batch file, without any command line parameters. Looks like there is a superfluous -s 49165. I recently installed the latest Maxima version on Windows (admittedly Windows 10) and didn't encounter any issues. Strange installation path that you chose, but that shouldn't matter. Wolfgang Hugemann |
From: Oleg N. <ol...@re...> - 2023-11-20 14:52:57
|
On 11/19, Robert Dodier wrote: > > Do you have any other patches? I'd be very interested to hear about it. No, sorry. Well... actually I've played with displa.lisp a bit more, found 2 old patches which decrease the height of the summation and integral signs, see below. %i1) sum(integrate(f(i,x)/g(i,x),x,x0,x1),i,0,N); N x1 ____ ╲ ⌠ f(i, x) (%o1) ╱ ⎮ ─────── dx ‾‾‾‾ ⌡ g(i, x) i = 0 x0 but I didn't really like the result, so I decided to not use them. Thanks! Oleg. --- x/src/displa.lisp 2020-05-14 17:32:49.002880855 +0200 +++ x/src/displa.lisp 2020-05-14 18:50:30.001098594 +0200 @@ -884,10 +884,10 @@ (displa-def %lsum dim-%lsum 110.) (defun dim-%lsum (form result) - (dsumprod form result '(d-sumsign) 4 3 2)) + (dsumprod form result '(d-sumsign) 5 3 1)) (defun dim-%sum (form result) - (dsumprod form result '(d-sumsign) 4 3 2)) + (dsumprod form result '(d-sumsign) 5 3 1)) (defun dim-%limit (form result) (prog ((w 0) (h 0) (d 0) dummy) @@ -1463,7 +1463,7 @@ (defun d-sumsign (linear? &aux dmstr) (declare (ignore linear?)) - (setq dmstr '((0 2 (d-hbar 4 #\_)) (-4 1 #\╲) #\> (-2 -1 #\╱) (-1 -2 (d-hbar 4 #\‾)))) + (setq dmstr '((0 2 (d-hbar 4 #\_)) (-4 1 #\╲) (-1 0 #\╱) (-1 -1 (d-hbar 4 #\‾)))) (draw-linear dmstr oldrow oldcol)) ;; Notice how this calls D-VBAR in the non-graphic case. The entire output --- x/src/displa.lisp 2020-05-14 17:32:49.002880855 +0200 +++ x/src/displa.lisp 2020-05-15 00:31:44.057871004 +0200 @@ -698,10 +698,10 @@ (setq dummy2 (dimension (cadddr form) nil 'mparen 'mparen nil 0)) (if (not (checkfit (+ 2 (max w width)))) (return (dimension-function form result))) - (setq dummy `((0 ,(+ 3 d) . ,dummy) (d-integralsign) . ,result)) - (setq dummy (cons (cons (- w) (cons (- (+ 2 height)) dummy2)) dummy) + (setq dummy `((-1 ,(+ 3 d) . ,dummy) (d-integralsign) . ,result)) + (setq dummy (cons (cons (- w) (cons (- (+ 1 height)) dummy2)) dummy) w (+ 2 (max w width)) h (+ 3 h d) d (+ 2 height depth) - dummy (cons (list (- w 1 width) 0) dummy)))) + dummy (cons (list (- w 0 width) 0) dummy)))) (update-heights h d) (setq dummy (dimension (cadr form) dummy '%integrate 'mparen w 2) w (+ w width) h (max h height) d (max d depth)) @@ -1453,7 +1453,7 @@ (defun d-integralsign (linear? &aux dmstr) (declare (ignore linear?)) - (setq dmstr `((0 2 #\⌠) (-1 1 #\⎮) (-1 0 #\⎮) (-1 -1 #\⎮) (-1 -2 #\⌡))) + (setq dmstr `((0 1 #\⌠) (-1 0 #\⎮) (-1 -1 #\⌡))) (draw-linear dmstr oldrow oldcol)) (defun d-prodsign (linear? &aux dmstr) |
From: Aswathy M <asw...@gm...> - 2023-11-20 14:16:00
|
Hi Team, I am facing installation issue with wxmaxima, while trying to install latest version 5.47 on my windows 11 OS. I am hereby attaching the screenshot of the error message prompted. Hoping for a positive and fruitful response from your end. Thanks, Aswathy M. |
From: Michel T. <ta...@lp...> - 2023-11-20 10:14:40
|
Hello, First Gauss decomposition is described in: https://www.bibmath.net/dico/index.php?action=affiche&quoi=./g/gaussdecompo.html In english i don't find similar explicit description, only some allusions such as: https://math.stackexchange.com/questions/2346044/quadratic-form-reduction-by-using-gausss-method As far as i know this algorithm is not implemented in maxima. However, since it is very simple and explicit it should be very easy to implement it in the maxima language. Some first steps to that aim, assuming the first case in the above alg: (%i1) q:2*x^2+2*x*z+2*y^2-2*y*z+z^2; (%o1) z^2-2*y*z+2*x*z+2*y^2+2*x^2 (%i2) listofsquares:0$ (%i3) lv:listofvars(q); (%o3) [x,y,z] (%i4) c2:coeff(q,lv[1]^2); (%o4) 2 (%i5) c1:coeff(q,lv[1]); (%o5) 2*z (%i6) square:c2*(lv[1]+c1/2/c2)^2; (%o6) 2*(z/2+x)^2 (%i7) listofsquares:listofsquares+square; (%o7) 2*(z/2+x)^2 (%i8) q:expand(q-square); (%o8) z^2/2-2*y*z+2*y^2 Now variable x has disappeared from q and one can iterate. So one needs to put the above steps in a function that will be called iteratively and implement in the function the second case of the alg and the termination condition. We would be happy to see the finished "product". Le 20/11/2023 à 03:55, Robert Dodier a écrit : > Hello Pierre, > > Thanks for your interest in Maxima. I've taken the liberty of > forwarding your message to the maxima-discuss mailing list, since > there is more traffic there. I can't reply in French, despite my name, > but I know there are several subscribers to maxima-discuss who can. > > All the best, > > Robert > > On Sun, Nov 19, 2023 at 2:50 PM Pierre CAMPET<pie...@ac...> wrote: >> Bonjour >> >> >> Je voulais savoir s'il existait une fonction de maxima pour obtenir une décomposition de Gauss. >> >> Pour l'instant voici ce que je suis parvenu à faire : >> >> (%i26) q:2*x^2+2*x*z+2*y^2-2*y*z+z^2; >> >> 2 2 2 >> >> (%o26) z - 2 y z + 2 x z + 2 y + 2 x >> >> (%i27) expand((z-y+x)^2); >> >> 2 2 2 >> (%o27) z - 2 y z + 2 x z + y - 2 x y + x >> >> (%i28) l1:(z-y+x)^2-part(%,[4,5,6]); >> >> 2 2 2 >> (%o28) (z - y + x) - y + 2 x y - x >> >> (%i29) q:substpart(l1,q,[1,2,3]); >> >> 2 2 2 >> (%o29) (z - y + x) + y + 2 x y + x >> >> (%i30) q:substpart(factor(part(q,[2,3,4])),q,[2,3,4]); >> >> 2 2 >> (%o30) (z - y + x) + (y + x) >> >> >> Mais je gère encore les calculs moi-même ... >> >> Bien cordialement >> >> Pierre >> >> _______________________________________________ >> Maxima-lang-fr mailing list >> Max...@li... >> https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > > _______________________________________________ > Maxima-discuss mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-discuss -- Michel Talon |
From: Robert D. <rob...@gm...> - 2023-11-20 02:55:58
|
Hello Pierre, Thanks for your interest in Maxima. I've taken the liberty of forwarding your message to the maxima-discuss mailing list, since there is more traffic there. I can't reply in French, despite my name, but I know there are several subscribers to maxima-discuss who can. All the best, Robert On Sun, Nov 19, 2023 at 2:50 PM Pierre CAMPET <pie...@ac...> wrote: > > Bonjour > > > Je voulais savoir s'il existait une fonction de maxima pour obtenir une décomposition de Gauss. > > Pour l'instant voici ce que je suis parvenu à faire : > > (%i26) q:2*x^2+2*x*z+2*y^2-2*y*z+z^2; > > 2 2 2 > > (%o26) z - 2 y z + 2 x z + 2 y + 2 x > > (%i27) expand((z-y+x)^2); > > 2 2 2 > (%o27) z - 2 y z + 2 x z + y - 2 x y + x > > (%i28) l1:(z-y+x)^2-part(%,[4,5,6]); > > 2 2 2 > (%o28) (z - y + x) - y + 2 x y - x > > (%i29) q:substpart(l1,q,[1,2,3]); > > 2 2 2 > (%o29) (z - y + x) + y + 2 x y + x > > (%i30) q:substpart(factor(part(q,[2,3,4])),q,[2,3,4]); > > 2 2 > (%o30) (z - y + x) + (y + x) > > > Mais je gère encore les calculs moi-même ... > > Bien cordialement > > Pierre > > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr |
From: Robert D. <rob...@gm...> - 2023-11-20 01:25:08
|
Thanks for your support, Oleg, I appreciate it. I like your summation sign better (although I prefer the product sign as it is), I'll copy the summation sign. Looks like the integral sign is the same. Do you have any other patches? I'd be very interested to hear about it. best, Robert |
From: Oleg N. <ol...@re...> - 2023-11-19 15:06:38
|
On 11/18, Robert Dodier wrote: > > I've made some progress on getting the Maxima console display (pretty > printer) to use Unicode characters in the interest of greater clarity. Great!!! FWIW, for a few years, I've been using maxima with the patch below. For example, (%i1) sum(integrate(f(i,x)/g(i,x),x),i,0,N) / prod(h(i),i,1,K); N ____ ⌠ ╲ ⎮ f(i, x) > ⎮ ─────── dx ╱ ⎮ g(i, x) ‾‾‾‾ ⌡ i = 0 (%o1) ────────────────── K ___ ⎮ ⎮ ⎮ ⎮ h(i) ⎮ ⎮ i = 1 If I switch to origin/dodier-maxima-unicode-display I get (%i1) sum(integrate(f(i,x)/g(i,x),x),i,0,N) / prod(h(i),i,1,K); N ──── ⌠ \ ⎮ f(i, x) > ⎮ ─────── dx / ⎮ g(i, x) ──── ⌡ i = 0 (%o1) ────────────────── K /───\ │ │ │ │ h(i) │ │ i = 1 looks similar, but I like my version of 'sum' and 'prod' a bit more ;) Oleg. diff --git a/src/displa.lisp b/src/displa.lisp index 5b6fd958c..18600cb69 100644 --- a/src/displa.lisp +++ b/src/displa.lisp @@ -1434,7 +1434,7 @@ ;; in the 2D case. This should work for both cases. (See end of ;; program.) -(defun d-hbar (linear? w &optional (char #\-) &aux nl) +(defun d-hbar (linear? w &optional (char #\─) &aux nl) (declare (ignore linear?)) (dotimes (i w) (push char nl)) @@ -1455,17 +1455,17 @@ (defun d-integralsign (linear? &aux dmstr) (declare (ignore linear?)) - (setq dmstr `((0 2 #\/) (-1 1 #\[) (-1 0 #\I) (-1 -1 #\]) (-1 -2 #\/))) + (setq dmstr `((0 2 #\⌠) (-1 1 #\⎮) (-1 0 #\⎮) (-1 -1 #\⎮) (-1 -2 #\⌡))) (draw-linear dmstr oldrow oldcol)) (defun d-prodsign (linear? &aux dmstr) (declare (ignore linear?)) - (setq dmstr '((0 2 #\\ (d-hbar 3 #\=) #\/) (-4 0) (d-vbar 2 1 #\!) #\space (d-vbar 2 1 #\!) (1 0))) + (setq dmstr '((0 2 #\space (d-hbar 3 #\_) #\space) (-4 0) (d-vbar 2 1 #\⎮) #\space (d-vbar 2 1 #\⎮) (1 0))) (draw-linear dmstr oldrow oldcol)) (defun d-sumsign (linear? &aux dmstr) (declare (ignore linear?)) - (setq dmstr '((0 2 (d-hbar 4 #\=)) (-4 1 #\\) #\> (-2 -1 #\/) (-1 -2 (d-hbar 4 #\=)))) + (setq dmstr '((0 2 (d-hbar 4 #\_)) (-4 1 #\╲) #\> (-2 -1 #\╱) (-1 -2 (d-hbar 4 #\‾)))) (draw-linear dmstr oldrow oldcol)) ;; Notice how this calls D-VBAR in the non-graphic case. The entire output |
From: Michel T. <ta...@lp...> - 2023-11-19 11:24:38
|
I don't know what OS you are using, but here, on a slow machine using Ubuntu Linux and sbcl i get: block( [my_files:file_search_demo], ....... sublist(%%,lambda([x],file_search(x)#false)) ); Evaluation took 1.3250 seconds (1.3260 elapsed) using 167.903 MB. (%o20) [Eulix, affine, alt-display, altsimp, amatrix, bernstein, binsplit, ............... Almost all time is spent on sublist(%%,lambda([x],file_search(x)#false). This is shown with the following slightly modified: (%i2) myfun(x):=is(file_search(x) # false)$ (%i3) block( [my_files:file_search_demo,mylist,myres], print(elapsed_real_time()), strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), striml(%%,my_files[2]), strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), strimr("/",%%), strim("{",%%), strim("}",%%), split(%%,","), map(lambda([x],split(x,"/")),%%), mylist:unique(flatten(%%)), print(elapsed_real_time()), myres:sublist(mylist,myfun), print(elapsed_real_time()), print(myres)); 172.987 172.989 174.341 [Eulix, affine, ..... So the sublist takes 1.35s while the rest takes 0.02s I suppose that the file_search(x) repeatedly searches a lot of possibilities, so the program is a n^2 algorithm on the size n of the file names to search. Le 18/11/2023 à 15:30, El Observatorio De Matemática a écrit : > block( > [my_files:file_search_demo], > strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), > striml(%%,my_files[2]), > strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), > strimr("/",%%), > strim("{",%%), > strim("}",%%), > split(%%,","), > map(lambda([x],split(x,"/")),%%), > unique(flatten(%%)), > sublist(%%,lambda([x],file_search(x)#false)) > ); -- Michel Talon |
From: Michel T. <ta...@lp...> - 2023-11-19 09:30:44
|
This is beautiful. Le 18/11/2023 à 21:39, Robert Dodier a écrit : > I've made some progress on getting the Maxima console display (pretty > printer) to use Unicode characters in the interest of greater clarity. > I've captured some examples in a screenshot so that everyone sees the > same thing. -- Michel Talon |
From: El O. De M. <obs...@gm...> - 2023-11-19 03:12:51
|
Certainly, other lists can be used. (%i1) showtime:true$ Evaluation took 0.0000 seconds (0.0000 elapsed) using 32 bytes. (%i2) block( [my_examples:example()], sublist(my_examples,lambda([x],file_search(x)#false)) ); Evaluation took 101.4844 seconds (101.5819 elapsed) using 641.304 MB. (%o2) ["algsys","cf","factor","limit","linsolve","nusum","ode2","optimize","partition","risch","solve","sqfr"] but when apropos is used there are unexpected arguments (like the following error message: filename_merge: unexpected argument: "::"). Anyway, i will find the way to explain myself better. best regards. El sáb, 18 nov 2023 a las 19:37, Richard Fateman (<fa...@gm...>) escribió: > I also don't know what you are trying to do. > :lisp (setf $stuff (cons '(mlist) (apropos-list "$"))) > > sets stuff to a list of all symbols in Maxima that have the character "$" > in the name. > I suppose one could look through them to see if they are names linked to > files, if that > is the point. > > There are about 2350 such symbols. As you fiddle around with Maxima, you > create more of them.. > RJF > > On Sat, Nov 18, 2023 at 12:02 PM Raymond Toy <toy...@gm...> > wrote: > >> >> >> On Sat, Nov 18, 2023 at 11:08 AM El Observatorio De Matemática < >> obs...@gm...> wrote: >> >>> Actually, i am trying to retrieve the appropriate words that allow to >>> load actual packages, not demos (that could be interesting). >>> >> I'm sorry, I don't quite understand. What are "appropriate words"? From >> the output, it looks like you've just listed the directories that contain >> files that maxima can load. >> >> That could be done in Lisp fairly quickly if you don't mind writing it in >> lisp. >> >>> >>> Here are the same list retrieve with minor modifications: >>> >>> (%i1) showtime:true$ >>> Evaluation took 0.0000 seconds (0.0000 elapsed) using 32 bytes. >>> (%i2) block( >>> [my_files:file_search_demo], >>> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), >>> striml(%%,my_files[2]), >>> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), >>> strimr("/",%%), >>> strim("{",%%), >>> strim("}",%%), >>> split(%%,","), >>> map(lambda([x],split(x,"/")),%%), >>> unique(flatten(%%)), >>> sublist(%%,lambda([x],file_search(x)#false)) >>> ); >>> Evaluation took 39.0312 seconds (39.2417 elapsed) using 249.529 MB. >>> >>> (%o2) >>> ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", >>> >>> "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", >>> >>> "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", >>> >>> "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", >>> >>> "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", >>> >>> "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] >>> (%i3) block( >>> [my_files:file_search_lisp], >>> strimr("$$$.{fas,lisp,lsp}",my_files[2]), >>> striml(%%,my_files[3]), >>> strimr("$$$.{fas,lisp,lsp}",%%), >>> strimr("/",%%), >>> strim("{",%%), >>> strim("}",%%), >>> split(%%,","), >>> map(lambda([x],split(x,"/")),%%), >>> unique(flatten(%%)), >>> sublist(%%,lambda([x],file_search(x)#false)) >>> ); >>> Evaluation took 36.3906 seconds (36.3823 elapsed) using 230.018 MB. >>> >>> (%o3) >>> ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", >>> >>> "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", >>> >>> "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", >>> >>> "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", >>> >>> "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", >>> >>> "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] >>> (%i4) block( >>> [my_files:file_search_maxima], >>> strimr("$$$.{mac,mc,wxm}",my_files[2]), >>> striml(%%,my_files[3]), >>> strimr("$$$.{mac,mc,wxm}",%%), >>> strimr("/",%%), >>> strim("{",%%), >>> strim("}",%%), >>> split(%%,","), >>> map(lambda([x],split(x,"/")),%%), >>> unique(flatten(%%)), >>> sublist(%%,lambda([x],file_search(x)#false)) >>> ); >>> Evaluation took 36.3125 seconds (36.3174 elapsed) using 230.018 MB. >>> >>> (%o4) >>> ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", >>> >>> "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", >>> >>> "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", >>> >>> "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", >>> >>> "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", >>> >>> "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] >>> (%i5) block( >>> [my_files:file_search_usage], >>> strimr("$$.{usg,texi}",my_files[1]), >>> striml(%%,my_files[2]), >>> strimr("$$.{usg,texi}",%%), >>> strimr("/",%%), >>> strim("{",%%), >>> strim("}",%%), >>> split(%%,","), >>> map(lambda([x],split(x,"/")),%%), >>> unique(flatten(%%)), >>> sublist(%%,lambda([x],file_search(x)#false)) >>> ); >>> Evaluation took 36.3281 seconds (36.3281 elapsed) using 230.018 MB. >>> >>> (%o5) >>> ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", >>> >>> "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", >>> >>> "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", >>> >>> "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", >>> >>> "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", >>> >>> "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] >>> >>> El sáb, 18 nov 2023 a las 12:40, Raymond Toy (<toy...@gm...>) >>> escribió: >>> >>>> >>>> >>>> On Sat, Nov 18, 2023 at 6:33 AM El Observatorio De Matemática < >>>> obs...@gm...> wrote: >>>> >>>>> Hi, >>>>> >>>>> I got the following: >>>>> >>>>> (%i1) showtime:true$ >>>>> Evaluation took 0.0000 seconds (0.0000 elapsed) using 32 bytes. >>>>> (%i2) block( >>>>> [my_files:file_search_demo], >>>>> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), >>>>> striml(%%,my_files[2]), >>>>> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), >>>>> strimr("/",%%), >>>>> strim("{",%%), >>>>> strim("}",%%), >>>>> split(%%,","), >>>>> map(lambda([x],split(x,"/")),%%), >>>>> unique(flatten(%%)), >>>>> sublist(%%,lambda([x],file_search(x)#false)) >>>>> ); >>>>> Evaluation took 38.1562 seconds (38.1814 elapsed) using 249.529 MB. >>>>> >>>>> (%o2) >>>>> ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", >>>>> >>>>> "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", >>>>> >>>>> "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", >>>>> >>>>> "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", >>>>> >>>>> "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", >>>>> >>>>> "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] >>>>> >>>> >>>> What exactly are you trying to do here? Find all the directories that >>>> have demo files? >>>> >>>> (Note: this will no longer work in recent versions of maxima, possibly >>>> even 5.47.1. The syntax for file search paths has changed to use >>>> common-lisp pathname wildcards for matching. So file_search_demo is >>>> something like >>>> [/home/toy/src/sourceforge/maxima/share/**/*.dem, >>>> /home/toy/src/sourceforge/maxima/demo/*.dem]) >>>> >>>>> >>>>> How can this be done faster?, with lisp?, where can be found >>>>> the source code of Functions and Variables for File input and Output? >>>>> >>>> Why does this have to be fast? Are you planning on doing it over and >>>> over all the time with the results changing each time? >>>> >>>> You can find some of the functions in the file src/mload.lisp. I >>>> didn't check to see if all of the functions in that section are implemented >>>> in mload.lisp. >>>> >>>> >>>>> Thanks in advance. >>>>> -- >>>>> https://github.com/Observatorio-de-Matematica >>>>> _______________________________________________ >>>>> Maxima-discuss mailing list >>>>> Max...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/maxima-discuss >>>>> >>>> >>>> >>>> -- >>>> Ray >>>> >>> >> >> -- >> Ray >> _______________________________________________ >> Maxima-discuss mailing list >> Max...@li... >> https://lists.sourceforge.net/lists/listinfo/maxima-discuss >> > |
From: Richard F. <fa...@gm...> - 2023-11-19 00:37:20
|
I also don't know what you are trying to do. :lisp (setf $stuff (cons '(mlist) (apropos-list "$"))) sets stuff to a list of all symbols in Maxima that have the character "$" in the name. I suppose one could look through them to see if they are names linked to files, if that is the point. There are about 2350 such symbols. As you fiddle around with Maxima, you create more of them.. RJF On Sat, Nov 18, 2023 at 12:02 PM Raymond Toy <toy...@gm...> wrote: > > > On Sat, Nov 18, 2023 at 11:08 AM El Observatorio De Matemática < > obs...@gm...> wrote: > >> Actually, i am trying to retrieve the appropriate words that allow to >> load actual packages, not demos (that could be interesting). >> > I'm sorry, I don't quite understand. What are "appropriate words"? From > the output, it looks like you've just listed the directories that contain > files that maxima can load. > > That could be done in Lisp fairly quickly if you don't mind writing it in > lisp. > >> >> Here are the same list retrieve with minor modifications: >> >> (%i1) showtime:true$ >> Evaluation took 0.0000 seconds (0.0000 elapsed) using 32 bytes. >> (%i2) block( >> [my_files:file_search_demo], >> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), >> striml(%%,my_files[2]), >> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), >> strimr("/",%%), >> strim("{",%%), >> strim("}",%%), >> split(%%,","), >> map(lambda([x],split(x,"/")),%%), >> unique(flatten(%%)), >> sublist(%%,lambda([x],file_search(x)#false)) >> ); >> Evaluation took 39.0312 seconds (39.2417 elapsed) using 249.529 MB. >> >> (%o2) >> ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", >> >> "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", >> >> "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", >> >> "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", >> >> "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", >> >> "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] >> (%i3) block( >> [my_files:file_search_lisp], >> strimr("$$$.{fas,lisp,lsp}",my_files[2]), >> striml(%%,my_files[3]), >> strimr("$$$.{fas,lisp,lsp}",%%), >> strimr("/",%%), >> strim("{",%%), >> strim("}",%%), >> split(%%,","), >> map(lambda([x],split(x,"/")),%%), >> unique(flatten(%%)), >> sublist(%%,lambda([x],file_search(x)#false)) >> ); >> Evaluation took 36.3906 seconds (36.3823 elapsed) using 230.018 MB. >> >> (%o3) >> ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", >> >> "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", >> >> "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", >> >> "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", >> >> "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", >> >> "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] >> (%i4) block( >> [my_files:file_search_maxima], >> strimr("$$$.{mac,mc,wxm}",my_files[2]), >> striml(%%,my_files[3]), >> strimr("$$$.{mac,mc,wxm}",%%), >> strimr("/",%%), >> strim("{",%%), >> strim("}",%%), >> split(%%,","), >> map(lambda([x],split(x,"/")),%%), >> unique(flatten(%%)), >> sublist(%%,lambda([x],file_search(x)#false)) >> ); >> Evaluation took 36.3125 seconds (36.3174 elapsed) using 230.018 MB. >> >> (%o4) >> ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", >> >> "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", >> >> "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", >> >> "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", >> >> "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", >> >> "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] >> (%i5) block( >> [my_files:file_search_usage], >> strimr("$$.{usg,texi}",my_files[1]), >> striml(%%,my_files[2]), >> strimr("$$.{usg,texi}",%%), >> strimr("/",%%), >> strim("{",%%), >> strim("}",%%), >> split(%%,","), >> map(lambda([x],split(x,"/")),%%), >> unique(flatten(%%)), >> sublist(%%,lambda([x],file_search(x)#false)) >> ); >> Evaluation took 36.3281 seconds (36.3281 elapsed) using 230.018 MB. >> >> (%o5) >> ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", >> >> "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", >> >> "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", >> >> "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", >> >> "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", >> >> "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] >> >> El sáb, 18 nov 2023 a las 12:40, Raymond Toy (<toy...@gm...>) >> escribió: >> >>> >>> >>> On Sat, Nov 18, 2023 at 6:33 AM El Observatorio De Matemática < >>> obs...@gm...> wrote: >>> >>>> Hi, >>>> >>>> I got the following: >>>> >>>> (%i1) showtime:true$ >>>> Evaluation took 0.0000 seconds (0.0000 elapsed) using 32 bytes. >>>> (%i2) block( >>>> [my_files:file_search_demo], >>>> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), >>>> striml(%%,my_files[2]), >>>> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), >>>> strimr("/",%%), >>>> strim("{",%%), >>>> strim("}",%%), >>>> split(%%,","), >>>> map(lambda([x],split(x,"/")),%%), >>>> unique(flatten(%%)), >>>> sublist(%%,lambda([x],file_search(x)#false)) >>>> ); >>>> Evaluation took 38.1562 seconds (38.1814 elapsed) using 249.529 MB. >>>> >>>> (%o2) >>>> ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", >>>> >>>> "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", >>>> >>>> "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", >>>> >>>> "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", >>>> >>>> "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", >>>> >>>> "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] >>>> >>> >>> What exactly are you trying to do here? Find all the directories that >>> have demo files? >>> >>> (Note: this will no longer work in recent versions of maxima, possibly >>> even 5.47.1. The syntax for file search paths has changed to use >>> common-lisp pathname wildcards for matching. So file_search_demo is >>> something like >>> [/home/toy/src/sourceforge/maxima/share/**/*.dem, >>> /home/toy/src/sourceforge/maxima/demo/*.dem]) >>> >>>> >>>> How can this be done faster?, with lisp?, where can be found the source >>>> code of Functions and Variables for File input and Output? >>>> >>> Why does this have to be fast? Are you planning on doing it over and >>> over all the time with the results changing each time? >>> >>> You can find some of the functions in the file src/mload.lisp. I didn't >>> check to see if all of the functions in that section are implemented in >>> mload.lisp. >>> >>> >>>> Thanks in advance. >>>> -- >>>> https://github.com/Observatorio-de-Matematica >>>> _______________________________________________ >>>> Maxima-discuss mailing list >>>> Max...@li... >>>> https://lists.sourceforge.net/lists/listinfo/maxima-discuss >>>> >>> >>> >>> -- >>> Ray >>> >> > > -- > Ray > _______________________________________________ > Maxima-discuss mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-discuss > |
From: andre m. <and...@gm...> - 2023-11-18 23:40:13
|
On 11/16/23 23:51, Richard Fateman wrote: > possibly of interest to Maxima community > > https://simons.berkeley.edu/news/machine-checked-proofs-rise-formal-methods-mathematics FYI. This talk here is mentioned in Richard's lecture at the end and deals with connecting LEAN to a CAS https://icerm.brown.edu/video_archive/?play=2896 Andre > lecture starts at about minute 4:00 > RJF > > > > _______________________________________________ > Maxima-discuss mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-discuss |
From: Robert D. <rob...@gm...> - 2023-11-18 20:39:55
|
I've made some progress on getting the Maxima console display (pretty printer) to use Unicode characters in the interest of greater clarity. I've captured some examples in a screenshot so that everyone sees the same thing. [image: maxima-unicode-display-work-in-progress-2023-11-17.png] These examples were composed with Maxima + SBCL; same results for Maxima + Clisp. I am running Maxima in GNOME Terminal (Ubuntu Linux). The hard part of this stuff is accounting for various use cases. Is the Lisp implementation Unicode-capable? Most are, but not GCL. What if the user wants to go back to the ASCII art display? I created a global flag maxima_unicode_display to allow for that. What if the Lisp implementation is capable but Unicode is disabled (e.g. because LANG does not designate a UTF-8 locale)? Clisp is the only example I know about; I handled that, I supposed if there are any others, we'll handle them case by case. The biggest question to me at present is how to handle the various display characters, e.g. absboxchar, boxchar, rmxchar, lmxchar, etc. I can't bring myself to introduce ASCII and Unicode variants of all those. Two solutions I can handle, conceptually speaking, are to apply those only when maxima_unicode_display is false, or just nuke them entirely, so that maxima_unicode_display = false has fixed characters for drawing. I would like to take this opportunity to emphasize that I DO NOT INTEND THAT THE USER MUST ALWAYS USE UNICODE CHARACTERS AND FOR ALL LISP IMPLEMENTATIONS. Sorry for shouting; I feel obliged to avoid misunderstandings. I have put the code I worked on so far on the branch dodier-maxima-unicode-display, comprising one commit at present, a856cbf, if anyone wants to take a look. This work is inspired by the patch suggested by Frederic Chapoton on the project web site. Thanks, Frederic! I have gone somewhat farther in hope of resolving some of the usability issues. See: https://sourceforge.net/p/maxima/feature-requests/185/ I don't remember for sure if anyone has worked on similar stuff in years past; if so, maybe someone can point it out. All the best, Robert |
From: Raymond T. <toy...@gm...> - 2023-11-18 20:02:31
|
On Sat, Nov 18, 2023 at 11:08 AM El Observatorio De Matemática < obs...@gm...> wrote: > Actually, i am trying to retrieve the appropriate words that allow to load > actual packages, not demos (that could be interesting). > I'm sorry, I don't quite understand. What are "appropriate words"? From the output, it looks like you've just listed the directories that contain files that maxima can load. That could be done in Lisp fairly quickly if you don't mind writing it in lisp. > > Here are the same list retrieve with minor modifications: > > (%i1) showtime:true$ > Evaluation took 0.0000 seconds (0.0000 elapsed) using 32 bytes. > (%i2) block( > [my_files:file_search_demo], > strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), > striml(%%,my_files[2]), > strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), > strimr("/",%%), > strim("{",%%), > strim("}",%%), > split(%%,","), > map(lambda([x],split(x,"/")),%%), > unique(flatten(%%)), > sublist(%%,lambda([x],file_search(x)#false)) > ); > Evaluation took 39.0312 seconds (39.2417 elapsed) using 249.529 MB. > > (%o2) > ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", > > "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", > > "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", > > "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", > > "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", > > "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] > (%i3) block( > [my_files:file_search_lisp], > strimr("$$$.{fas,lisp,lsp}",my_files[2]), > striml(%%,my_files[3]), > strimr("$$$.{fas,lisp,lsp}",%%), > strimr("/",%%), > strim("{",%%), > strim("}",%%), > split(%%,","), > map(lambda([x],split(x,"/")),%%), > unique(flatten(%%)), > sublist(%%,lambda([x],file_search(x)#false)) > ); > Evaluation took 36.3906 seconds (36.3823 elapsed) using 230.018 MB. > > (%o3) > ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", > > "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", > > "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", > > "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", > > "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", > > "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] > (%i4) block( > [my_files:file_search_maxima], > strimr("$$$.{mac,mc,wxm}",my_files[2]), > striml(%%,my_files[3]), > strimr("$$$.{mac,mc,wxm}",%%), > strimr("/",%%), > strim("{",%%), > strim("}",%%), > split(%%,","), > map(lambda([x],split(x,"/")),%%), > unique(flatten(%%)), > sublist(%%,lambda([x],file_search(x)#false)) > ); > Evaluation took 36.3125 seconds (36.3174 elapsed) using 230.018 MB. > > (%o4) > ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", > > "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", > > "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", > > "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", > > "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", > > "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] > (%i5) block( > [my_files:file_search_usage], > strimr("$$.{usg,texi}",my_files[1]), > striml(%%,my_files[2]), > strimr("$$.{usg,texi}",%%), > strimr("/",%%), > strim("{",%%), > strim("}",%%), > split(%%,","), > map(lambda([x],split(x,"/")),%%), > unique(flatten(%%)), > sublist(%%,lambda([x],file_search(x)#false)) > ); > Evaluation took 36.3281 seconds (36.3281 elapsed) using 230.018 MB. > > (%o5) > ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", > > "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", > > "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", > > "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", > > "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", > > "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] > > El sáb, 18 nov 2023 a las 12:40, Raymond Toy (<toy...@gm...>) > escribió: > >> >> >> On Sat, Nov 18, 2023 at 6:33 AM El Observatorio De Matemática < >> obs...@gm...> wrote: >> >>> Hi, >>> >>> I got the following: >>> >>> (%i1) showtime:true$ >>> Evaluation took 0.0000 seconds (0.0000 elapsed) using 32 bytes. >>> (%i2) block( >>> [my_files:file_search_demo], >>> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), >>> striml(%%,my_files[2]), >>> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), >>> strimr("/",%%), >>> strim("{",%%), >>> strim("}",%%), >>> split(%%,","), >>> map(lambda([x],split(x,"/")),%%), >>> unique(flatten(%%)), >>> sublist(%%,lambda([x],file_search(x)#false)) >>> ); >>> Evaluation took 38.1562 seconds (38.1814 elapsed) using 249.529 MB. >>> >>> (%o2) >>> ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", >>> >>> "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", >>> >>> "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", >>> >>> "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", >>> >>> "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", >>> >>> "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] >>> >> >> What exactly are you trying to do here? Find all the directories that >> have demo files? >> >> (Note: this will no longer work in recent versions of maxima, possibly >> even 5.47.1. The syntax for file search paths has changed to use >> common-lisp pathname wildcards for matching. So file_search_demo is >> something like >> [/home/toy/src/sourceforge/maxima/share/**/*.dem, >> /home/toy/src/sourceforge/maxima/demo/*.dem]) >> >>> >>> How can this be done faster?, with lisp?, where can be found the source >>> code of Functions and Variables for File input and Output? >>> >> Why does this have to be fast? Are you planning on doing it over and >> over all the time with the results changing each time? >> >> You can find some of the functions in the file src/mload.lisp. I didn't >> check to see if all of the functions in that section are implemented in >> mload.lisp. >> >> >>> Thanks in advance. >>> -- >>> https://github.com/Observatorio-de-Matematica >>> _______________________________________________ >>> Maxima-discuss mailing list >>> Max...@li... >>> https://lists.sourceforge.net/lists/listinfo/maxima-discuss >>> >> >> >> -- >> Ray >> > -- Ray |
From: El O. De M. <obs...@gm...> - 2023-11-18 19:08:33
|
Actually, i am trying to retrieve the appropriate words that allow to load actual packages, not demos (that could be interesting). Here are the same list retrieve with minor modifications: (%i1) showtime:true$ Evaluation took 0.0000 seconds (0.0000 elapsed) using 32 bytes. (%i2) block( [my_files:file_search_demo], strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), striml(%%,my_files[2]), strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), strimr("/",%%), strim("{",%%), strim("}",%%), split(%%,","), map(lambda([x],split(x,"/")),%%), unique(flatten(%%)), sublist(%%,lambda([x],file_search(x)#false)) ); Evaluation took 39.0312 seconds (39.2417 elapsed) using 249.529 MB. (%o2) ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] (%i3) block( [my_files:file_search_lisp], strimr("$$$.{fas,lisp,lsp}",my_files[2]), striml(%%,my_files[3]), strimr("$$$.{fas,lisp,lsp}",%%), strimr("/",%%), strim("{",%%), strim("}",%%), split(%%,","), map(lambda([x],split(x,"/")),%%), unique(flatten(%%)), sublist(%%,lambda([x],file_search(x)#false)) ); Evaluation took 36.3906 seconds (36.3823 elapsed) using 230.018 MB. (%o3) ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] (%i4) block( [my_files:file_search_maxima], strimr("$$$.{mac,mc,wxm}",my_files[2]), striml(%%,my_files[3]), strimr("$$$.{mac,mc,wxm}",%%), strimr("/",%%), strim("{",%%), strim("}",%%), split(%%,","), map(lambda([x],split(x,"/")),%%), unique(flatten(%%)), sublist(%%,lambda([x],file_search(x)#false)) ); Evaluation took 36.3125 seconds (36.3174 elapsed) using 230.018 MB. (%o4) ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] (%i5) block( [my_files:file_search_usage], strimr("$$.{usg,texi}",my_files[1]), striml(%%,my_files[2]), strimr("$$.{usg,texi}",%%), strimr("/",%%), strim("{",%%), strim("}",%%), split(%%,","), map(lambda([x],split(x,"/")),%%), unique(flatten(%%)), sublist(%%,lambda([x],file_search(x)#false)) ); Evaluation took 36.3281 seconds (36.3281 elapsed) using 230.018 MB. (%o5) ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] El sáb, 18 nov 2023 a las 12:40, Raymond Toy (<toy...@gm...>) escribió: > > > On Sat, Nov 18, 2023 at 6:33 AM El Observatorio De Matemática < > obs...@gm...> wrote: > >> Hi, >> >> I got the following: >> >> (%i1) showtime:true$ >> Evaluation took 0.0000 seconds (0.0000 elapsed) using 32 bytes. >> (%i2) block( >> [my_files:file_search_demo], >> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), >> striml(%%,my_files[2]), >> strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), >> strimr("/",%%), >> strim("{",%%), >> strim("}",%%), >> split(%%,","), >> map(lambda([x],split(x,"/")),%%), >> unique(flatten(%%)), >> sublist(%%,lambda([x],file_search(x)#false)) >> ); >> Evaluation took 38.1562 seconds (38.1814 elapsed) using 249.529 MB. >> >> (%o2) >> ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", >> >> "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", >> >> "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", >> >> "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", >> >> "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", >> >> "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] >> > > What exactly are you trying to do here? Find all the directories that > have demo files? > > (Note: this will no longer work in recent versions of maxima, possibly > even 5.47.1. The syntax for file search paths has changed to use > common-lisp pathname wildcards for matching. So file_search_demo is > something like > [/home/toy/src/sourceforge/maxima/share/**/*.dem, > /home/toy/src/sourceforge/maxima/demo/*.dem]) > >> >> How can this be done faster?, with lisp?, where can be found the source >> code of Functions and Variables for File input and Output? >> > Why does this have to be fast? Are you planning on doing it over and over > all the time with the results changing each time? > > You can find some of the functions in the file src/mload.lisp. I didn't > check to see if all of the functions in that section are implemented in > mload.lisp. > > >> Thanks in advance. >> -- >> https://github.com/Observatorio-de-Matematica >> _______________________________________________ >> Maxima-discuss mailing list >> Max...@li... >> https://lists.sourceforge.net/lists/listinfo/maxima-discuss >> > > > -- > Ray > |
From: Raymond T. <toy...@gm...> - 2023-11-18 17:40:11
|
On Sat, Nov 18, 2023 at 6:33 AM El Observatorio De Matemática < obs...@gm...> wrote: > Hi, > > I got the following: > > (%i1) showtime:true$ > Evaluation took 0.0000 seconds (0.0000 elapsed) using 32 bytes. > (%i2) block( > [my_files:file_search_demo], > strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), > striml(%%,my_files[2]), > strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), > strimr("/",%%), > strim("{",%%), > strim("}",%%), > split(%%,","), > map(lambda([x],split(x,"/")),%%), > unique(flatten(%%)), > sublist(%%,lambda([x],file_search(x)#false)) > ); > Evaluation took 38.1562 seconds (38.1814 elapsed) using 249.529 MB. > > (%o2) > ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", > > "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", > > "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", > > "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", > > "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", > > "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] > What exactly are you trying to do here? Find all the directories that have demo files? (Note: this will no longer work in recent versions of maxima, possibly even 5.47.1. The syntax for file search paths has changed to use common-lisp pathname wildcards for matching. So file_search_demo is something like [/home/toy/src/sourceforge/maxima/share/**/*.dem, /home/toy/src/sourceforge/maxima/demo/*.dem]) > > How can this be done faster?, with lisp?, where can be found the source > code of Functions and Variables for File input and Output? > Why does this have to be fast? Are you planning on doing it over and over all the time with the results changing each time? You can find some of the functions in the file src/mload.lisp. I didn't check to see if all of the functions in that section are implemented in mload.lisp. > Thanks in advance. > -- > https://github.com/Observatorio-de-Matematica > _______________________________________________ > Maxima-discuss mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-discuss > -- Ray |
From: Henry B. <hb...@pi...> - 2023-11-18 15:26:40
|
I've developed an extremely bizarre type of differentiation (of polynomials). Here are some examples: poly5: x^5+a*x^4+b*x^3+c*x^2+d*x+e; psdiff(poly5,x) => a*x^4+c*x^2+e poly6: x^6+a*x^5+b*x^4+c*x^3+d*x^2+e*x+f; psdiff(poly6,x) => a*x^5+c*x^3+e*x I.e., take the *monic* form of the polynomial & chop off the highest power term x^n, Then set every other coefficient (i.e., x^(n-2*i), i=0 to floor(n/2)) to zero. Why would anyone want to do this? The usual "polynomial remainder sequence" ("PRS") which is used to find repeated roots starts the Euclidean algorithm with (p,diff(p,x)). Using this same Euclidean algorithm, Schmeisser showed how to produce a tridiagonal matrix having p as its characteristic polynomial. Unfortunately, Schmeisser's algorithm produces exceedingly ugly tridiagonal matrices, at least when working symbolically. However, if I replace ordinary "diff(p,x)" with my own "psdiff(p,x)", then a Schmeisser-style Euclidean PRS produces a relatively simple tridiagonal matrix whose characteristic polynomial is still p. In particular, the main diagonal is all 0's except for the first element, and the sub diagonal is all 1's. The sum of the main diagonal elements (the "trace") is -a, while the sum of the super diagonal elements is -b, where the first three terms in the given polynomial p are x^n + a*x^(n-1) + b*x^(n-2) + ... Note that my tridiagonal matrix has the fewest possible non-constant elements, because the given (monic) polynomial p has n degrees of freedom, and my tridiagonal has n-1 non-constant super diagonal elements plus the one non-zero main diagonal element, for a total of n. Except for polynomials with a=0 and certain sets of measure zero, this type of matrix might be considered as a "tridiagonal companion matrix". |
From: El O. De M. <obs...@gm...> - 2023-11-18 14:30:42
|
Hi, I got the following: (%i1) showtime:true$ Evaluation took 0.0000 seconds (0.0000 elapsed) using 32 bytes. (%i2) block( [my_files:file_search_demo], strimr("$$$.{dem,dm1,dm2,dm3,dmt}",my_files[1]), striml(%%,my_files[2]), strimr("$$$.{dem,dm1,dm2,dm3,dmt}",%%), strimr("/",%%), strim("{",%%), strim("}",%%), split(%%,","), map(lambda([x],split(x,"/")),%%), unique(flatten(%%)), sublist(%%,lambda([x],file_search(x)#false)) ); Evaluation took 38.1562 seconds (38.1814 elapsed) using 249.529 MB. (%o2) ["Eulix","Grobner","Zeilberger","affine","alt-display","altsimp","amatrix","bernstein","binsplit","bitwise","boolsimp","charsets","cobyla","colnew","coma", "combinatorics","descriptive","diff_form","distrib","draw","dynamics","elliptic_curves","ezunits","fftpack5","finance","format","fourier_elim","fractals","fresnel", "gentran","gf","graphs","hompack","hypergeometric","integer_sequence","lapack","lbfgs","levin","linearalgebra","logic","lsquares","macro","matrix", "maximaMathML","minpack","misc","mnewton","multiadditive","namespaces","noninteractive","numeric","numericalio","odes","operatingsystem","orthopoly", "pdiff","prim","pytranslate","rkf45","sarag","simplex","smath","solve_rat_ineq","solve_rec","solver","sound","state","stats","stringproc","sym","symplectic_ode", "tensor","test","to_poly_solve","trigtools","unicodedata","unit","utils","vector","vector3d","z_transform"] How can this be done faster?, with lisp?, where can be found the source code of Functions and Variables for File input and Output? Thanks in advance. -- https://github.com/Observatorio-de-Matematica |
From: Brent M. <mee...@gm...> - 2023-11-17 02:53:57
|
In technical discourse the distribution function IS the cumulative distribution function. It's derivative is called the density function. Brent Meeker On 11/16/2023 6:41 PM, Raymond Toy wrote: > > > On Thu, Nov 16, 2023 at 4:52 PM Robert Dodier > <rob...@gm...> wrote: > > On Thu, Nov 16, 2023 at 1:02 PM <woo...@ch...> wrote: > > > The last calculation shows cdf_student_t (0, 2) is NOT equal to > the value of pdf_student_t (0, 2). Thus it is NOT true that (as > the Maxima Manual asserts): > > > > " Function: cdf_student_t (x,n) > > Returns the value at x of the distribution function > of a Student random variable t(n), with n>0 degrees of freedom." > > > > A correct description might be: > > "cdf_student_t (x, n) returns the integral of > pdf_student_t (x, n) from x equals minus infinity to x." > > Well, CDF is the conventional abbreviation for cumulative distribution > function, which is defined as the integral of the PDF (probability > density function). So although the statement about cdf_student_t being > the integral of pdf_student_t is correct, it's also correct to say > that cdf_student_t is the distribution function. > > I guess the existing statement could be clarified to say specifically > "cumulative distribution function" instead of "distribution function." > > > This makes sense, for clarity's sake. But we'll probably have to do > that for all of the cdf functions. I didn't check them all, but > cdf_normal doesn't say "cumulative distribution function" either. > > > best, > > Robert > > > _______________________________________________ > Maxima-discuss mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-discuss > > > > -- > Ray > > > _______________________________________________ > Maxima-discuss mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-discuss |
From: Robert D. <rob...@gm...> - 2023-11-17 02:48:13
|
On Thu, Nov 16, 2023 at 6:41 PM Raymond Toy <toy...@gm...> wrote: > This makes sense, for clarity's sake. But we'll probably have to do that for all of the cdf functions. I didn't check them all, but cdf_normal doesn't say "cumulative distribution function" either. Yeah, they all have the same wording. I'll fix all of them, no problem. best Robert |
From: Raymond T. <toy...@gm...> - 2023-11-17 02:41:52
|
On Thu, Nov 16, 2023 at 4:52 PM Robert Dodier <rob...@gm...> wrote: > On Thu, Nov 16, 2023 at 1:02 PM <woo...@ch...> wrote: > > > The last calculation shows cdf_student_t (0, 2) is NOT equal to the > value of pdf_student_t (0, 2). Thus it is NOT true that (as the Maxima > Manual asserts): > > > > " Function: cdf_student_t (x,n) > > Returns the value at x of the distribution function of a > Student random variable t(n), with n>0 degrees of freedom." > > > > A correct description might be: > > "cdf_student_t (x, n) returns the integral of pdf_student_t > (x, n) from x equals minus infinity to x." > > Well, CDF is the conventional abbreviation for cumulative distribution > function, which is defined as the integral of the PDF (probability > density function). So although the statement about cdf_student_t being > the integral of pdf_student_t is correct, it's also correct to say > that cdf_student_t is the distribution function. > > I guess the existing statement could be clarified to say specifically > "cumulative distribution function" instead of "distribution function." > This makes sense, for clarity's sake. But we'll probably have to do that for all of the cdf functions. I didn't check them all, but cdf_normal doesn't say "cumulative distribution function" either. > > best, > > Robert > > > _______________________________________________ > Maxima-discuss mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-discuss > -- Ray |