Teaching and learning about math, Maple and MapleSim

 This interactive electronic textbook, in the form of Maple worksheets, is released in its sixth edition, 2021 August.  This book has two major divisions, mathematics for chemistry -- the mathematics that any instructor of a course in chemistry would wish a student thereof to understand and to be able to implement, and mathematics of chemistry, in the sense of the classic volumes by Margenau and Murphy -- mathematical treatments of particular topics in chemistry from an introductory post-secondary level to a post-graduate level. The content, which includes not only chapters in previous editions that have been revised but also additional chapters on quantum mechanics, molecular spectrometry and advanced chemical kinetics, has been collected during two decades, with many contributions from other authors, acknowledged in particular locations.  Each chapter includes not only explanatory treatments but also illuminating examples and exercises with chemical applications where practicable.


Mathematics for chemistry      0  introduction to Maple commands

                                                 1  numbers, symbols and elementary functions

                                                 2  plotting, geometry, trigonometry and functions

                                                 3  differential calculus

                                                 4  integral calculus

                                                 5  multivariate calculus

                                                 6  linear algebra

                                                 7  differential and integral equations

                                                 8  probability, statistics, regression and optimisation

Mathematics of chemistry       9  chemical equilibrium

                                                10  group theory

                                                11  graph theory

                                                12  quantum mechanics in three parts -- models, atoms and molecules

                                                13  molecular spectrometry

                                                14  Fourier transforms

                                                15  advanced chemical kinetics

                                                16  dielectric and magnetic properties

The content freely available at https://www.maplesoft.com/applications/view.aspx?SID=154267 includes also a published report on teaching mathematics with symbolic software and an interactive periodic chart that yields information about particular chemical elements and their isotopic variants.

            The nature of this electronic interactive textbook makes it applicable with an instructor in a traditional setting, or computer laboratory, for which the material of mathematics for chemistry could be reasonably covered in three or four semesters, but even for self study.  The chapters on quantum mechanics and Fourier transforms are available as separate textbooks in the same format.


New display of arbitrary constants and functions


When using computer algebra, first we want results. Right. And textbook-like typesetting was not fully developed 20+ years ago. So, in the name of getting those results, people somehow got used to the idea of "give up textbook-quality computer algebra display". But computers keep evolving, and nowadays textbook typesetting is fully developed, so we have better typesetting in place. For example, consider this differential equation:


Download New_arbitrary_constants_and_functions.mw

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

Problem statement:
Determine the relativistic uniformly accelerated motion, i.e. the rectilinear motion for which the acceleration w in the proper reference frame (at each instant of time) remains constant.

As an application of the post presented by Dr Cheb Terrab in MaplePrimes on the principle of relativity ( found here ), we solve the problem stated on page 24 of Landau & Lifshitz book [1], which makes use of the relativistic invariant condition of the constancy of a four-scalar, viz., `w__&mu;`*w^mu where w^mu is the four-acceleration. This little problem exemplify beautifully how to use invariance in relativity. This is the so-called hyperbolic motion and we explain why at the end of this worksheet.


let's introduce the coordinate system, X = (x, y, z, tau)with tau = c*t 


Setup(coordinates = [X = (x, y, z, tau)])

[coordinatesystems = {X}]


%d_(s)^2 = g_[lineelement]

%d_(s)^2 = -Physics:-d_(x)^2-Physics:-d_(y)^2-Physics:-d_(z)^2+Physics:-d_(tau)^2





The four-velocity is defined by  u^mu = dx^mu/ds and dx^mu/ds = dx^mu/(c*sqrt(1-v^2/c^2)*dt) 

Define this quantity as a tensor.

Define(u[mu], quiet)

The four velocity can therefore be computing using

u[`~mu`] = d_(X[`~mu`])/%d_(s(tau))

u[`~mu`] = Physics:-d_(Physics:-SpaceTimeVector[`~mu`](X))/%d_(s(tau))



As to the interval d(s(tau)), it is easily obtained from (2) . See Equation (4.1.5)  here with d(diff(tau(x), x)) = d(s(tau)) for in the moving reference frame we have that d(diff(x, x)) = d(diff(y(x), x)) and d(diff(y(x), x)) = d(diff(z(x), x)) and d(diff(z(x), x)) = 0.

 Thus, remembering that the velocity is a function of the time and hence of tau, set

