Online Algebra Calculator

Many of users do not use powerful **Maxima computer algebra system** for systematic work, but for ad hoc algebraic calculations – equations, functions, matrixes, etc. only.
To do this job, it is not useful to download the whole application from a web site.

Sponsored links:
Algebra eBooks

Run Example

(%i1)describe(eigenvalues); -- Function: eigenvalues (<M>) -- Function: eivals (<M>) Returns a list of two lists containing the eigenvalues of the matrix <M>. The first sublist of the return value is the list of eigenvalues of the matrix, and the second sublist is the list of the multiplicities of the eigenvalues in the corresponding order. `eivals' is a synonym for `eigenvalues'. `eigenvalues' calls the function `solve' to find the roots of the characteristic polynomial of the matrix. Sometimes `solve' may not be able to find the roots of the polynomial; in that case some other functions in this package (except `innerproduct', `unitvector', `columnvector' and `gramschmidt') will not work. In some cases the eigenvalues found by `solve' may be complicated expressions. (This may happen when `solve' returns a not-so-obviously real expression for an eigenvalue which is known to be real.) It may be possible to simplify the eigenvalues using some other functions. The package `eigen.mac' is loaded automatically when `eigenvalues' or `eigenvectors' is referenced. If `eigen.mac' is not already loaded, `load ("eigen")' loads it. After loading, all functions and variables in the package are available. There are also some inexact matches for `eigenvalues'. Try `?? eigenvalues' to see them. (%o1) true (%i2)

Run Example

