Skip to main content
Mathematics LibreTexts

9.3: Systems of Nonlinear Equations and Inequalities - Two Variables

  • Page ID
    1385
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)
    Learning Objectives
    • Solve a system of nonlinear equations using substitution.
    • Solve a system of nonlinear equations using elimination.
    • Graph a nonlinear inequality.
    • Graph a system of nonlinear inequalities.

    Halley’s Comet (Figure \(\PageIndex{1}\)) orbits the sun about once every \(75\) years. Its path can be considered to be a very elongated ellipse. Other comets follow similar paths in space. These orbital paths can be studied using systems of equations. These systems, however, are different from the ones we considered in the previous section because the equations are not linear.

    CNX_Precalc_Figure_09_03_001.jpg

    Figure \(\PageIndex{1}\): Halley’s Comet (credit: "NASA Blueshift"/Flickr)

    In this section, we will consider the intersection of a parabola and a line, a circle and a line, and a circle and an ellipse. The methods for solving systems of nonlinear equations are similar to those for linear equations.

    Solving a System of Nonlinear Equations Using Substitution

    A system of nonlinear equations is a system of two or more equations in two or more variables containing at least one equation that is not linear. Recall that a linear equation can take the form \(Ax+By+C=0\). Any equation that cannot be written in this form in nonlinear. The substitution method we used for linear systems is the same method we will use for nonlinear systems. We solve one equation for one variable and then substitute the result into the second equation to solve for another variable, and so on. There is, however, a variation in the possible outcomes.

    Intersection of a Parabola and a Line

    There are three possible types of solutions for a system of nonlinear equations involving a parabola and a line.

    Possible Types of Solutions For Points of Intersection of a Parabola and a Line

    Figure \(\PageIndex{2}\) illustrates possible solution sets for a system of equations involving a parabola and a line.

    • No solution - The line will never intersect the parabola.
    • One solution - The line is tangent to the parabola and intersects the parabola at exactly one point.
    • Two solutions - The line crosses on the inside of the parabola and intersects the parabola at two points.

    151131601187915.png

    Figure \(\PageIndex{2}\)

    How to: Given a system of equations containing a line and a parabola, find the solution
    1. Solve the linear equation for one of the variables.
    2. Substitute the expression obtained in step one into the parabola equation.
    3. Solve for the remaining variable.
    4. Check your solutions in both equations.
    Example \(\PageIndex{1}\): Solving a System of Nonlinear Equations Representing a Parabola and a Line

    Solve the system of equations.

    \[\begin{align*} x−y &= −1\nonumber \\ y &= x^2+1 \nonumber \end{align*}\]

    Solution

    Solve the first equation for \(x\) and then substitute the resulting expression into the second equation.

    \[\begin{align*} x−y &=−1\nonumber \\ x &= y−1 \;\; & \text{Solve for }x.\nonumber \\\nonumber \\ y &=x^2+1\nonumber \\ y & ={(y−1)}^2+1 \;\; & \text{Substitute expression for }x. \nonumber \end{align*}\]

    Expand the equation and set it equal to zero.

    \[ \begin{align*} y & ={(y−1)}^2+1\nonumber \\ &=(y^2−2y+1)+1\nonumber \\ &=y^2−2y+2\nonumber \\ 0 &= y^2−3y+2\nonumber \\ &= (y−2)(y−1) \nonumber \end{align*}\]

    Solving for \(y\) gives \(y=2\) and \(y=1\). Next, substitute each value for \(y\) into the first equation to solve for \(x\). Always substitute the value into the linear equation to check for extraneous solutions.

    \[\begin{align*} x−y &=−1\nonumber \\ x−(2) &= −1\nonumber \\ x &= 1\nonumber \\ x−(1) &=−1\nonumber \\ x &= 0 \nonumber \end{align*}\]

    The solutions are \((1,2)\) and \((0,1)\),which can be verified by substituting these \((x,y)\) values into both of the original equations (Figure \(\PageIndex{3}\)).

    imageedit_2_8582923434.png

    Figure \(\PageIndex{3}\)

    Q&A: Could we have substituted values for \(y\) into the second equation to solve for \(x\) in last example?

    Yes, but because \(x\) is squared in the second equation this could give us extraneous solutions for \(x\).

    For \(y=1\)

    \[\begin{align*} y &= x^2+1\nonumber \\ y &= x^2+1\nonumber \\ x^2 &= 0\nonumber \\ x &= \pm \sqrt{0}=0 \nonumber \end{align*}\]

    This gives us the same value as in the solution.

    For \(y=2\)

    \[\begin{align*} y &= x^2+1\nonumber \\ 2 &= x^2+1\nonumber \\ x^2 &= 1\nonumber \\ x &= \pm \sqrt{1}=\pm 1 \nonumber \end{align*}\]

    Notice that \(−1\) is an extraneous solution.

    Exercise \(\PageIndex{1}\)

    Solve the given system of equations by substitution.

    \[\begin{align*} 3x−y &= −2\nonumber \\ 2x^2−y &= 0 \nonumber \end{align*}\]

    Answer

    \(\left(−\dfrac{1}{2},\dfrac{1}{2}\right)\) and \((2,8)\)

    Intersection of a Circle and a Line

    Just as with a parabola and a line, there are three possible outcomes when solving a system of equations representing a circle and a line.

    POSSIBLE TYPES OF SOLUTIONS FOR THE POINTS OF INTERSECTION OF A CIRCLE AND A LINE

    Figure \(\PageIndex{4}\) illustrates possible solution sets for a system of equations involving a circle and a line.

    • No solution - The line does not intersect the circle.
    • One solution - The line is tangent to the circle and intersects the circle at exactly one point.
    • Two solutions - The line crosses the circle and intersects it at two points.

    11.4.1.png

    Figure \(\PageIndex{4}\)

    How to: Given a system of equations containing a line and a circle, find the solution
    1. Solve the linear equation for one of the variables.
    2. Substitute the expression obtained in step one into the equation for the circle.
    3. Solve for the remaining variable.
    4. Check your solutions in both equations.
    Example \(\PageIndex{2}\): Finding the Intersection of a Circle and a Line by Substitution

    Find the intersection of the given circle and the given line by substitution.

    \[\begin{align*} x^2+y^2 &= 5\nonumber \\ y &= 3x−5 \nonumber \end{align*}\]

    Solution

    One of the equations has already been solved for \(y\). We will substitute \(y=3x−5\) into the equation for the circle.

    \[\begin{align*} x^2+{(3x−5)}^2 &= 5\nonumber \\ x^2+9x^2−30x+25 &= 5\nonumber \\ 10x^2−30x+20 &= 0 \end{align*} \]

    Now, we factor and solve for \(x\).

    \[\begin{align*} 10(x2−3x+2) &= 0\nonumber \\ 10(x−2)(x−1) &= 0\nonumber \\ x &= 2\nonumber \\ x &= 1 \nonumber \end{align*}\]

    Substitute the two \(x\)-values into the original linear equation to solve for \(y\).

    \[\begin{align*} y &= 3(2)−5\nonumber \\ &= 1\nonumber \\ y &= 3(1)−5\nonumber \\ &= −2 \nonumber \end{align*}\]

    The line intersects the circle at \((2,1)\) and \((1,−2)\),which can be verified by substituting these \((x,y)\) values into both of the original equations (Figure \(\PageIndex{5}\)).

    11.4.5.png

    Figure \(\PageIndex{5}\)

    Exercise \(\PageIndex{2}\)

    Solve the system of nonlinear equations.

    \[\begin{align*} x^2+y^2 &= 10\nonumber \\ x−3y &= −10 \nonumber \end{align*}\]

    Answer

    \((−1,3)\)

    Solving a System of Nonlinear Equations Using Elimination

    We have seen that substitution is often the preferred method when a system of equations includes a linear equation and a nonlinear equation. However, when both equations in the system have like variables of the second degree, solving them using elimination by addition is often easier than substitution. Generally, elimination is a far simpler method when the system involves only two equations in two variables (a two-by-two system), rather than a three-by-three system, as there are fewer steps. As an example, we will investigate the possible types of solutions when solving a system of equations representing a circle and an ellipse.

    POSSIBLE TYPES OF SOLUTIONS FOR THE POINTS OF INTERSECTION OF A CIRCLE AND AN ELLIPSE

    Figure \(\PageIndex{6}\) illustrates possible solution sets for a system of equations involving a circle and an ellipse.

    • No solution - The circle and ellipse do not intersect. One shape is inside the other or the circle and the ellipse are a distance away from the other.
    • One solution - The circle and ellipse are tangent to each other, and intersect at exactly one point.
    • Two solutions - The circle and the ellipse intersect at two points.
    • Three solutions - The circle and the ellipse intersect at three points.
    • Four solutions - The circle and the ellipse intersect at four points.

    11.4.6.png

    Figure \(\PageIndex{6}\)

    Example \(\PageIndex{3}\): Solving a System of Nonlinear Equations Representing a Circle and an Ellipse

    Solve the system of nonlinear equations.

    \[\begin{align*} x^2+y^2 &= 26 &(1)\nonumber \\ 3x^2+25y^2 &= 100 & (2) \nonumber \end{align*}\]

    Solution

    Let’s begin by multiplying equation (1) by \(−3\),and adding it to equation (2).

    \[\begin{align*} (−3)(x^2+y^2) = (−3)(26)&\nonumber \\ −3x^2−3y^2 = −78 &\nonumber \\ \underline{3x^2+25y^2=100}&\nonumber \\ 22y^2=22& \nonumber \end{align*}\]

    After we add the two equations together, we solve for \(y\).

    \[\begin{align*} y^2 &= 1\nonumber \\ y &= \pm \sqrt{1}=\pm 1 \nonumber \end{align*}\]

    Substitute \(y=\pm 1\) into one of the equations and solve for \(x\).

    \[\begin{align*} x^2+{(1)}^2 &= 26\nonumber \\ x^2+1 &= 26\nonumber \\ x^2 &= 25\nonumber \\ x &= \pm \sqrt{25}=\pm 5\nonumber \\ x^2+{(−1)}^2 &= 26\nonumber \\ x^2+1 &= 26\nonumber \\ x^2 &= \pm \sqrt{25}=\pm 5 \nonumber \end{align*}\]

    There are four solutions: \((5,1)\), \((−5,1)\), \((5,−1)\),and \((−5,−1)\). See Figure \(\PageIndex{7}\).

    22.4.7.png

    Figure \(\PageIndex{7}\)

    Exercise \(\PageIndex{3}\)

    Find the solution set for the given system of nonlinear equations.

    \[\begin{align*} 4x^2+y^2 &= 13\nonumber \\ x^2+y^2 &= 10 \nonumber \end{align*}\]

    Answer

    \({(1,3),(1,−3),(−1,3),(−1,−3)}\)

    Graphing a Nonlinear Inequality

    All of the equations in the systems that we have encountered so far have involved equalities, but we may also encounter systems that involve inequalities. We have already learned to graph linear inequalities by graphing the corresponding equation, and then shading the region represented by the inequality symbol. Now, we will follow similar steps to graph a nonlinear inequality so that we can learn to solve systems of nonlinear inequalities. A nonlinear inequality is an inequality containing a nonlinear expression. Graphing a nonlinear inequality is much like graphing a linear inequality.

    Recall that when the inequality is greater than, \(y>a\),or less than, \(y<a\),the graph is drawn with a dashed line. When the inequality is greater than or equal to, \(y≥a\),or less than or equal to, \(y≤a\),the graph is drawn with a solid line. The graphs will create regions in the plane, and we will test each region for a solution. If one point in the region works, the whole region works. That is the region we shade (Figure \(\PageIndex{8}\)).

    CNX_Precalc_Figure_09_03_009.jpg

    Figure \(\PageIndex{8}\): (a) an example of \(y>a\); (b) an example of \(y≥a\); (c) an example of \(y<a\); (d) an example of \(y≤a\)

    How to: Given an inequality bounded by a parabola, sketch a graph
    1. Graph the parabola as if it were an equation. This is the boundary for the region that is the solution set.
    2. If the boundary is included in the region (the operator is \(≤\) or \(≥\)), the parabola is graphed as a solid line.
    3. If the boundary is not included in the region (the operator is \(<\) or \(>\)), the parabola is graphed as a dashed line.
    4. Test a point in one of the regions to determine whether it satisfies the inequality statement. If the statement is true, the solution set is the region including the point. If the statement is false, the solution set is the region on the other side of the boundary line.
    5. Shade the region representing the solution set.
    Example \(\PageIndex{4}\): Graphing an Inequality for a Parabola

    Graph the inequality \(y>x^2+1\).

    Solution

    First, graph the corresponding equation \(y=x^2+1\). Since \(y>x^2+1\) has a greater than symbol, we draw the graph with a dashed line. Then we choose points to test both inside and outside the parabola. Let’s test the points

    \((0,2)\) and \((2,0)\). One point is clearly inside the parabola and the other point is clearly outside.

    \[\begin{align*} y &> x^2+1\nonumber \\ 2 &> (0)^2+1\nonumber \\ 2 &>1 & \text{True}\nonumber \\\nonumber \\\nonumber \\ 0 &> (2)^2+1\nonumber \\ 0 &> 5 & \text{False} \nonumber \end{align*}\]

    The graph is shown in Figure \(\PageIndex{9}\). We can see that the solution set consists of all points inside the parabola, but not on the graph itself.

    imageedit_6_4849582791.png

    Figure \(\PageIndex{9}\)

    Graphing a System of Nonlinear Inequalities

    Now that we have learned to graph nonlinear inequalities, we can learn how to graph systems of nonlinear inequalities. A system of nonlinear inequalities is a system of two or more inequalities in two or more variables containing at least one inequality that is not linear. Graphing a system of nonlinear inequalities is similar to graphing a system of linear inequalities. The difference is that our graph may result in more shaded regions that represent a solution than we find in a system of linear inequalities. The solution to a nonlinear system of inequalities is the region of the graph where the shaded regions of the graph of each inequality overlap, or where the regions intersect, called the feasible region.

    How to: Given a system of nonlinear inequalities, sketch a graph
    1. Find the intersection points by solving the corresponding system of nonlinear equations.
    2. Graph the nonlinear equations.
    3. Find the shaded regions of each inequality.
    4. Identify the feasible region as the intersection of the shaded regions of each inequality or the set of points common to each inequality.
    Example \(\PageIndex{5}\): Graphing a System of Inequalities

    Graph the given system of inequalities.

    \[\begin{align*} x^2−y &≤ 0\nonumber \\ 2x^2+y &≤ 12 \nonumber \end{align*}\]

    Solution

    These two equations are clearly parabolas. We can find the points of intersection by the elimination process: Add both equations and the variable \(y\) will be eliminated. Then we solve for \(x\).

    \[\begin{align*} x^2−y = 0&\nonumber \\ \underline{2x^2+y=12}&\nonumber \\ 3x^2=12&\nonumber \\ x^2=4 &\nonumber \\ x=\pm 2 & \nonumber \end{align*}\]

    Substitute the \(x\)-values into one of the equations and solve for \(y\).

    \[\begin{align*} x^2−y &= 0\nonumber \\ {(2)}^2−y &= 0\nonumber \\ 4−y &= 0\nonumber \\ y &= 4\nonumber \\\nonumber \\ {(−2)}^2−y &= 0\nonumber \\ 4−y &= 0\nonumber \\ y &= 4 \nonumber \end{align*}\]

    The two points of intersection are \((2,4)\) and \((−2,4)\). Notice that the equations can be rewritten as follows.

    \[\begin{align*} x^2-y & ≤ 0\nonumber \\ x^2 &≤ y\nonumber \\ y &≥ x^2\nonumber \\\nonumber \\\nonumber \\ 2x^2+y &≤ 12\nonumber \\ y &≤ −2x^2+12 \nonumber \end{align*}\]

    Graph each inequality. See Figure \(\PageIndex{10}\). The feasible region is the region between the two equations bounded by \(2x^2+y≤12\) on the top and \(x^2−y≤0\) on the bottom.

    imageedit_10_9451914448.png

    Figure \(\PageIndex{10}\)

    Exercise \(\PageIndex{5}\)

    Graph the given system of inequalities.

    \[\begin{align*} y &≥ x^2−1\nonumber \\ x−y &≥ −1 \nonumber \end{align*}\]

    Answer

    Shade the area bounded by the two curves, above the quadratic and below the line.

    imageedit_14_4168208882.png

    Figure \(\PageIndex{11}\)

    Media

    Access these online resources for additional instruction and practice with nonlinear equations.

    Key Concepts

    • There are three possible types of solutions to a system of equations representing a line and a parabola: (1) no solution, the line does not intersect the parabola; (2) one solution, the line is tangent to the parabola; and (3) two solutions, the line intersects the parabola in two points. See Example \(\PageIndex{1}\).
    • There are three possible types of solutions to a system of equations representing a circle and a line: (1) no solution, the line does not intersect the circle; (2) one solution, the line is tangent to the parabola; (3) two solutions, the line intersects the circle in two points. See Example \(\PageIndex{2}\).
    • There are five possible types of solutions to the system of nonlinear equations representing an ellipse and a circle:
      (1) no solution, the circle and the ellipse do not intersect; (2) one solution, the circle and the ellipse are tangent to each other; (3) two solutions, the circle and the ellipse intersect in two points; (4) three solutions, the circle and ellipse intersect in three places; (5) four solutions, the circle and the ellipse intersect in four points. See Example \(\PageIndex{3}\).
    • An inequality is graphed in much the same way as an equation, except for > or <, we draw a dashed line and shade the region containing the solution set. See Example \(\PageIndex{4}\).
    • Inequalities are solved the same way as equalities, but solutions to systems of inequalities must satisfy both inequalities. See Example \(\PageIndex{5}\).

    Contributors and Attributions


    This page titled 9.3: Systems of Nonlinear Equations and Inequalities - Two Variables is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by OpenStax via source content that was edited to the style and standards of the LibreTexts platform.