%d_(s(tau)) = d(tau)*sqrt(1-v(tau)^2/c^2)

%d_(s(tau)) = Physics:-d_(tau)*(1-v(tau)^2/c^2)^(1/2)


subs(%d_(s(tau)) = Physics[d_](tau)*(1-v(tau)^2/c^2)^(1/2), u[`~mu`] = Physics[d_](Physics[SpaceTimeVector][`~mu`](X))/%d_(s(tau)))

u[`~mu`] = Physics:-d_(Physics:-SpaceTimeVector[`~mu`](X))/(Physics:-d_(tau)*(1-v(tau)^2/c^2)^(1/2))


Rewriting the right-hand side in components,

lhs(u[`~mu`] = Physics[d_](Physics[SpaceTimeVector][`~mu`](X))/(Physics[d_](tau)*(1-v(tau)^2/c^2)^(1/2))) = Library:-TensorComponents(rhs(u[`~mu`] = Physics[d_](Physics[SpaceTimeVector][`~mu`](X))/(Physics[d_](tau)*(1-v(tau)^2/c^2)^(1/2))))

u[`~mu`] = [Physics:-d_(x)/(Physics:-d_(tau)*(-(v(tau)^2-c^2)/c^2)^(1/2)), Physics:-d_(y)/(Physics:-d_(tau)*(-(v(tau)^2-c^2)/c^2)^(1/2)), Physics:-d_(z)/(Physics:-d_(tau)*(-(v(tau)^2-c^2)/c^2)^(1/2)), 1/(-(v(tau)^2-c^2)/c^2)^(1/2)]


Next we introduce explicitly the 3D velocity components while remembering that the moving reference frame travels along the positive x-axis


simplify(u[`~mu`] = [Physics[d_](x)/(Physics[d_](tau)*(-(v(tau)^2-c^2)/c^2)^(1/2)), Physics[d_](y)/(Physics[d_](tau)*(-(v(tau)^2-c^2)/c^2)^(1/2)), Physics[d_](z)/(Physics[d_](tau)*(-(v(tau)^2-c^2)/c^2)^(1/2)), 1/(-(v(tau)^2-c^2)/c^2)^(1/2)], {d_(x)/d_(tau) = v(tau)/c, d_(y)/d_(tau) = 0, d_(z)/d_(tau) = 0}, {d_(x), d_(y), d_(z)})

u[`~mu`] = [v(tau)/(c*((c^2-v(tau)^2)/c^2)^(1/2)), 0, 0, 1/(-(v(tau)^2-c^2)/c^2)^(1/2)]


Introduce now this explicit definition into the system

Define(u[`~mu`] = [v(tau)/(c*((c^2-v(tau)^2)/c^2)^(1/2)), 0, 0, 1/(-(v(tau)^2-c^2)/c^2)^(1/2)])

{Physics:-Dgamma[mu], Physics:-Psigma[mu], Physics:-d_[mu], Physics:-g_[mu, nu], u[mu], w[`~mu`], w__o[`~mu`], Physics:-LeviCivita[alpha, beta, mu, nu], Physics:-SpaceTimeVector[mu](X)}



Computing the four-acceleration


This quantity is defined by the second derivative w^mu = d^2*x^mu/ds^2 and d^2*x^mu/ds^2 = du^mu/ds and du^mu/ds = du^mu/(c*sqrt(1-v^2/c^2)*dt)

Define this quantity as a tensor.

Define(w[mu], quiet)

Applying the definition just given,

w[`~mu`] = d_(u[`~mu`])/%d_(s(tau))

w[`~mu`] = Physics:-d_[nu](u[`~mu`], [X])*Physics:-d_(Physics:-SpaceTimeVector[`~nu`](X))/%d_(s(tau))


Substituting for d_(s(tau))from (1.2) above

subs(%d_(s(tau)) = Physics[d_](tau)*(1-v(tau)^2/c^2)^(1/2), w[`~mu`] = Physics[d_][nu](u[`~mu`], [X])*Physics[d_](Physics[SpaceTimeVector][`~nu`](X))/%d_(s(tau)))