describe(eigenvectors); -- Function: eigenvectors (<M>) -- Function: eivects (<M>) Computes eigenvectors of the matrix <M>. The return value is a list of two elements. The first is a list of the eigenvalues of <M> and a list of the multiplicities of the eigenvalues. The second is a list of lists of eigenvectors. There is one list of eigenvectors for each eigenvalue. There may be one or more eigenvectors in each list. `eivects' is a synonym for `eigenvectors'. The package `eigen.mac' is loaded automatically when `eigenvalues' or `eigenvectors' is referenced. If `eigen.mac' is not already loaded, `load ("eigen")' loads it. After loading, all functions and variables in the package are available. The flags that affect this function are: `nondiagonalizable' is set to `true' or `false' depending on whether the matrix is nondiagonalizable or diagonalizable after `eigenvectors' returns. `hermitianmatrix' when `true', causes the degenerate eigenvectors of the Hermitian matrix to be orthogonalized using the Gram-Schmidt algorithm. `knowneigvals' when `true' causes the `eigen' package to assume the eigenvalues of the matrix are known to the user and stored under the global name `listeigvals'. `listeigvals' should be set to a list similar to the output `eigenvalues'. The function `algsys' is used here to solve for the eigenvectors. Sometimes if the eigenvalues are messy, `algsys' may not be able to find a solution. In some cases, it may be possible to simplify the eigenvalues by first finding them using `eigenvalues' command and then using other functions to reduce them to something simpler. Following simplification, `eigenvectors' can be called again with the `knowneigvals' flag set to `true'. See also `eigenvalues'. Examples: A matrix which has just one eigenvector per eigenvalue. (%i1) M1 : matrix ([11, -1], [1, 7]); [ 11 - 1 ] (%o1) [ ] [ 1 7 ] (%i2) [vals, vecs] : eigenvectors (M1); (%o2) [[[9 - sqrt(3), sqrt(3) + 9], [1, 1]], [[[1, sqrt(3) + 2]], [[1, 2 - sqrt(3)]]]] (%i3) for i thru length (vals[1]) do disp (val[i] = vals[1][i], mult[i] = vals[2][i], vec[i] = vecs[i]); val = 9 - sqrt(3) 1 mult = 1 1 vec = [[1, sqrt(3) + 2]] 1 val = sqrt(3) + 9 2 mult = 1 2 vec = [[1, 2 - sqrt(3)]] 2 (%o3) done A matrix which has two eigenvectors for one eigenvalue (namely 2). (%i1) M1 : matrix ([0, 1, 0, 0], [0, 0, 0, 0], [0, 0, 2, 0], [0, 0, 0, 2]); [ 0 1 0 0 ] [ ] [ 0 0 0 0 ] (%o1) [ ] [ 0 0 2 0 ] [ ] [ 0 0 0 2 ] (%i2) [vals, vecs] : eigenvectors (M1); (%o2) [[[0, 2], [2, 2]], [[[1, 0, 0, 0]], [[0, 0, 1, 0], [0, 0, 0, 1]]]] (%i3) for i thru length (vals[1]) do disp (val[i] = vals[1][i], mult[i] = vals[2][i], vec[i] = vecs[i]); val = 0 1 mult = 2 1 vec = [[1, 0, 0, 0]] 1 val = 2 2 mult = 2 2 vec = [[0, 0, 1, 0], [0, 0, 0, 1]] 2 (%o3) done There are also some inexact matches for `eigenvectors'. Try `?? eigenvectors' to see them. (%o1) true (%i2)

Run Example

plot2d([[parametric, -t^2-7-t+1/t, t^2+7+2*t-2/t, [t,-3,3], [nticks, 1000]], -2*x-7], [x, -12, 4],[y, -25,30], [legend, false], [color, red] ); plotdescribe( "plotting options" , exact); 8.4 Plotting Options ==================== All options consist of a list starting with one of the keywords in this section, followed by one or more values. Most of the options can be used in any of the plotting commands (<plot2d>, <plot3d>, <contour_plot>, <implicit_plot>) or in the function <set_plot_option>; the exceptions will be specified in the following list. -- Plot option: adapth_depth [adapth_depth, <integer>] The maximum number of splittings used by the adaptive plotting routine. Default value: 5 -- Plot option: axes [axes, <symbol>] Where <symbol> can be either `true', `false', `x' or `y'. If `false', no axes will be shown; if equal to `x' or `y' only the x or y axis will be shown, and if it is equal to `true', both axes will be shown. This option is used only by plot2d and implicit_plot. Default value: true -- Plot option: azimut [azimuth, <number>] A plot3d plot can be thought of as starting with its x and y axis in the horizontal and vertical axis, as in plot2d, and the z axis coming out of the paper perpendicularly. The z axis is then rotated around the x axis an angle equals to `elevation' and then the xy plane is rotated around the new z axis an angle `azimuth'. This option sets the value for the azimuth, in degrees. Default value: 30 See also `elevation'. -- Plot option: box [box, <symbol>] If set to `true', a bounding box will be drawn for the plot; if set to `false', no box will be drawn. Default value: `true' -- Plot option: color [color, <color_1>, ..., <color_n>] In plot2d and implicit_plot, it defines the color (or colors) for the various curves. In plot3d, it defines the colors used for the mesh lines of the surfaces, when no palette is being used; one side of the surface will have color <color_1> and the other <color_2> (or the same color if there is only one color). If there are more curves or surfaces than colors, the colors will be repeated in sequence. When using gnuplot, the colors could be: blue, red, green, magenta, black, cyan or black; in xmaxima the colors can be those or a string starting with the character # and followed by six hexadecimal digits: two for the red component, two for green component and two for the blue component. If given the name of an unknown color, black will be used instead. Default value: blue, red, green, magenta, black, cyan -- Plot option: colorbox [colorbox, <symbol>] Where <symbol> can be either `true' or `false'. If `true', whenever plot3d uses a palette of different colors to represent the different values of z, a box will be shown on the right, indicating the colors used according to the scale of values of z. This option does not work in xmaxima. Default value: `false' -- Plot option: elevation [elevation, <number>] A plot3d plot can be thought of as starting with its x and y axis in the horizontal and vertical axis, as in plot2d, and the z axis coming out of the paper perpendicularly. The z axis is then rotated around the x axis an angle equals to `elevation' and then the xy plane is rotated around the new z axis an angle `azimuth'. This option sets the value for the elevation, in degrees. Default value: 60 See also `azimuth'. -- Plot option: grid [grid, <integer>, <integer>] Sets the number of grid points to use in the x- and y-directions for three-dimensional plotting. Default value: 30, 30 -- Plot option: legend [legend, <string_1>, ..., <string_n>] -- Plot option: legend [legend, <false>] It specifies the labels for the plots when various plots are shown. If there are more plots than the number of labels given, they will be repeated. If given the value `false', no legends will be shown. By default, the names of the expressions or functions will be used, or the words discrete1, discrete2, ..., for discrete sets of points. This option can not be set with <set_plot_option>. -- Plot option: logx [logx] Makes the horizontal axes to be scaled logarithmically. It can not be used with <set_plot_option>. -- Plot option: logy [logy] Makes the vertical axes to be scaled logarithmically. It can not be used with <set_plot_option>. -- Plot option: mesh_lines_color [mesh_lines_color, <color>] It sets the color used by plot3d to draw the mesh lines, when a palette is being used. It accepts the same colors as for the option `color' (see the list of allowed colors in `color'). It can also be given a value `false' to eliminate completely the mesh lines. Default value: black -- Plot option: nticks [nticks, <integer>] When plotting functions with plot2d, it is gives the initial number of points used by the adaptive plotting routine for plotting functions. When plotting parametric functions with plot2d or plot3d, it sets the number of points that will be shown for the plot. Default value: 29 -- Plot option: palette [palette, [<palette_1>], ..., [<palette_n>]] -- Plot option: palette [palette, <false>] It can consist of one palette or a list of several palettes. Each palette is a list with a keyword followed by four numbers. The first three numbers, which must be between 0 and 1, define the hue, saturation and value of a basic color to be assigned to the minimum value of z. The keyword specifies which of the three attributes (hue, saturation or value) will be increased according to the values of z. The last number indicates the increase corresponding to the maximum value of z. That last number can be bigger than 1 or negative; the corresponding values of the modified attribute will be rounded modulo 1. Gnuplot only uses the first palette in the list; xmaxima will use the palettes in the list sequentially, when several surfaces are plotted together; if the number of palettes is exhausted, they will be repeated sequentially. The color of the mesh lines will be given by the option `mesh_lines_color'. If `palette' is given the value `false', the surfaces will not be shaded but represented with a mesh of curves only. In that case, the colors of the lines will be determined by the option `color'. Default value: [hue, 0.25, 0.7, 0.8, 0.5], [hue, 0.65, 0.8, 0.9, 0.55], [hue, 0.55, 0.8, 0.9, 0.4], [hue, 0.95, 0.7, 0.8, 0.5] -- Plot option: plot_format [plot_format, <format>] Where <format> is one of the following: gnuplot, xmaxima, mgnuplot or gnuplot_pipes. It sets the format to be used for plotting. Default value: gnuplot, in Windows systems, or gnuplot_pipes in other systems. -- Plot option: plot_real_part [plot_realpart, <symbol>] When set to `true', the functions to be plotted will be considered as complex functions whose real value should be plotted; this is equivalent to plotting `realpart(<function>)'. I set to `false', nothing will be plotted when the function does not give a real value. For instance, when `x' is negative, `log(x)' gives a complex value, with real value equal to `log(abs(x))'; if `plot_real_part' were `true', `log(-5)' would be plotted as `log(5)', while nothing would be plotted if `plot_real_part' were `false'. Default value: `false' -- Plot option: point_type [point_type, <type_1>, ..., <type_n>] In gnuplot, each set of points to be plotted with the style "points" or "linespoints" will be represented with objects taken from this list, in sequential order. If there are more sets of points than objects in this list, they will be repeated sequentially. The possible objects that can be used are: bullet, circle, plus, times, asterisk, box, square,triangle, delta, wedge, nabla, diamond or lozenge Default value: bullet, circle, plus, times, asterisk, box, square,triangle, delta, wedge, nabla, diamond, lozenge -- Plot option: psfile [psfile, <string>] Saves the plot into a Postscript file with name equal to <string>, rather than showing it in the screen. By default, the file will be created in the directory defined by the variable <maxima_tempdir>; the value of that variable can be changed to save the file in a different directory. -- Plot option: run_viewer [run_viewer, <symbol>] Controls whether or not the appropriate viewer for the plot format should be run. Default value: `true' -- Plot option: style [style, <type_1>, ..., <type1_n>] -- Plot option: style [style, [<style_1>], ..., [<style_n>]] The styles that will be used for the various functions or sets of data in a 2d plot. The word <style> must be followed by one or more styles. If there are more functions and data sets than the styles given, the styles will be repeated. Each style can be either <lines> for line segments, <points> for isolated points, <linespoints> for segments and points, or <dots> for small isolated dots. Gnuplot accepts also an <impulses> style. Each of the styles can be enclosed inside a list with some aditional parameters. <lines> accepts one or two numbers: the width of the line and an integer that identifies a color. The default color codes are: 1: blue, 2: red, 3: magenta, 4: orange, 5: brown, 6: lime and 7: aqua. If you use Gnuplot with a terminal different than X11, those colors might be different; for example, if you use the option [<gnuplot_term>,<ps>], color index 4 will correspond to black, instead of orange. <points> accepts one two or three parameters; the first parameter is the radius of the points, the second parameter is an integer that selects the color, using the same code used for <lines> and the third parameter is currently used only by Gnuplot and it corresponds to several objects instead of points. The default types of objects are: 1: filled circles, 2: open circles, 3: plus signs, 4: x, 5: *, 6: filled squares, 7: open squares, 8: filled triangles, 9: open triangles, 10: filled inverted triangles, 11: open inverted triangles, 12: filled lozenges and 13: open lozenges. <linesdots> accepts up to four parameters: line width, points radius, color and type of object to replace the points. Default value: <lines> (will plot all sets of points joined with lines of thickness 1 and the first color given by the option `color'). See also `color' and `point_type'. -- Plot option: t [t, <min>, <max>] Default range for parametric plots. Default value: -3, 3 -- Plot option: transform_xy [transform_xy, <symbol>] Where <symbol> is either `false' or the result obtained by using the function `transform_xy'. If different from `false', it will be used to transform the 3 coordinates in plot3d. Default value: `false' See `make_transform', `polar_to_xy' and `spherical_to_xyz'. -- Plot option: x [x, <min>, <max>] When used as the first option in a 2d-plotting command (or any of the first two in plot3d), it indicates that the first independent variable is x and it sets its range. It can also be used again after the first option (or after the second option in plot3d) to define the effective horizontal domain that will be shown in the plot. -- Plot option: xlabel [xlabel, <string>] Specifies the <string> that will label the first axis; if this option is not used, that label will be the name of the independent variable, when plotting functions with plot2d or implicit_plot, or the name of the first variable, when plotting surfaces with plot3d or contours with contour_plot, or the first expression in the case of a parametric plot. It can not be used with <set_plot_option>. -- Plot option: y [y, <min>, <max>] When used as one of the first two options in plot3d, it indicates that one of the independent variables is y and it sets its range. Otherwise, It defines the effective domain of the second variable that will be shown in the plot. -- Plot option: ylabel [ylabel, <string>] Specifies the <string> that will label the second axis; if this option is not used, that label will be "y", when plotting functions with plot2d or implicit_plot, or the name of the second variable, when plotting surfaces with plot3d or contours with contour_plot, or the second expression in the case of a parametric plot. It can not be used with <set_plot_option>. -- Plot option: z [z, <min>, <max>] Used in plot3d to set the effective range of values of z that will be shown in the plot. -- Plot option: zlabel [zlabel, <string>] Specifies the <string> that will label the third axis, when using plot3d. If this option is not used, that label will be "z", when plotting surfaces, or the third expression in the case of a parametric plot. It can not be used with <set_plot_option> and it will be ignored by plot2d and implicit_plot. There are also some inexact matches for `plotting options'. Try `?? plotting options' to see them. (%o2) true (%i3)