future plans: ------------- * function investigation: intervals of monotonicity, convexity and concavity * ODE:exact equations. * vylepsit zobrazeni celeho retezce funkci, pres ktere prochazime u transformaci grafu zakl el. fci (u PDF animace). * Definicni obor funkci jedne promenne - upravit na vystup do PDF. * Definicni obor funkci dvou promennych - upravit na vystup do PDF, vystup do html nechat jako jednu z voleb. * test, jestli jsou v urcitych integralech meze konstanty (a ne napr."exp") * use a string variable for the name of the maxima executable and the same for formconv executable (this is easier, we call formconv using echo and /usr/bin/formconv and hence it is possible to grep in all *.php and *.pl files) * lde2: split rhs like x+exp(x)*sin(x)+exp(x)*cos(x) into two (not three) right hand sides * ode: run maxima parser before proceeding equation (like xy'=exp(x) ) * integral: if function can be splitted into sum and is in x variable, we can investigate terms separately. Allow this feature also for general variable (by converting into x variable first) changes from January 2008 ------------------------- Some changes are motivatied by error messages from logs. It may hapen that the problem which caused an error works well after few days. march 2009 * domains: ratprint:false - solves the problem related to domain of 1/3*log(x**3-1+sqrt(x**6-2*x**3)) february 2009 * integral: handle problem even if the user enters "integral(function,x)" * all: computations are refused, if the server load is large * offline version (VMware) * domains: Maxima 5.17 is used to parse the expression. Model example is sqrt(x^2+y^2-4) - Maxima 5.13 session failed. Thanks to Simona Fisnarova. * derivatives: no simplifications if %i appears in the reslut. Model example for the problem is sqrt(1-x^2)+sqrt(x^2-1). Thanks to David Kvapil. january 2009 * integral: improved messages when doing substitution tan(x/2)=t and tan(x)=t * integral: most TeX strings are generated by Maxima to avoid too many calls of formconv (which is still used heavily) * autsyst: fixed the case with double root of characteristic equation * integral: fixed broken trigsimp in integral with respect to y (x is constant) * geom. application of integral: added float wrapper for bounds for integration using quadpack and fixed gettext call in geom.pl file (there was a problem with integration on the interval like 1..e^3) * ode: fixed missing brace for equations with integrating factor * function ivestigations: evaluation of y'' preceedes solving y'=0 (and hence y'' is evaluated even if y'=0 fails for some reason) * integral - geom: test that the lower limit which defines a region in the plane is smaller than uppe limit * ode: fixed solve command for ODE's. y'=y*log(y) does not have constant solution y=0, but y=0 is one of results of maxima command solve(y*log(y),y) december 2008 * integral2: improved test that radial variable in polar coordinates is nonegative * trapeziodal: added float around limits for numerical integration (the limits could be something like %e^2) * changed behavior related to jacobian in double integral and inititated support for internalizations and gettext * highlighting errors and fixed error messages * shifting graph - added partfrac to handle functions (ax+b)/(cx+d) november 2008 * autsyst: parameters allowed only when evaluating stationary points. (we get false error message about zero jacobian) * autsyts: the type of stationary point is printed out and some details to the solution were added * domains: no complex numbers in the solution of an algebraic equations october 2008 * trapeziodal: romberg replaced by quad_qags. (Romberg has problem with convergence if integral is exactly zero) * ode: homogeneous: check that the "constant solution" does not depend on z=y/x (problem was for y'= (y*%e^(x/y)-x)/x ) * graph: no animation is created, if server load in last minute is bigger than 2 * minmax3d: check that the stationary point does not contains %r1 etc. like for the function x*x*(x*(%e**(-x*x-y*y))) * integral: if we integrate all terms in a sum, we use map command, this makes integaration of 2/(x^2+1)-1/(x+1)+1/(x-1) simpler, namely -log(x+1)+2*atan(x)+log(x-1) instead of 4*(-log(x+1)/4+atan(x)/2+log(x-1)/4) * integral: removed radcan before the function is integrated. This allows to evaluate integral of 1/(sqrt(1-x^2)*acos(x)^3) in the form involving acos(x)^(-2). The integral of 1/(sqrt(1-x)*sqrt(1+x)*acos(x)^3) involves atan2 and a warning is produced in this case. * trapezoidal: if scaling in y for the picture is too large, metapost gives error (arithmetic overflow) and hence we draw no picture in this case. This concenrs functions like 1/(x^3+125) on the interval from 0 to 1 * trapezoidal: x coordinates for picture are translated into decimal numbers. this solves the problem with integration from 1e-10 to .... * geom: no parameters are allowed * all: detailed error message if greek letter is used instead of pi or %pi on input september 2008 * banach: nonliner equations using bisection and iterations, variable y is not alloed * all: sinh, cosh, tanh, coth, ..... on blacklist * fixed bug in second order ODE's: if decimals are used and if D is 0.0, then D=0 is false august 2008 * lde2: support for right hand sides like x+exp(-2x)*sin(x)+cos(2x) (sum of quazipolynomials) * functions investigation: no factorization if the derivative is number * integral: support for output into PDF, definite integral, automatical back substitution * double integral: link to swap inside limits, if these limits are interchanged and error is generated * TeX files (maw.tex): \rihgtskip is 0 pt plus 1 fill * derivative: use power rule for derivative of 1/(sin(x)*cos(x) - not qoutitent rule * fixed bugs in javascripts in animations produced by transformation of graph 31.7. * formconv upgraded to last CVS version (solved problems with conversion of -(2/sqrt(x)) into TeX) 29.7. * double integral: added trigsimp if the input contains trigonometric functions * derivative: added support for derivative of absolute value 28.7. * integral hints cover R(sin(ax+b),cos(ax+b)) and many other patterns (composite functions with powers) 26.7. * history contains links which show the result of the computation 25.7. * updated to maxima-5.15.0 (compiled sources) with clisp (sid) and back to 5.13.0 (better perfomance) 21.7. * gnuplot does not evaluate sqrt(x) fox negative x. Hence the graph of sqrt(x)*sqrt(x-1) is on the interval (1,infty) only (and not on the union with the interval (-infty,0)). 19.7. * integral called from PDF files (ODE, definite integral): formconv is on as default * test that the degree of Taylor polynomial is an integer (small than 10) and the center is not a funcito nof x. * trapezoidal rule: test that the number of subintervals is a number between 0 and 20. 18.7. * geometrical applications of definite integral: if the region is outside the bounds for the picture, the bounds are changed 17.7. * double integral - picture for domain of integration 16.7. * double integral - added links from integrals in PDF to integral assistant, made necessary changes in integral assistant * all files - removed hardwired paths nad URLs, fixed bug with missing $mpost variable * trapezoidal rule and geometrical applications: definite integral is evaluated using Newton Leibniz formula (model example for the problem is integrate(log(x^2+1),x,0,1) which fails as a definite integral in Maxima, but it is evaluated as indefinite integral) * updated formconv to 0.8.8 - the cube root is drawn also for negative argument 15.7. * integral - added option to simplify numerator and denominator afre multiplying fraction, this allows to integrate functions like 1/(sqrt(x)+sqrt(x+1)) 13.7. * Fixed english translation (domains of functions) 9.6. * ODE: y'=exp(2*x-2*y) is solved as separable (maxima reports this equation as exact) * Autonomous systems: support for passing stationary points computed by Maxima for further evaluation 27.5. * ODE: if the ODE is not in the form y'=f(x,y), user can isolate y' first and then load into the corresponding form 5.5. * double integral, * 1-st order homogeneous ODE equation, * more general right hand side for undetermined coefficients for second order linear ODE 25.4. * minima and maxima in two variables: removing "stationary points" if the function takes on complex values, such as log of negative number (thanks to Marie Provaznikova and her students) 22.4. * integral: more and better hints, covers e.g. ln^2(x+4) - substitution first and then integration by parts * fixed bug in partial derivatives - missing ratsimp (thanks to Liiiza) and radcan (26.4.) 16.4. * function investigation: added freeof test if the equation has been solved. This removes problem with ((2*(x^2))-log(x)) or (x+1)/atan(x) * ODE: an error occurs and is logged if the evaluatin of integral is terminanted. Model for the problem is y'=(2*cos(x)*sin(x-1))/(sin(x)+2)**3 13.4. * more accurate hints in integral asssitant * only the functions which modify the funciton are listed in integral assistant 11.4. * function investiagtion: warning if arc-trig functions are used to solve the problem and some solutions are los. minor bugfix to filter out complex solutions April 2008 * more hints in integral assistant, * new error messages in integral assistant ("can't integrate" and "too long formula") * links from PDF files with ODE's and definite integral into integral assistant 27.3. * Better fix of the bug from tomorrow: used errcatch in new function maw_solve, which replaces the original solve in some problems. * Minor bugfix in matching patterns for substitution. * Used our own mathtex server instead of slow is.mendelu.cz * integral assistant accepts constants a and b 26.3. * New version of formconv, some previous changes which are no more necessary with this new version (concerning acot function) * More matching patterns for integral. * Function investigation - fixed problem with error when solving solve(f,x)=0, for example if f(x)=acot(x). 25.3. * hints for substitution in indefinite integral, covers selected basic types 24.3. * many changes in indefinite integral (hints for formulas and integration by parts and much more) 20.3.-22.3 * sqrt(x) function does not return value for negative x in calculator for function investigation. This prevents to draw graph of a functions like sqrt(x+1)/sqrt(x) for x<-1. The solution is to replace sqrt by the function mysqrt(x) = (x>=0)?sqrt(x):0/0, as suggested by Michael Hofmann. * Support for volume of revolution. Improved routine which checks that the problem to find area between two curves if well posed. * Indefinite integral: automatical hints that intergration by parts or expansion into partial fraction is a convenient tool. Improved integration by partial fraction, there are still problems with expansion of 1/(x^3+2) into partial fractions - we get either no expansion or expansion with complex numbers :( 19.3. * Regular expressions catch inequalitites which not sharp or writen badly (like x,y>0 or 2x+y>9) and give a hint for few common problems (x,y>0 => x>0 and y>0; 2x+y>9 => 2*x+y>9). 18.3. * Fixed bug in particular solution of second order LDE via undetermined coefficients. * Fixed missing parenthesis in integration by parts in integral assistant. Thanks to Mirek Machala. 15.3.-17.3 * graphs of elementary functions: fixed acot function (is continuous at 0), accepts also other than natural logs * PDF output for inequalities in one and two variables. 12.3. * started to write logs in english * derivative is able to handle functions like sin(a(2*x)*x^2) * fixed few security problems * fixed many things, hope nothing has been broken, only allowed funcitons or parameters are a and b * registering project on sourceforge 11.3. * chybova hlaska pokud se nepodari vyresit nerovnici nebo soustavu (tj. pokud soustava nema reseni). * oprava ztracene mezery v souboru ode.pl (reseni rovnice y'=-cos(x)/sin(x)*y+x/sin(x) davalo chybu) * oprava parametru pouzitych pro rozparsrovani funkce kvuli derivacim v souborech derivace2.mac a derivace2y.mac (aa->aa[1] - thanks to Harald Geyer) 10.3. * novy design stranek (prehlednejsi rozdeleni do tematickych skupin) * soustava linearnich nerovnic - zatim jenom v html 7.3. * Zobrazuji se jednotliva dilci reseni u definicniho oboru funkce dvou promennych * Definicni obor funkce jedne promenne 6.3. * U definicniho oboru funkce dvou promennych se zobrazuji i podminky, ktere je nutno splnit. * U hledani stac. bodu funkce dvou promennych je umoznem i vypocet v pripade, ze funkce obsahuje parametr (a,b, ...) - pridani promennych [x,y] do parametru prikazu solve. 5.3. * derivace krok po kroku * u urciteho integralu v geometrii, prubehu funkce a mozna jeste nekde jinde se kontroluje, ze zadana funkce je funkci jedne promenne * uprava zobrazovani definicniho oboru funkce dvou promennych, vysledek se zobrazuje v html strance, ne jako samostatny png soubor. * negsumdispflag:false u neurciteho integralu 3.3. * Urcity integral: funkce se kresli ne na intervalu (a,b), ale na (a-0.0000001,b+0.0000001), aby byla mensi pravdepodobnost ze vyjde log(-1) a aby se tim padem pekne nakreslil graf funkce x*(log(x))^2 * integral: konverze hranatych zavorek na kulate (hranate maji v maxime jiny vyznam) 29.2. * Integral: zpetna substituce, integral souctu * Urcity integral: zahazuji se komplexni cisla, tohle resi problem pri kresleni funkci jako arccos(x) nebo sqrt(1-x^2), odchytavaji se numericke chyby jako deleni nulou a logaritmus nuly, aby nevadily prikresleni grafu 26.2. * Integral: u substituce se kontroluje, jestli se nepouziva uz jednou pouzite pismenko, anglicka verze 23.2.2008 * Rada vylepseni do kalkulacky s neurcitym integralem a nahled zadani v prubehu funkce 21.2.2008 * pridan "pruvodce neurcitym integralem", zatim jenom v cestine, stejne jako posunute grafy funkci. 20.2.2008 * pridan prikaz errcatch do filtru, ktery filtruje koreny funkce a jejich derivaci u prubehu. Po uprave filtru totiz daval prubeh funkce y=tan(x) chybu. 18.2.2008 * Grafy zakladnich elementarnich funkci v posunutem a natazenem tvaru * Vylepsena detekce komplexnich korenu u prubehu, napriklad x^4-10*x^2-1 hlasilo 4 koreny, ale jsou jenom dva. Pokud je koren moc slozity (TeXovsky zapis vic jak 200 znaku) netiskne se. 13.2.2008 * Nova verze programu formconv (resi napriklad problem s (x*log(x))^2) a zobrazuje se nahled vzorce v nekterych pripadech, kdy vstupni filtr zachyti problem v zapisu matematickeho vzorce (chybi zavorka za jemenem funkce a podobne) 9.2.2008 * Prubeh: opraveno derivovani funkci jako 1/2*(x+1/x), pri derivovani se vytyka konstanta v citateli, pokud to jde. Drobne upravy chybovych hlasek. Pridano logexpand:false, aby se nasel i zaporny koren funce ln(x^2). * Novy kalkulator: Lagrageuv interpolacni polynom * Opraveno zahazovani nerealnych korenu u ODR a u prubehu (zadny koren rovnice x^4+1=0 se od ted uz netvari jako realny) * MNC: kontrola zapomenutych nebo prebytecnych souradnic a prebytecnych nebo chybejicich carek nebo stredniku * Lepsi zobrazovani Taylorova polynomu (pridano pfeformat:true) * prubeh a taylor: uprava, aby se nepouzival formconv (problemy s (x*ln(x))^2) * prubeh: trigsimp se pouzije jenom, kdyz je v zadani trigonometricka nebo k ni inverzni funkce. To osetri nezadouci prevod log(x^2) na 2*log(x) treba pri derivovani funkce x*log(x^2). * uprava vstupniho filtru: podrobnejsi chybove hlasky a zakazana desetinna cisla (program je nekdy prevadi na zlomky, coz muze vest ke zmateni ctenare), osetreni zpetnych lomitek * funkce dvou promennych: umi kreslit definicni obor 31.1.2008 * ODE: automaticky se zahazuji komplexni vysledky pri hledani konstatnich reseni separovatelne DR a byly opraveny drobne chybky. 30.1.2008 * Vstupni filtr odchyti pokus pouzit jako oddelovac desetinnych mist carku misto tecky a vyvola srozumitelne chybove hlaseni. * prubeh: Hezci kresleni asymptot (plna modra cara) * prubeh: Opravena chyba zpusobena koncem radku pri detekci, zda je funkce polynom. Opravena kontrola, zda se da kratit: v nekterych pripadech davala falesnou chybovou hlasku. 27.1.2008 * pokud je tecka pritomna v jinem kontextu, nez jako oddelovac desetinnych mist, vyvola vstupni filtr odpovidajici chybove hlaseni * prubeh: pokud je zadana racionalni lomena funkce, kde se da kratit, program odmitne vypocet a pozaduje zadani ve zkracene forme (citatel a jmenovatel nemaji stejne koreny). Zkraceny tvar zlomku je soucasti chybove hlasky. 26.1.2008 * prubeh: detekce, jestli zadana funkce je polynom nebo podil dvou polynomu a pokud ano, tak se provede detailnejsi analyza (definicni obor, body nespojitosti, asymptoty v nekonecnech a bodech nespojitosti, postup pri uprave derivace pokud jmenovatel ma vsechny koreny stejne nasobnosti) 24.1.2008 * prubeh: oprava volani programu formconv - pridan parametr -r pri vykreslovani grafu (thanks to Zoltan Kovacs). Absence toho parametru zpusobovala, ze zlomky typu 1/2 byly pri kresleni grafu programem GNUplot povazovane za celociselne deleni a vysledkem byla nula 20.1.2008 * oprava mensi chyby, ktera zpusobovala chybu pri pouziti konstanty %pi ve vypoctech (omylem smazana mezera) * u geometricke aplikace kontrola na spojitost funkci v krajnich bodech * oprava filtru matematickych vyrazu, vyraz typu 4e^x nespusti vypocet, ale zobrazi varovani (zapomenute znamenko pro nasobeni) 19.1.2008 * metoda odhadu partikularniho reseni pro LDR druheho radu, kdy na prave strane je polynom, nebo polynom v soucinu s exponencialni funkci 15.1.2008 * dve jazykove mutace * uprava vetsiny kalkulatoru 10.1.2008 * bod kolem nehoz se dela Tayloruv polynom muze byt i %pi nebo %e a podobne * nastavena restriktivni pravidla, co je a co neni mozno zapisovat do formularu (pismena s diakritikou, recka pismena jina nez %pi, hyperbolicke funkce a podobne) 9.1.2008 * filtr pi->%pi a osetreni absolutni hodnoty zapsane pomoci svislych car 7.1.2008 * css styly a jednotny vizualni styl html a PDF souboru * uprava reseni ODE (nejdriv jako linearni, potom pripadne separace) 6.1.2008 * lepsi separace promennych u ODE prvniho radu a chybova hlaska pokud Maxima rovnici nevyresi * nova verze konverzniho programu formconv, osetruje problem ze obcas byly ve TeXovskem vystupu vynechane zavorky * kodovani cestiny zmeneno na UTF-8 * kontrola parovosti zavorek a prazdnych retezcu * logovani nekterych matematicky nekorektnich vyrazu do souboru 5.1.2008 * Taylor: pridana kontrola, jestli je funkce v zadanem bode spojita, pokud ne, vypise se varovani. Oprava mensich chyb v TeXovskem ovladaci. * MNC: Pridan filtr pro vyvolani chyby v pripade, kdy jsou na vstupu i jine znaky nez cisla a oddelovace * Podorobnejsi chybove hlasky v pripade nekorektnich nebo nepovolenych dat na vstupu. 4.1.2008 * NOVA APLIKACE: linearni diferencialni rovnice druheho radu * Kalkulacka na prubeh funkce se snazi zobrazit i nulove body funkce * Vstupni formulare byly upraveny aby varovaly uzivatele, pokud nenapise explicitne nasobeni a pokud nevyznaci kulatou zavorkou rozsah pusobnosti funkci jako sin, cos a podobne 3.1.2008 * Uprava souboru taylor.pl, aby nezjednodusoval zadanou funkci