w[`~mu`] = Physics:-d_[nu](u[`~mu`], [X])*Physics:-d_(Physics:-SpaceTimeVector[`~nu`](X))/(Physics:-d_(tau)*(1-v(tau)^2/c^2)^(1/2))


Introducing now this definition (2.2)  into the system,

Define(w[`~mu`] = Physics[d_][nu](u[`~mu`], [X])*Physics[d_](Physics[SpaceTimeVector][`~nu`](X))/(Physics[d_](tau)*(1-v(tau)^2/c^2)^(1/2)), quiet)

lhs(w[`~mu`] = Physics[d_][nu](u[`~mu`], [X])*Physics[d_](Physics[SpaceTimeVector][`~nu`](X))/(Physics[d_](tau)*(1-v(tau)^2/c^2)^(1/2))) = TensorArray(rhs(w[`~mu`] = Physics[d_][nu](u[`~mu`], [X])*Physics[d_](Physics[SpaceTimeVector][`~nu`](X))/(Physics[d_](tau)*(1-v(tau)^2/c^2)^(1/2))))

w[`~mu`] = Array(%id = 36893488148327765764)


Recalling that tau = c*t, we get


w[`~mu`] = Array(%id = 36893488148324030572)


Introducing anew this definition (2.4)  into the system,



In the proper referential, the velocity of the particle vanishes and the tridimensional acceleration is directed along the positive x-axis, denote its value by `#msub(mi("w"),mn("0"))`

Hence, proceeding to the relevant substitutions and introducing the corresponding definition into the system, the four-acceleration in the proper referential reads

  "Define(`w__o`[~mu]= subs(v(t)=`w__0`, v(t)=0,rhs(?)),quiet):"

w__o[`~mu`] = TensorArray(w__o[`~mu`])

w__o[`~mu`] = Array(%id = 36893488148076604940)



The differential equation solving the problem



Everything is now set up for us to establish the differential equation that will solve our problem. It is at this juncture that we make use of the invariant condition stated in the introduction.

The relativistic invariant condition of uniform acceleration must lie in the constancy of a 4-scalar coinciding with `w__&mu;`*w^mu  in the proper reference frame.

We simply write the stated invariance of the four scalar (d*u^mu*(1/(d*s)))^2 thus:

w[mu]^2 = w__o[mu]^2

w[mu]*w[`~mu`] = w__o[mu]*w__o[`~mu`]


TensorArray(w[mu]*w[`~mu`] = w__o[mu]*w__o[`~mu`])

(diff(v(t), t))^2*c^2/(v(t)^2-c^2)^3 = -w__0^2/c^4



This gives us a first order differential equation for the velocity.


Solving the differential equation for the velocity and computation of the distance travelled



Assuming the proper reference frame is starting from rest, with its origin at that instant coinciding with the origin of the fixed reference frame, and travelling along the positive x-axis, we get successively,


dsolve({(diff(v(t), t))^2*c^2/(v(t)^2-c^2)^3 = -w__0^2/c^4, v(0) = 0})

v(t) = t*c*w__0/(t^2*w__0^2+c^2)^(1/2), v(t) = -t*c*w__0/(t^2*w__0^2+c^2)^(1/2)



As just explained, the motion being along the positive x-axis, we take the first expression.

[v(t) = t*c*w__0/(t^2*w__0^2+c^2)^(1/2), v(t) = -t*c*w__0/(t^2*w__0^2+c^2)^(1/2)][1]

v(t) = t*c*w__0/(t^2*w__0^2+c^2)^(1/2)


This can be rewritten thus

v(t) = w__0*t/sqrt(1+w__0^2*t^2/c^2)

v(t) = w__0*t/(1+w__0^2*t^2/c^2)^(1/2)


It is interesting to note that the ultimate speed reached is the speed of light, as it should be.

`assuming`([limit(v(t) = w__0*t/(1+w__0^2*t^2/c^2)^(1/2), t = infinity)], [w__0 > 0, c > 0])

limit(v(t), t = infinity) = c



The space travelled is simply

