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 and view the source code, design documents, or content of the product. The open source model is a decentrali ...
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 Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
,
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
and
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
among many other platforms. Xcas is written in
C++.
Giac can be used directly inside software written in C++.
Xcas has compatibility modes with many popular algebra systems like
WolframAlpha
WolframAlpha ( ) is an answer engine developed by Wolfram Research. It is offered as an online service that answers factual queries by computing answers from externally sourced data.
History
Launch preparations for WolframAlpha began on Ma ...
,
Mathematica
Wolfram (previously known as Mathematica and Wolfram Mathematica) is a software system with built-in libraries for several areas of technical computing that allows machine learning, statistics, symbolic computation, data manipulation, network ...
,
Maple
''Acer'' is a genus of trees and shrubs commonly known as maples. The genus is placed in the soapberry family Sapindaceae.Stevens, P. F. (2001 onwards). Angiosperm Phylogeny Website. Version 9, June 2008 nd more or less continuously updated si ...
,
or
MuPAD. 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, group theory, differentia ...
for calculus operations. Among other things, Xcas can solve
differential equations (Figure 3) 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 discret ...
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) and Collabora Online, with Apache OpenOffice being considered mostly d ...
plugin which allows formal calculation in
Calc spreadsheet and
Writer
A writer is a person who uses written words in different writing styles, genres and techniques to communicate ideas, to inspire feelings and emotions, or to entertain. Writers may develop different forms of writing such as novels, short sto ...
word processing, uses Giac to perform calculations.
Features
Here is a brief overview of what Xcas is able to do:
* Xcas has the ability of a scientific calculator that provides
show input and writes
pretty print
* Xcas also works 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 c ...
;
*
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 expression (mathematics), ...
;
*
2D geometry 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 c ...
;
*
statistics
Statistics (from German language, German: ', "description of a State (polity), state, a country") is the discipline that concerns the collection, organization, analysis, interpretation, and presentation of data. In applying statistics to a s ...
;
*
regression
Regression or regressions may refer to:
Arts and entertainment
* ''Regression'' (film), a 2015 horror film by Alejandro Amenábar, starring Ethan Hawke and Emma Watson
* ''Regression'' (magazine), an Australian punk rock fanzine (1982–1984)
* ...
(exponential, linear, logarithmic, logistic, polynomial, power)
* programming;
* solve
equation
In mathematics, an equation is a mathematical 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 ...
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 concerned with relationships between angles and side lengths of triangles. In particular, the trigonometric functions relate the angles of a right triangle with ratios of its side lengths. The field ...
equations
* solve
differential equations
(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 is a fundamental tool that quantifies the sensitivity to change of a function's output with respect to its input. The derivative of a function of a single variable at a chosen input value, when it exists, is t ...
) of
functions (Figure 2);
* calculate
antiderivative
In calculus, an antiderivative, inverse derivative, primitive function, primitive integral or indefinite integral of a continuous function is a differentiable function whose derivative is equal to the original function . This can be stated ...
of
functions (Figure 2);
* calculate
area
Area is the measure of a region's size on a surface. The area of a plane region or ''plane area'' refers to the area of a shape or planar lamina, while '' surface area'' refers to the area of an open surface or the boundary of a three-di ...
and
integral
In mathematics, an integral is the continuous analog of a Summation, sum, which is used to calculate area, areas, volume, volumes, and their generalizations. Integration, the process of computing an integral, is one of the two fundamental oper ...
calculus
Calculus is the mathematics, mathematical study of continuous change, in the same way that geometry is the study of shape, and algebra is the study of generalizations of arithmetic operations.
Originally called infinitesimal calculus or "the ...
;
*
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 matrix (mathemat ...
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 expected value of the squared deviation from the mean of a random variable. The standard deviation (SD) is obtained as the square root of the variance. Variance is a measure of dispersion ...
:
variance( , 4, 2
is
* calculate
standard deviation
In statistics, the standard deviation is a measure of the amount of variation of the values of a variable about its Expected value, mean. A low standard Deviation (statistics), deviation indicates that the values tend to be close to the mean ( ...
:
stddev( , 4, 2
is
* calculate
determinant
In mathematics, the determinant is a Scalar (mathematics), scalar-valued function (mathematics), function of the entries of a square matrix. The determinant of a matrix is commonly denoted , , or . Its value characterizes some properties of the ...
of a
matrix
Matrix (: matrices or matrixes) or MATRIX may refer to:
Science and mathematics
* Matrix (mathematics), a rectangular array of numbers, symbols or expressions
* Matrix (logic), part of a formula in prenex normal form
* Matrix (biology), the m ...
: 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 ...
of two
vector
Vector most often refers to:
* Euclidean vector, a quantity with a magnitude and a direction
* Disease vector, an agent that carries and transmits an infectious pathogen into another living organism
Vector may also refer to:
Mathematics a ...
s:
cross(, 2, 3
The comma is a punctuation mark that appears in several variants in different languages. Some typefaces render it as a small line, slightly curved or straight, but inclined from the vertical; others give it the appearance of a miniature fille ...
, 3, 2
is
* calculate
permutation
In mathematics, a permutation of a set can mean one of two different things:
* an arrangement of its members in a sequence or linear order, or
* the act or process of changing the linear order of an ordered set.
An example of the first mean ...
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 ...
s:
nCr()
* solve
equation
In mathematics, an equation is a mathematical 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 ...
:
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 (also called
solid of revolution
In geometry, a solid of revolution is a Solid geometry, solid figure obtained by rotating a plane figure around some straight line (the ''axis of revolution''), which may not Intersection (geometry), intersect the generatrix (except at its bound ...
) - finding volume by rotation (around the ''x''-axis):
int(pi*function^2,x,lowerlimit,upperlimit)
** calculate definite integral (also called 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 differential equation, ordinary and partial differential equations, in which algebra allows one to rewrite an equation so tha ...
:
split((x+1)*(y-2), ,y
produces
* desolve
differential equation (the derivatives are written as y or y):
desolve(differential equation,y)
Supported operating systems
*
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
*
Apple
An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
*
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
/
Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user 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, a ...
*
FreeBSD
FreeBSD is a free-software Unix-like operating system descended from the Berkeley Software Distribution (BSD). The first version was released in 1993 developed from 386BSD, one of the first fully functional and free Unix clones on affordable ...
*
Android
*
iOS
Ios, Io or Nio (, ; ; locally Nios, Νιός) is a Greek island in the Cyclades group in the Aegean Sea. Ios is a hilly island with cliffs down to the sea on most sides. It is situated halfway between Naxos and Santorini. It is about long an ...
(paid version)
Onlineref name="R15"/>
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 and view the source code, design documents, or content of the product. The open source model is a decentrali ...
projects developed and written by and Renée De Graeve at the former
Joseph Fourier University
Joseph Fourier University (UJF, , 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é Grenoble Alpes.
Importance
...
of
Grenoble
Grenoble ( ; ; or ; or ) is the Prefectures in France, prefecture and List of communes in France with over 20,000 inhabitants, largest city of the Isère Departments of France, department in the Auvergne-Rhône-Alpes Regions of France, region ...
(now the
Grenoble Alpes University
The (, ''Grenoble Alps University'', abbr. UGA) is a ''grand établissement'' in Grenoble, France. Founded in 1339, it is the third largest university in France with about 60,000 students and over 3,000 researchers.
Established as the Univer ...
),
France
France, officially the French Republic, is a country located primarily in Western Europe. Overseas France, Its overseas regions and territories include French Guiana in South America, Saint Pierre and Miquelon in the Atlantic Ocean#North Atlan ...
since 2000.
Xcas and Giac are based on experiences gained with 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 f ...
.
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. It was founded by Bill Hewlett and David Packard in 1939 in a one-car garage in Palo Alto, California ...
as the CAS for their
HP Prime
The HP Prime Graphing Calculator is a graphing calculator introduced by Hewlett-Packard in 2013 and manufactured by HP Inc. until the licensees Moravia Consulting spol. s r.o. and Royal Consumer Information Products, Inc. took over t ...
calculator, which utilizes the Giac/Xcas 1.5.0 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 a ...
's CAS view.
Use in education
Since 2015, Xcas is used in the
French education system
Education in France is organized in a highly centralized manner, with many subdivisions. It is divided into the three stages of primary education (''enseignement primaire''), secondary education (''enseignement secondaire''), and higher educat ...
.
Xcas is also
used in
German
German(s) may refer to:
* Germany, the country of the Germans and German things
**Germania (Roman era)
* Germans, citizens of Germany, people of German ancestry, or native speakers of the German language
** For citizenship in Germany, see also Ge ...
universities
A university () is an educational institution, institution of tertiary education and research which awards academic degrees in several Discipline (academia), academic disciplines. ''University'' is derived from the Latin phrase , which roughly ...
,
and in
Spain
Spain, or the Kingdom of Spain, is a country in Southern Europe, Southern and Western Europe with territories in North Africa. Featuring the Punta de Tarifa, southernmost point of continental Europe, it is the largest country in Southern Eur ...
and
Mexico
Mexico, officially the United Mexican States, is a country in North America. It is the northernmost country in Latin America, and borders the United States to the north, and Guatemala and Belize to the southeast; while having maritime boundar ...
.
It is also used at the
University of North Carolina Wilmington
The University of North Carolina Wilmington, or University of North Carolina at Wilmington, (UNC Wilmington or UNCW) is a Public university, public research university in Wilmington, North Carolina. It is part of the University of North Caroli ...
and the
University of New Mexico
The University of New Mexico (UNM; ) is a public research university in Albuquerque, New Mexico, United States. Founded in 1889 by the New Mexico Territorial Legislature, it is the state's second oldest university, a flagship university in th ...
.
Xcas is used in particular for learning algebra.
χCAS
There is a port of Giac/Xcas for
Casio graphing calculators fx-CG10, fx-CG20, fx-CG50, fx-9750GIII and fx-9860GIII, calle
χCAS (KhiCAS) These calculators do not have their own
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 ...
. It is also available for
TI Nspire CX, CX-II, and
Numworks N0110
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 ...
*
WolframAlpha
WolframAlpha ( ) is an answer engine developed by Wolfram Research. It is offered as an online service that answers factual queries by computing answers from externally sourced data.
History
Launch preparations for WolframAlpha began on Ma ...
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.
Commandes XCAS(French)
Les principales fonctions de XCAS en calcul formel pour le lycéeFrench)
* Barnard Parisse:
Mathématiques avec Xcas'. (French)
(French)
* Fabian Reimers (editor): "
Computeralgebra-RundbriefNr. 62'': ''Fachgruppe Computeralgebra''" (PDF). (German)
External links
*
{{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++