![Nyere forsøg Xcas løser differentialligninger algebraisk](https://upload.wikimedia.org/wikipedia/commons/c/c7/Nyere_fors%C3%B8g_Xcas_l%C3%B8ser_differentialligninger_algebraisk.png)
Xcas is a user interface to Giac, which is an
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
computer algebra system
A computer algebra system (CAS) or symbolic algebra system (SAS) is any mathematical software with the ability to manipulate mathematical expressions in a way similar to the traditional manual computations of mathematicians and scientists. The de ...
(CAS) for
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
,
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
and
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
among many other platforms. Xcas is written in
C++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
.
Giac can be used directly inside software written in C++.
Xcas has a compatibility modes with many popular algebra systems like
WolframAlpha
WolframAlpha ( ) is an answer engine developed by Wolfram Research. It answers factual queries by computing answers from externally sourced data.
WolframAlpha was released on May 18, 2009 and is based on Wolfram's earlier product Wolfram Mathe ...
,
Mathematica
Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimizat ...
,
Maple
''Acer'' () is a genus of trees and shrubs commonly known as maples. The genus is placed in the family Sapindaceae.Stevens, P. F. (2001 onwards). Angiosperm Phylogeny Website. Version 9, June 2008 nd more or less continuously updated since http ...
,
or
MuPAD
MuPAD is a computer algebra system (CAS). Originally developed by the MuPAD research group at the University of Paderborn, Germany, development was taken over by the company SciFace Software GmbH & Co. KG in cooperation with the MuPAD research gro ...
. Users can use Giac/Xcas to develop formal algorithms or use it in other software. Giac is used in
SageMath
SageMath (previously Sage or SAGE, "System for Algebra and Geometry Experimentation") is a computer algebra system (CAS) with features covering many aspects of mathematics, including algebra, combinatorics, graph theory, numerical analysis, numbe ...
for calculus operations. Among other things, Xcas can solve
equation
In mathematics, an equation is a formula that expresses the equality of two expressions, by connecting them with the equals sign . The word ''equation'' and its cognates in other languages may have subtly different meanings; for example, in ...
s (Figure 3) and
differential equations
In mathematics, a differential equation is an equation that relates one or more unknown functions and their derivatives. In applications, the functions generally represent physical quantities, the derivatives represent their rates of change, an ...
(Figure 4) and draw
graph
Graph may refer to:
Mathematics
*Graph (discrete mathematics), a structure made of vertices and edges
**Graph theory, the study of such graphs and their properties
*Graph (topology), a topological space resembling a graph in the sense of discre ...
s. There is a forum for questions about Xcas.
CmathOOoCAS, an
OpenOffice.org
OpenOffice.org (OOo), commonly known as OpenOffice, is a discontinued open-source office suite. Active successor projects include LibreOffice (the most actively developed), Apache OpenOffice, Collabora Online (enterprise ready LibreOffice) a ...
plugin which allows formal calculation in
Calc spreadsheet and
Writer
A writer is a person who uses written words in different writing styles and techniques to communicate ideas. Writers produce different forms of literary art and creative writing such as novels, short stories, books, poetry, travelogues, p ...
word processing, uses Giac to perform calculations.
Features
Here is a brief overview of what Xcas is able to do:
[Read more commands and feature]
hear
* Xcas has the ability of a scientific calculator that provides
show input
Show or The Show may refer to:
Competition, event, or artistic production
* Agricultural show, associated with agriculture and animal husbandry
* Animal show, a judged event in the hobby of animal fancy
** Cat show
** Dog show
** Horse show
** Sp ...
and writes
pretty print
Pretty-printing (or prettyprinting) is the application of any of various stylistic formatting conventions to text files, such as source code, markup, and similar kinds of content. These formatting conventions may entail adhering to an indentatio ...
* Xcas works also as a
spreadsheet
A spreadsheet is a computer application for computation, organization, analysis and storage of data in tabular form. Spreadsheets were developed as computerized analogs of paper accounting worksheets. The program operates on data entered in cel ...
;
*
computer algebra
In mathematics and computer science, computer algebra, also called symbolic computation or algebraic computation, is a scientific area that refers to the study and development of algorithms and software for manipulating mathematical expressions ...
;
*
2D geometry
Euclidean geometry is a mathematical system attributed to ancient Greek mathematician Euclid, which he described in his textbook on geometry: the '' Elements''. Euclid's approach consists in assuming a small set of intuitively appealing axiom ...
in the plane;
* 3D geometry in space;
*
spreadsheet
A spreadsheet is a computer application for computation, organization, analysis and storage of data in tabular form. Spreadsheets were developed as computerized analogs of paper accounting worksheets. The program operates on data entered in cel ...
;
*
statistics
Statistics (from German language, German: ''wikt:Statistik#German, Statistik'', "description of a State (polity), state, a country") is the discipline that concerns the collection, organization, analysis, interpretation, and presentation of ...
;
*
regression (exponential, linear, logaritmic, logistic, polynomial, power)
* programming;
* solve
equation
In mathematics, an equation is a formula that expresses the equality of two expressions, by connecting them with the equals sign . The word ''equation'' and its cognates in other languages may have subtly different meanings; for example, in ...
s even with
complex
Complex commonly refers to:
* Complexity, the behaviour of a system whose components interact in multiple ways so possible interactions are difficult to describe
** Complex system, a system composed of many components which may interact with each ...
roots (Figure 2);
* solving
trigonometric
Trigonometry () is a branch of mathematics that studies relationships between side lengths and angles of triangles. The field emerged in the Hellenistic world during the 3rd century BC from applications of geometry to astronomical studies. ...
equations
* solve
differential equation
In mathematics, a differential equation is an equation that relates one or more unknown functions and their derivatives. In applications, the functions generally represent physical quantities, the derivatives represent their rates of change, an ...
s
(Figure 3);
* draw
graphs
Graph may refer to:
Mathematics
*Graph (discrete mathematics), a structure made of vertices and edges
**Graph theory, the study of such graphs and their properties
*Graph (topology), a topological space resembling a graph in the sense of discre ...
;
* calculate
differential (or
derivative
In mathematics, the derivative of a function of a real variable measures the sensitivity to change of the function value (output value) with respect to a change in its argument (input value). Derivatives are a fundamental tool of calculus. F ...
) of
functions (Figure 2);
* calculate
antiderivative
In calculus, an antiderivative, inverse derivative, primitive function, primitive integral or indefinite integral of a function is a differentiable function whose derivative is equal to the original function . This can be stated symbolically ...
of
functions (Figure 2);
* calculate
area
Area is the quantity that expresses the extent of a region on the plane or on a curved surface. The area of a plane region or ''plane area'' refers to the area of a shape
A shape or figure is a graphics, graphical representation of an obje ...
and
integral
In mathematics
Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented i ...
calculus
Calculus, originally called infinitesimal calculus or "the calculus of infinitesimals", is the mathematical study of continuous change, in the same way that geometry is the study of shape, and algebra is the study of generalizations of arithm ...
;
*
linear algebra
Linear algebra is the branch of mathematics concerning linear equations such as:
:a_1x_1+\cdots +a_nx_n=b,
linear maps such as:
:(x_1, \ldots, x_n) \mapsto a_1x_1+\cdots +a_nx_n,
and their representations in vector spaces and through matrices.
...
Example Xcas commands:
* Produce mixed fractions:
propfrac(42/15)
gives 2 +
* Calculate square root:
sqrt(4)
= 2
* Draw a vertical line in coordinate system:
line(x=1)
draws the vertical line
in the output window
* Draw graph:
plot(function)
(for example,
plot(3 * x^2 - 5)
produces a plot of
* Calculate average:
mean( , 4, 2
is 3
* Calculate
variance
In probability theory and statistics, variance is the expectation of the squared deviation of a random variable from its population mean or sample mean. Variance is a measure of dispersion, meaning it is a measure of how far a set of numbers ...
:
variance( , 4, 2
is
* Calculate
standard deviation
In statistics, the standard deviation is a measure of the amount of variation or dispersion of a set of values. A low standard deviation indicates that the values tend to be close to the mean (also called the expected value) of the set, while ...
:
stddev( , 4, 2
is
* Calculate
determinant
In mathematics, the determinant is a scalar value that is a function of the entries of a square matrix. It characterizes some properties of the matrix and the linear map represented by the matrix. In particular, the determinant is nonzero if and ...
of a
matrix
Matrix most commonly refers to:
* ''The Matrix'' (franchise), an American media franchise
** ''The Matrix'', a 1999 science-fiction action film
** "The Matrix", a fictional setting, a virtual reality environment, within ''The Matrix'' (franchis ...
: is
* Calculate local extrema of a function:
extrema(-2*cos(x)-cos(x)^2,x)
is
, π* Calculate
cross product
In mathematics, the cross product or vector product (occasionally directed area product, to emphasize its geometric significance) is a binary operation on two vectors in a three-dimensional oriented Euclidean vector space (named here E), and is ...
of two
vector
Vector most often refers to:
*Euclidean vector, a quantity with a magnitude and a direction
*Vector (epidemiology), an agent that carries and transmits an infectious pathogen into another living organism
Vector may also refer to:
Mathematic ...
s:
cross( , 2, 3 , 3, 2
is
* Calculate
permutation
In mathematics, a permutation of a set is, loosely speaking, an arrangement of its members into a sequence or linear order, or if the set is already ordered, a rearrangement of its elements. The word "permutation" also refers to the act or proc ...
s:
nPr()
* Calculate
combination
In mathematics, a combination is a selection of items from a set that has distinct members, such that the order of selection does not matter (unlike permutations). For example, given three fruits, say an apple, an orange and a pear, there are th ...
s:
nCr()
* Solve
equation
In mathematics, an equation is a formula that expresses the equality of two expressions, by connecting them with the equals sign . The word ''equation'' and its cognates in other languages may have subtly different meanings; for example, in ...
:
solve(equation,x)
* Factoring Polynomials:
factor(polynomial,x)
or
cfactor(polynomial,x)
* Differentiation of function:
diff(function,x)
* Calculate indefinite integrals/antiderivatives:
int(function,x)
* Calculate definite integrals/area under the curve of a function:
int(function,x,lowerlimit,upperlimit)
** Calculate definite integral aka
solid of revolution
In geometry, a solid of revolution is a solid figure obtained by rotating a plane figure around some straight line (the ''axis of revolution'') that lies on the same plane. The surface created by this revolution and which bounds the solid is the ...
- finding volume by rotation (around the ''x''-axis):
int(pi*function^2,x,lowerlimit,upperlimit)
** Calculate definite integral aka solid of revolution - finding volume by rotation (around the ''y''-axis) for a decreasing function:
int(2*pi*x*function,x,lowerlimit,upperlimit)
*
Separation of variables
In mathematics, separation of variables (also known as the Fourier method) is any of several methods for solving ordinary and partial differential equations, in which algebra allows one to rewrite an equation so that each of two variables occurs ...
:
split((x+1)*(y-2), ,y
produces
* desolve
differential equation
In mathematics, a differential equation is an equation that relates one or more unknown functions and their derivatives. In applications, the functions generally represent physical quantities, the derivatives represent their rates of change, an ...
(the derivatives are written as y or y):
desolve(differential equation,y)
Supported operating systems
*
Microsoft
Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
*
Apple
An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple fruit tree, trees are agriculture, cultivated worldwide and are the most widely grown species in the genus ''Malus''. The tree originated in Central Asia, wh ...
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
*
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
/
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
*
FreeBSD
FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
*
Android
*
iOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also includes ...
(paid version)
Online
History
Xcas and Giac are
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
projects developed and written by and Renée De Graeve at the
Joseph Fourier University
Joseph Fourier University (UJF, french: Université Joseph Fourier, also known as Grenoble I) was a French university situated in the city of Grenoble and focused on the fields of sciences, technologies and health. It is now part of the Universit ...
of
Grenoble
lat, Gratianopolis
, commune status = Prefecture and commune
, image = Panorama grenoble.png
, image size =
, caption = From upper left: Panorama of the city, Grenoble’s cable cars, place Saint- ...
,
France
France (), officially the French Republic ( ), is a country primarily located in Western Europe. It also comprises of Overseas France, overseas regions and territories in the Americas and the Atlantic Ocean, Atlantic, Pacific Ocean, Pac ...
since 2000.
Xcas and Giac are based on experiences gained with Mr. Parisse's former project
Erable
Erable is a computer algebra system (CAS) for a family of Hewlett-Packard graphing scientific calculators of the HP 40, 48 and HP 49/50 series.
History
Originally named ''ALGB'' in 1993, it was developed by the French mathematician fo ...
.
Pocket CAS and
CAS Calc P11 utilize Giac.
The system was also chosen by
Hewlett-Packard
The Hewlett-Packard Company, commonly shortened to Hewlett-Packard ( ) or HP, was an American multinational information technology company headquartered in Palo Alto, California. HP developed and provided a wide variety of hardware components ...
as the CAS for their
HP Prime
The HP Prime Graphing Calculator is a graphing calculator introduced by Hewlett-Packard in 2013 and currently manufactured by HP Inc. It was designed with features resembling those of smartphones, such as a full-color touchscreen display and t ...
calculator, which utilizes the Giac/Xcas 1.4.9 engine under a dual-license scheme.
In 2013 the mathematical software Xcas was also integrated into
GeoGebra
GeoGebra (a portmanteau of ''geometry'' and ''algebra'') is an interactive geometry, algebra, statistics and calculus application, intended for learning and teaching mathematics and science from primary school to university level. GeoGebra is av ...
's CAS view.
Use in education
Since 2015 is Xcas
used
in the
French education system.
Xcas is also
used in
German
German(s) may refer to:
* Germany (of or related to)
** Germania (historical use)
* Germans, citizens of Germany, people of German ancestry, or native speakers of the German language
** For citizens of Germany, see also German nationality law
**Ge ...
universities
A university () is an institution of higher (or tertiary) education and research which awards academic degrees in several academic disciplines. Universities typically offer both undergraduate and postgraduate programs. In the United States, t ...
,
and also in
Spain
, image_flag = Bandera de España.svg
, image_coat = Escudo de España (mazonado).svg
, national_motto = ''Plus ultra'' (Latin)(English: "Further Beyond")
, national_anthem = (English: "Royal March")
, i ...
and
Mexico
Mexico (Spanish: México), officially the United Mexican States, is a country in the southern portion of North America. It is bordered to the north by the United States; to the south and west by the Pacific Ocean; to the southeast by Guatema ...
and the
University of North Carolina Wilmington
The University of North Carolina Wilmington (UNCW or UNC Wilmington) is a public research university in Wilmington, North Carolina. It is part of the University of North Carolina System and enrolls 17,499 undergraduate and graduate students eac ...
as well as the
University of New Mexico
The University of New Mexico (UNM; es, Universidad de Nuevo México) is a public research university in Albuquerque, New Mexico. Founded in 1889, it is the state's flagship academic institution and the largest by enrollment, with over 25,400 ...
.
Xcas
is especially used for learning algebra.
See also
*
Comparison of computer algebra systems
The following tables provide a comparison of computer algebra systems (CAS). A CAS is a package comprising a set of algorithms for performing symbolic manipulations on algebraic objects, a language to implement them, and an environment in which to ...
References
Further reading
*
* Parisse, Bernard (2007):
Symbolic algebra and Mathematics with Xcas (list of commands) (PDF). Retrieved 2022-06-08.
* Parisse, B., University of Grenoble (January, 2016)
Giac/Xcas and Pari/GP (PDF). Retrieved 2022-06-08.
*
* Verlinden, Olivier (2013):
Symbolic generation of the kinematics of multibody systems in EasyDyn: From MuPAD to Xcas/Giac". Retrieved 2022-06-08.
* http://www.mathsaulycee.sitew.com/fs/premiere_s/8uoow-xcas_commande_utile.pdf (French)
* http://briand-lyc.spip.ac-rouen.fr/IMG/pdf/xcas_fonctions.pdf (French)
* Barnard Parisse:
Mathématiques avec Xcas'. (French)
(French)
* Fabian Reimers (editor): "
Computeralgebra-RundbriefNr. 62'': ''Fachgruppe Computeralgebra''" (PDF). (German)
External links
*
*
/www-fourier.ujf-grenoble.fr/~parisse/xcasen.html Use Xcas online in your web browser
{{Computer algebra systems
C++ libraries
Computer algebra system software for Linux
Computer algebra system software for macOS
Computer algebra system software for Windows
Free computer algebra systems
Free mathematics software
Free software programmed in C++