x(t) = Int(rhs(v(t) = w__0*t/(1+w__0^2*t^2/c^2)^(1/2)), t = 0 .. t)

x(t) = Int(w__0*t/(1+w__0^2*t^2/c^2)^(1/2), t = 0 .. t)


`assuming`([value(x(t) = Int(w__0*t/(1+w__0^2*t^2/c^2)^(1/2), t = 0 .. t))], [c > 0])

x(t) = c*((t^2*w__0^2+c^2)^(1/2)-c)/w__0


expand(x(t) = c*((t^2*w__0^2+c^2)^(1/2)-c)/w__0)

x(t) = c*(t^2*w__0^2+c^2)^(1/2)/w__0-c^2/w__0


This can be rewritten in the form

x(t) = c^2*(sqrt(1+w__0^2*t^2/c^2)-1)/w__0

x(t) = c^2*((1+w__0^2*t^2/c^2)^(1/2)-1)/w__0



The classical limit corresponds to an infinite velocity of light; this entails an instantaneous propagation of the interactions, as is conjectured in Newtonian mechanics.
The asymptotic development gives,

lhs(x(t) = c^2*((1+w__0^2*t^2/c^2)^(1/2)-1)/w__0) = asympt(rhs(x(t) = c^2*((1+w__0^2*t^2/c^2)^(1/2)-1)/w__0), c, 4)

x(t) = (1/2)*w__0*t^2+O(1/c^2)


As for the velocity, we get

lhs(v(t) = t*c*w__0/(t^2*w__0^2+c^2)^(1/2)) = asympt(rhs(v(t) = t*c*w__0/(t^2*w__0^2+c^2)^(1/2)), c, 2)

v(t) = t*w__0+O(1/c^2)


Thus, the classical laws are recovered.


Proper time



This quantity is given by "t'= &int; dt sqrt(1-(v^(2))/(c^(2)))" the integral being  taken between the initial and final improper instants of time

Here the initial instant is the origin and we denote the final instant of time t.


`#mrow(mi("t"),mo("&prime;"))` = Int(sqrt(1-rhs(v(t) = w__0*t/(1+w__0^2*t^2/c^2)^(1/2))^2/c^2), t = 0 .. t)

`#mrow(mi("t"),mo("&prime;"))` = Int((1-w__0^2*t^2/((1+w__0^2*t^2/c^2)*c^2))^(1/2), t = 0 .. t)


Finally the proper time reads

`assuming`([value(`#mrow(mi("t"),mo("&prime;"))` = Int((1-w__0^2*t^2/((1+w__0^2*t^2/c^2)*c^2))^(1/2), t = 0 .. t))], [w__0 > 0, c > 0, t > 0])

`#mrow(mi("t"),mo("&prime;"))` = arcsinh(t*w__0/c)*c/w__0


When proc (t) options operator, arrow; infinity end proc, the proper time grows much more slowly than t according to the law

`assuming`([lhs(`#mrow(mi("t"),mo("&prime;"))` = arcsinh(t*w__0/c)*c/w__0) = asympt(rhs(`#mrow(mi("t"),mo("&prime;"))` = arcsinh(t*w__0/c)*c/w__0), t, 1)], [w__0 > 0, c > 0])

`#mrow(mi("t"),mo("&prime;"))` = (ln(2*w__0/c)+ln(t))*c/w__0+O(1/t^2)


combine(`#mrow(mi("t"),mo("&prime;"))` = (ln(2*w__0/c)+ln(t))*c/w__0+O(1/t^2), ln, symbolic)

`#mrow(mi("t"),mo("&prime;"))` = ln(2*t*w__0/c)*c/w__0+O(1/t^2)



Evolution of the four-acceleration of the moving frame as observed from the fixed reference frame



To obtain the four-acceleration as a function of time, simply substitute for the 3-velocity (4.3)  in the 4-acceleration (2.4)

" simplify(subs(v(t) = w__0*t/(1+w__0^2*t^2/c^2)^(1/2),?),symbolic)"

w[`~mu`] = Array(%id = 36893488148142539108)


" w[t->infinity]^(  mu)=map(limit,rhs(?),t=infinity) assuming `w__0`>0,c>0"

`#msubsup(mi("w"),mrow(mi("t"),mo("&rarr;"),mo("&infin;")),mrow(mo("&InvisibleTimes;"),mo("&InvisibleTimes;"),mi("&mu;",fontstyle = "normal")))` = Array(%id = 36893488148142506460)


We observe that the non-vanishing components of the four-acceleration of the accelerating reference frame get infinite while those components in the moving reference frame keep their constant values . (2.5)


Evolution of the three-acceleration as observed from the fixed reference frame



This quantity is obtained simply by differentiating the velocity v(t)given by  with respect to the time t.


simplify(diff(v(t) = w__0*t/(1+w__0^2*t^2/c^2)^(1/2), t), size)

diff(v(t), t) = w__0/(1+w__0^2*t^2/c^2)^(3/2)


Here also, it is interesting to note that the three-acceleration tends to zero. This fact was somewhat unexpected.

map(limit, diff(v(t), t) = w__0/(1+w__0^2*t^2/c^2)^(3/2), t = infinity)

limit(diff(v(t), t), t = infinity) = 0



At the beginning of the motion, the acceleration should be w__0, as Newton's mechanics applies then


`assuming`([lhs(diff(v(t), t) = w__0/(1+w__0^2*t^2/c^2)^(3/2)) = series(rhs(diff(v(t), t) = w__0/(1+w__0^2*t^2/c^2)^(3/2)), t = 0, 2)], [c > 0])

diff(v(t), t) = series(w__0+O(t^2),t,2)



Justification of the name hyperbolic motion



Recall the expressions for x and diff(t(x), x)and obtain a parametric description of a curve, with diff(t(x), x)as parameter. This curve will turn out to be a hyperbola.

subs(x(t) = x, x(t) = c^2*((1+w__0^2*t^2/c^2)^(1/2)-1)/w__0)

x = c^2*((1+w__0^2*t^2/c^2)^(1/2)-1)/w__0


`#mrow(mi("t"),mo("&prime;"))` = arcsinh(t*w__0/c)*c/w__0

`#mrow(mi("t"),mo("&prime;"))` = arcsinh(t*w__0/c)*c/w__0


The idea is to express the variables x and t in terms of diff(t(x), x).


isolate(`#mrow(mi("t"),mo("&prime;"))` = arcsinh(t*w__0/c)*c/w__0, t)

t = sinh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c)*c/w__0


subs(t = sinh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c)*c/w__0, x = c^2*((1+w__0^2*t^2/c^2)^(1/2)-1)/w__0)

x = c^2*((1+sinh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c)^2)^(1/2)-1)/w__0


`assuming`([simplify(x = c^2*((1+sinh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c)^2)^(1/2)-1)/w__0)], [positive])

x = c^2*(cosh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c)-1)/w__0


We now show that the equations (8.3) and (8.5) are parametric equations of a hyperbola with parameter the proper time diff(t(x), x)


Recall the hyperbolic trigonometric identity

cosh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c)^2-sinh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c)^2 = 1

cosh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c)^2-sinh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c)^2 = 1


Then isolating the sinh and the cosh from equations (8.3) and (8.5),


isolate(t = sinh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c)*c/w__0, sinh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c))

sinh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c) = t*w__0/c


isolate(x = c^2*(cosh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c)-1)/w__0, cosh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c))

cosh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c) = x*w__0/c^2+1


and substituting these in (8.6) , we get the looked-for Cartesian equation


subs(sinh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c) = t*w__0/c, cosh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c) = x*w__0/c^2+1, cosh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c)^2-sinh(`#mrow(mi("t"),mo("&prime;"))`*w__0/c)^2 = 1)

(x*w__0/c^2+1)^2-w__0^2*t^2/c^2 = 1



This is the Cartesian equation of a hyperbola, hence the name hyperbolic motion




[1] Landau, L.D., and Lifshitz, E.M. The Classical Theory of Fields, Course of Theoretical Physics Volume 2, fourth revised English edition. Elsevier, 1975.


Download Uniformly_accelerated_motion.mw

Paulina Chin of Maplesoft and I are pleased to annouce Maple Transactions Volume 2 Issue 1, the Proceedings of the 2021 Maple Conference.

Articles can be found at mapletransactions.org

Some articles are written directly in Maple and are published via the Maple Cloud.  There is also a Demo Video by Michael Monagan of his new GCD code.  There are articles on Math Education, on Applications of Maple, on software, and on mathematics research.  We draw particular attention to the article by Veselin Jungic, 3M Teaching Fellow at SFU and a Fellow of the Canadian Math Society, on Indigenising mathematics.  We hope that, as members of the Maple Community, you find much of interest.

Best wishes,

Rob Corless, Editor-in-Chief

Maple Transactions

Forest of ethnomathematics and its root.  Colourful natural trees growing in a forest above ground while below ground is a colourful mathematical tree going to a single glowing root


New generalized unit vectors in Physics:-Vectors


The Physics:-Vectors package, written many years ago to teach Vector Analysis to 1st year undergrad students in Physics courses, introduces several things that are unique in computer algebra software. Briefly, this package has the ability to compute sums, dot and cross products, and differentiation with


abstract vectors, like `#mover(mi("A"),mo("&rarr;"))` or `#mover(mi("A"),mo("&rarr;"))`(x, y, z), symbols or functions with an arrow on top that indicates to the system that they are vectors, not scalars;


projected vectors of algebraic (non-matrix) type in any of the Cartesian, cylindrical or spherical basis and/or associated systems of coordinates, including for that purpose an implementation of the corresponding unit vectors of the three bases;


abstract or projected differential operators that involve Nabla, Gradient, Divergence, Laplacian and Curl;


inert vectors or vectorial differential operators, including related expansion of operations and simplification; 


path, surface and volume vector integrals.


In addition to the above, the display is as in textbooks, the input resembles paper and pencil handwriting, and examples of the use of Physics:-Vectors in Vector Analysis are presented in the Physics,Examples page.


Download New_generalized_unit_vectors.mw

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

Einstein's principle of relativity


The main difference between Newtonian mechanics and the mechanics based on Einstein's principle of relativity is that in the latter the velocity of light, c, is the same in all inertial reference systems. Therefore, when comparing the velocity of an object measured in two reference systems 1 and 2 that are moving relative to each other, the Newtonian rule of addition of velocities, v__2_ = v__1_+v__R_, where v__R_ is the velocity of one system with respect to the other one, is not valid; if it were, the speed v__1_ and v__2_ of light in the systems 1 and 2 would not be the same. This introduces surprising conceptual consequences, and algebraic complications in the formulas relating the values of measurements, in the systems 1 and 2, of time, space and everything else that is related to that.


This post is thus about Einstein's principle of relativity and the consequences of the velocity of light being the same in all inertial reference systems. Although the topic is often considered advanced, the concepts, as shocking as they are, are easy to understand, and the algebra is still tractable in simple terms. The presentation, following Landau & Lifshitz [1], Chapter 1, is at a basic level, with no prerequisite expertise required, and illustrates well how to handle the basic algebraic aspects of special relativity using computer algebra.


Finally, it seems to me not useful to just present the algebra when the concepts behind Einstein's theory are straightforward and surprising. For that reason, the short sections 1 and 2 are all about these concepts, and the algebra only starts in section 3, with the Lorentz transformations (which was recently the topic of a Mapleprimes post at a more advanced level ). To reproduce the computations shown in this worksheet, please install the Maplesoft Physics Updates v.1314 or any subsequent version.


Download Einstens_principle_of_relativity.mw

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft


Welcome back to another blog post, Maple Learn enthusiasts! Today we’re going to go through a concept and see what documents are available to help you learn the concept. What concept? Blood typing!

You may have gotten your blood tested before, but do you know the science behind blood types? Have you ever thought about it, even? Well, if not, you’re in the right place! Let’s take a look at some of the concepts you need to know before looking deeper into blood typing.

First, what are genotypes and phenotypes? Did you notice those terms had links attached to them? We have Maple Learn documents on this topic, shown below. Take a moment to read them over before we continue, but to summarize: A genotype is the genetic makeup within a trait, whereas a phenotype is the displayed trait. Another important term to recognize is allele – the specific variations of genes that are involved in the genotype.