Last Updated June 15, 2026
Functions of several variables extend calculus from single-input change to interacting systems, where outcomes depend on multiple conditions at once. Instead of asking how \(y=f(x)\) changes as one input changes, multivariable calculus asks how \(z=f(x,y)\), \(u=f(x_1,x_2,\ldots,x_n)\), or a system output changes across many interacting dimensions. This shift is essential for systems modeling because most real systems do not respond to one variable in isolation.
Environmental outcomes depend on temperature, precipitation, land use, emissions, and feedback. Public health outcomes depend on exposure, immunity, behavior, infrastructure, policy, and time. Economic outcomes depend on prices, wages, interest rates, expectations, constraints, and institutions. Infrastructure performance depends on demand, capacity, routing, maintenance, shocks, and cascading dependencies. Functions of several variables give modelers a formal language for representing those joint dependencies.
This article introduces functions of several variables as the foundation of multivariable calculus for systems modeling. It examines domains, ranges, surfaces, level curves, input spaces, interaction, constraints, local neighborhoods, visualization, computational representation, and responsible interpretation. The goal is not only to define multivariable functions, but to show why they matter for modeling complex systems.

Single-variable calculus studies change along a line. Multivariable calculus studies change across spaces. This matters because systems rarely have one cause, one driver, or one independent condition. A model output may change because one input changes, because several inputs change together, because inputs interact, or because the system crosses a boundary where a relationship no longer applies.
Why Functions of Several Variables Matter
Functions of several variables matter because complex systems respond to multiple inputs simultaneously. A single-input model can be useful for isolating a relationship, but it often hides interaction, constraint, substitution, feedback, and tradeoff. Multivariable functions make those relationships explicit by representing outputs as functions of several inputs.
A two-input function has the form:
z=f(x,y)
\]
Interpretation: The output \(z\) depends jointly on inputs \(x\) and \(y\).
A many-input function has the form:
u=f(x_1,x_2,\ldots,x_n)
\]
Interpretation: The output \(u\) depends on an input vector with \(n\) components.
This shift from one input to many inputs changes the modeling problem. The modeler must now ask which variables are included, which are omitted, which inputs are independent, which are constrained, which interact, and where the function is valid. The result is not merely a more complicated formula. It is a richer representation of system structure.
| Modeling question | Single-variable framing | Several-variable framing |
|---|---|---|
| How does output change? | As one input changes. | As one or many inputs change together. |
| What is sensitivity? | Slope along one axis. | Directional and partial sensitivity across input space. |
| What is the valid domain? | An interval. | A region, surface, constraint set, or feasible space. |
| What is interaction? | Usually hidden or absent. | Represented through cross terms, nonlinear structure, and combined effects. |
| How is behavior visualized? | Curve. | Surface, contour map, level set, parameter grid, or projection. |
Functions of several variables therefore provide the conceptual foundation for partial derivatives, gradients, Jacobians, Hessians, constrained optimization, multiple integrals, vector calculus, and many computational modeling workflows.
What Is a Function of Several Variables?
A function of several variables assigns one output to each allowed combination of inputs. For two inputs, the function may be written as:
f:\mathbb{R}^2\to\mathbb{R}
\]
Interpretation: The function takes a pair of real-valued inputs and returns one real-valued output.
For many inputs, the function may be written as:
f:\mathbb{R}^n\to\mathbb{R}
\]
Interpretation: The function maps an \(n\)-dimensional input vector to a scalar output.
For example, a simple production, risk, exposure, or response model might be written as:
f(x,y)=3x+2y+0.5xy
\]
Interpretation: The output depends on each input separately and on their interaction through the product term \(xy\).
The function notation hides an important modeling choice: what counts as an input? Some inputs are variables. Some are parameters. Some are fixed assumptions. Some are background conditions. A model may write \(z=f(x,y)\), but its output may also depend on hidden assumptions about time, scale, units, boundary conditions, measurement, or institutional context.
In systems modeling, a function of several variables is often best understood as a formal representation of dependency. It says that the modeled output is being explained, approximated, or computed through a chosen set of inputs. That choice should be documented.
Input Spaces, Domains, and Ranges
The domain of a multivariable function is the set of input combinations for which the function is defined and meaningful. In single-variable calculus, a domain is often an interval. In multivariable calculus, a domain may be a plane region, a three-dimensional volume, a constrained surface, a parameter box, or a more complicated feasible set.
D=\{(x,y):\text{the function }f(x,y)\text{ is defined and meaningful}\}
\]
Interpretation: The domain is the set of allowable input pairs.
The range is the set of possible output values:
\text{Range}(f)=\{f(x,y):(x,y)\in D\}
\]
Interpretation: The range is the set of outputs produced by allowable inputs.
Modeling domains are not purely mathematical. A formula may be defined for many input values that make no real-world sense. A population cannot be negative. A percentage may need to stay between \(0\) and \(100\). A concentration may be nonnegative. A policy scenario may be infeasible. A physical system may be bounded by capacity. A statistical model may be valid only inside the region represented by the data.
| Domain type | Mathematical example | Modeling meaning |
|---|---|---|
| Rectangular domain | \(0\leq x\leq 10,\;0\leq y\leq 5\) | Inputs vary independently within fixed bounds. |
| Constraint domain | \(x+y\leq 100\) | Inputs share a limited resource or capacity. |
| Nonnegative domain | \(x\geq 0,\;y\geq 0\) | Inputs represent quantities that cannot be negative. |
| Empirical domain | Observed data region | The function is supported only where data exist. |
| Operational domain | Normal operating conditions | The function is valid only within a system’s intended regime. |
A responsible multivariable model should distinguish mathematical domain from modeling domain. A formula may be computable outside the valid system region, but that does not make the result meaningful.
Surfaces and Higher-Dimensional Graphs
A function \(z=f(x,y)\) can be visualized as a surface in three-dimensional space. Each input pair \((x,y)\) corresponds to a height \(z\). The graph is:
\{(x,y,z):z=f(x,y)\}
\]
Interpretation: The graph of a two-variable scalar function is a surface in three-dimensional space.
Surfaces help modelers see how output changes across two inputs. Peaks may indicate high-risk or high-output regions. Valleys may indicate low-response regions. Ridges may show tradeoff pathways. Flat areas may show insensitivity. Steep regions may show high sensitivity. Curvature may reveal nonlinear response.
However, surfaces have limits. They work well for two inputs and one output, but many systems include more than two inputs. A function with three or more inputs cannot be fully visualized as a simple surface. Modelers then use slices, projections, contour maps, parameter grids, pairwise plots, dimensional reduction, sensitivity sweeps, or interactive visualization.
| Visualization | Best for | Limitation |
|---|---|---|
| Surface plot | Two inputs and one scalar output. | Cannot directly show many-input structure. |
| Contour plot | Level sets across two inputs. | Requires interpretation of equal-output regions. |
| Heat map | Grid-based response over two inputs. | May hide gradients or curvature. |
| Slice plot | One or two inputs while holding others fixed. | Depends on fixed values chosen for omitted dimensions. |
| Sensitivity grid | Exploring parameter combinations. | May become large and difficult to interpret. |
The key modeling lesson is that visualization is also a form of approximation. A surface or contour map can clarify structure, but it shows only selected dimensions of the full input space.
Level Curves, Level Surfaces, and Contours
A level curve is the set of input points where a two-variable function has the same output value:
f(x,y)=c
\]
Interpretation: A level curve connects input combinations that produce the same output \(c\).
For a function of three variables, a level surface has the form:
f(x,y,z)=c
\]
Interpretation: A level surface represents all input triples that produce the same scalar output.
Level sets are powerful in systems modeling because they show equivalence, tradeoff, and constraint. Different combinations of emissions and mitigation may produce the same temperature outcome. Different combinations of load and capacity may produce the same congestion risk. Different combinations of price and income may produce the same demand. Different combinations of exposure and vulnerability may produce the same harm level.
| Level-set concept | Systems interpretation | Question it helps answer |
|---|---|---|
| Equal output | Different input combinations produce the same outcome. | What tradeoffs preserve the same result? |
| Threshold contour | A boundary separates acceptable and unacceptable outcomes. | Where does the system cross a critical level? |
| Risk contour | Inputs combine to produce equal risk. | Which combinations are equally dangerous? |
| Feasibility boundary | Allowed and disallowed input combinations are separated. | Which scenarios are possible? |
| Policy target curve | Many strategies may meet the same target. | What combinations achieve the goal? |
Level curves and contours often communicate multivariable functions more clearly than three-dimensional surfaces. They are especially useful when the modeler needs to compare tradeoffs, thresholds, or feasible pathways.
Interaction Between Inputs
Interaction means the effect of one input depends on the value of another input. In a purely additive function such as:
f(x,y)=a x+b y
\]
Interpretation: Each input contributes independently and additively to the output.
the contribution of \(x\) does not depend on \(y\). But in a function with an interaction term:
f(x,y)=a x+b y+cxy
\]
Interpretation: The term \(cxy\) means the combined effect of \(x\) and \(y\) is not just the sum of separate effects.
Interaction is central to systems modeling. A rainfall event may produce little harm in one land-use condition and severe harm in another. A policy may work differently depending on institutional capacity. A health exposure may be more dangerous for vulnerable populations. A network shock may be manageable at low demand and catastrophic near capacity. Interaction terms help represent these combined effects.
Interaction can be linear, nonlinear, threshold-based, multiplicative, conditional, or dynamic. It can also be hidden. A model may appear additive because interactions were omitted, not because they do not exist.
| Interaction type | Example structure | Modeling meaning |
|---|---|---|
| Additive | \(a x+b y\) | Inputs contribute separately. |
| Multiplicative | \(cxy\) | The effect of one input depends on the other. |
| Curved interaction | \(x^2y\), \(xy^2\) | Interaction changes with scale or intensity. |
| Threshold interaction | Different rule when \(x+y>k\) | System behavior changes after a boundary. |
| Dynamic interaction | Inputs influence each other over time. | Feedback and delay shape response. |
A multivariable function should therefore be read not only for its individual variables but for the relationships among variables.
Constraints and Feasible Regions
Many multivariable functions are meaningful only under constraints. Constraints limit the input combinations that can occur or that should be considered. A budget constraint, capacity constraint, conservation law, physical boundary, legal condition, ethical boundary, or data-support region may restrict the feasible space.
A constrained domain might look like:
D=\{(x,y):x\geq 0,\;y\geq 0,\;x+y\leq B\}
\]
Interpretation: Inputs must be nonnegative and jointly limited by a total budget or capacity \(B\).
Constraints are not afterthoughts. They shape the function’s interpretation. A model output may increase when both inputs increase, but if the inputs share a limited resource, increasing one may require decreasing another. A risk model may be defined over many combinations, but only some combinations may be plausible. A policy model may identify a high-performing input combination that is politically, legally, physically, or ethically infeasible.
| Constraint type | Modeling example | Interpretive effect |
|---|---|---|
| Budget constraint | Total spending cannot exceed available resources. | Inputs compete. |
| Capacity constraint | Infrastructure load cannot exceed maximum capacity. | Feasible and overloaded regions are separated. |
| Physical constraint | Mass, energy, or material must be conserved. | Input combinations must respect system laws. |
| Data constraint | Model is calibrated only over observed ranges. | Extrapolation requires warning. |
| Ethical constraint | Some interventions are not acceptable. | Mathematical optimum may not be legitimate. |
Functions of several variables become more responsible when they are paired with explicit feasible regions. A formula without a feasible domain can invite impossible or misleading scenarios.
Local Neighborhoods and Reference States
Multivariable calculus often studies behavior near a reference point. Instead of a center \(a\) on a line, the reference state may be a point \((a,b)\), a vector \(\mathbf{x}_0\), or an equilibrium state in a larger system.
\mathbf{x}_0=(x_{1,0},x_{2,0},\ldots,x_{n,0})
\]
Interpretation: A reference state is a point in input space around which local behavior is analyzed.
A local neighborhood contains points near that reference state:
\|\mathbf{x}-\mathbf{x}_0\|<\varepsilon
\]
Interpretation: Inputs remain within a small distance \(\varepsilon\) of the reference state.
This idea prepares for partial derivatives, gradients, Jacobians, Hessians, local approximation, and stability analysis. It also supports responsible modeling because many multivariable claims are local. A model may describe behavior near a baseline, equilibrium, calibration region, normal operating condition, or policy scenario. That does not mean the same behavior holds across all possible combinations of inputs.
In systems modeling, reference states should be named. Is the point a baseline scenario? A historical average? A current operating condition? A policy target? A steady state? A calibration center? The meaning of local analysis depends on that choice.
Systems Modeling Interpretation
Functions of several variables are not merely a mathematical generalization. They are a way to represent system dependency. They help modelers ask how outcomes depend on multiple drivers, how those drivers interact, which combinations are feasible, which regions are risky, which variables dominate in different contexts, and where local approximations can be trusted.
A multivariable function can represent a system response:
\text{response}=f(\text{exposure},\text{vulnerability},\text{capacity})
\]
Interpretation: A system outcome may depend jointly on hazard intensity, population vulnerability, and adaptive capacity.
It can represent a production or performance model:
\text{output}=f(\text{labor},\text{capital},\text{technology},\text{coordination})
\]
Interpretation: Output depends on several inputs and may include complementarities among them.
It can represent a risk model:
\text{risk}=f(\text{load},\text{capacity},\text{redundancy},\text{shock})
\]
Interpretation: Risk depends on both stress and the system’s ability to absorb that stress.
The modeling value lies in structure. Which variables are included? Which are excluded? Are inputs independent or constrained? Are interactions additive or nonlinear? Is the domain physically meaningful? Are results supported across the whole input space or only near a local reference state? These questions make multivariable functions part of model governance, not just model construction.
Mathematical Deepening
This section adds a more formal layer for mathematically advanced readers. Functions of several variables can be studied as mappings between spaces. Their properties depend on domain, codomain, continuity, differentiability, topology, constraints, and local structure. The formal framework matters because multivariable functions can behave in ways that are not visible from one-dimensional intuition.
Formal Structure
Scalar-Valued Functions
A function \(f:\mathbb{R}^n\to\mathbb{R}\) maps many inputs to one scalar output.
Vector-Valued Functions
A function \(F:\mathbb{R}^n\to\mathbb{R}^m\) maps many inputs to many outputs.
Domain
The domain is the set of input vectors where the function is defined and meaningful.
Codomain and Range
The codomain describes possible output type; the range describes outputs actually produced.
Geometric Interpretation
Surfaces
Two-input scalar functions can be represented as surfaces in three-dimensional space.
Level Sets
Level curves and surfaces identify input combinations that produce equal output.
Feasible Regions
Constraints restrict input space to allowable combinations.
Local Neighborhoods
Local analysis studies behavior near a reference vector or operating condition.
Modeling Properties
Continuity
Continuity asks whether small changes in inputs produce small changes in output.
Differentiability
Differentiability supports local linear approximation, partial derivatives, gradients, and Jacobians.
Interaction
Interaction occurs when the influence of one variable depends on another variable.
Curvature
Curvature describes how local sensitivity changes across input space.
Advanced Modeling Implications
Document Variables
Each input should have a definition, unit, domain, and modeling role.
Document Constraints
Feasible regions should be stated whenever inputs cannot vary independently.
Document Interactions
Combined effects should be identified rather than hidden inside a formula.
Document Validity
The region where the multivariable function is meaningful should be explicit.
Examples from Systems Modeling
Functions of several variables appear throughout systems modeling because system outcomes usually depend on combinations of drivers rather than isolated inputs.
Environmental Risk
Flood risk may depend on rainfall, land cover, soil saturation, infrastructure capacity, and settlement pattern.
Public Health Exposure
Health outcome may depend on exposure dose, duration, vulnerability, access to care, and protective behavior.
Economic Output
Production may depend on labor, capital, technology, energy, coordination, and institutional constraints.
Infrastructure Congestion
Congestion may depend on demand, capacity, redundancy, routing, maintenance, and shock intensity.
Climate Feedback
Temperature response may depend on emissions, albedo, ocean uptake, atmospheric composition, and feedback strength.
Organizational Performance
Performance may depend on staffing, process design, technology, incentives, culture, and external pressure.
Across these cases, the central issue is not simply how many variables are included. It is whether their domains, interactions, constraints, and validity regions are represented responsibly.
Computation and Reproducible Workflows
Computational workflows for functions of several variables should record input definitions, units, bounds, domain restrictions, feasible regions, output definitions, interaction terms, sampled grids, reference states, and warnings about extrapolation. The workflow should separate mathematical evaluation from modeling interpretation.
Good workflows evaluate the function over a structured grid, identify high and low output regions, compute level-set approximations, flag infeasible inputs, and store results in auditable formats. They should also make clear which variables are varied and which are held fixed. In high-dimensional functions, slicing and projection choices should be documented because they shape interpretation.
Python Workflow: Multivariable Function Audit
The Python workflow below evaluates a two-input system response over a grid, records output values, flags infeasible combinations, and writes auditable outputs.
from __future__ import annotations
from dataclasses import dataclass, asdict
from pathlib import Path
import csv
import json
@dataclass(frozen=True)
class MultivariableFunctionRecord:
x: float
y: float
output: float
feasible: bool
warning: str
def system_response(x: float, y: float) -> float:
return 3.0 * x + 2.0 * y + 0.5 * x * y
def is_feasible(x: float, y: float) -> bool:
return x >= 0 and y >= 0 and x + y <= 10
def evaluate_grid() -> list[MultivariableFunctionRecord]:
records: list[MultivariableFunctionRecord] = []
for x in [0, 2, 4, 6, 8, 10]:
for y in [0, 2, 4, 6, 8, 10]:
feasible = is_feasible(x, y)
records.append(
MultivariableFunctionRecord(
x=x,
y=y,
output=system_response(x, y),
feasible=feasible,
warning="" if feasible else "Input combination is outside the feasible region."
)
)
return records
records = evaluate_grid()
output_dir = Path("outputs")
(output_dir / "tables").mkdir(parents=True, exist_ok=True)
(output_dir / "json").mkdir(parents=True, exist_ok=True)
with (output_dir / "tables" / "multivariable_function_grid.csv").open("w", newline="", encoding="utf-8") as handle:
writer = csv.DictWriter(handle, fieldnames=asdict(records[0]).keys())
writer.writeheader()
for record in records:
writer.writerow(asdict(record))
(output_dir / "json" / "multivariable_function_grid.json").write_text(
json.dumps([asdict(record) for record in records], indent=2),
encoding="utf-8"
)
print("Wrote multivariable function grid audit.")
This workflow makes input combinations, output values, feasibility, and warnings visible in the generated results.
R Workflow: Surface and Contour Diagnostics
The R workflow below evaluates a two-variable response function over a grid and records feasibility status for each input pair.
# Functions of Several Variables
# Base R workflow for surface and contour diagnostics.
system_response <- function(x, y) {
3.0 * x + 2.0 * y + 0.5 * x * y
}
is_feasible <- function(x, y) {
x >= 0 & y >= 0 & x + y <= 10
}
grid <- expand.grid(
x = seq(0, 10, by = 2),
y = seq(0, 10, by = 2)
)
grid$output <- system_response(grid$x, grid$y)
grid$feasible <- is_feasible(grid$x, grid$y)
grid$warning <- ifelse(
grid$feasible,
"",
"Input combination is outside the feasible region."
)
dir.create("outputs/tables", recursive = TRUE, showWarnings = FALSE)
write.csv(grid, "outputs/tables/r_multivariable_function_grid.csv", row.names = FALSE)
print(grid)
This workflow supports surface, contour, and feasibility review without hiding which input combinations were outside the modeling domain.
Haskell Workflow: Typed Multivariable Records
Haskell can represent multivariable input records with explicit types for variables, outputs, feasibility, and warnings.
module Main where
newtype XInput = XInput Double deriving (Show)
newtype YInput = YInput Double deriving (Show)
newtype Output = Output Double deriving (Show)
data Feasibility
= Feasible
| Infeasible
deriving (Show)
data MultivariableRecord = MultivariableRecord
{ xInput :: XInput
, yInput :: YInput
, output :: Output
, feasibility :: Feasibility
, warning :: String
} deriving (Show)
systemResponse :: Double -> Double -> Double
systemResponse x y = 3.0 * x + 2.0 * y + 0.5 * x * y
isFeasible :: Double -> Double -> Bool
isFeasible x y = x >= 0 && y >= 0 && x + y <= 10
makeRecord :: Double -> Double -> MultivariableRecord
makeRecord x y =
let feasible = isFeasible x y
in MultivariableRecord
{ xInput = XInput x
, yInput = YInput y
, output = Output (systemResponse x y)
, feasibility = if feasible then Feasible else Infeasible
, warning = if feasible then "" else "Input combination is outside the feasible region."
}
main :: IO ()
main = do
print (makeRecord 2.0 4.0)
print (makeRecord 8.0 8.0)
print (makeRecord 6.0 3.0)
The typed structure keeps input values, model output, feasibility, and warning separate rather than collapsing them into a single uninterpreted number.
SQL Workflow: Multivariable Assumption Registry
SQL can document multivariable function assumptions when outputs feed reports, dashboards, model cards, or governance reviews.
CREATE TABLE multivariable_function_assumption_registry (
assumption_key TEXT PRIMARY KEY,
assumption_name TEXT NOT NULL,
mathematical_role TEXT NOT NULL,
systems_modeling_role TEXT NOT NULL,
review_warning TEXT NOT NULL
);
INSERT INTO multivariable_function_assumption_registry VALUES
(
'input_definition',
'Input definition',
'Defines each variable in the input space.',
'Clarifies what each input represents in the modeled system.',
'A multivariable function should not be interpreted without clear input definitions.'
);
INSERT INTO multivariable_function_assumption_registry VALUES
(
'domain_region',
'Domain region',
'Defines the set of input combinations where the function is defined.',
'Separates mathematically computable inputs from meaningful system scenarios.',
'Outputs outside the modeling domain may be invalid even when the formula computes.'
);
INSERT INTO multivariable_function_assumption_registry VALUES
(
'feasible_region',
'Feasible region',
'Records constraints on allowable input combinations.',
'Prevents impossible scenarios from being treated as valid model outputs.',
'Inputs may be mathematically valid but infeasible under physical, budgetary, or ethical constraints.'
);
INSERT INTO multivariable_function_assumption_registry VALUES
(
'interaction_structure',
'Interaction structure',
'Identifies whether input effects are additive, multiplicative, nonlinear, or conditional.',
'Clarifies whether variables act independently or jointly.',
'Omitted interactions may distort system interpretation.'
);
INSERT INTO multivariable_function_assumption_registry VALUES
(
'local_validity',
'Local validity',
'Defines where the multivariable relationship is intended to hold.',
'Prevents local response surfaces from being treated as global system truth.',
'A function calibrated in one region may not be valid under extrapolation.'
);
SELECT
assumption_name,
mathematical_role,
systems_modeling_role,
review_warning
FROM multivariable_function_assumption_registry
ORDER BY assumption_key;
This registry keeps multivariable function interpretation tied to input definition, domain, feasibility, interaction, and local validity.
GitHub Repository
The companion repository for this article is designed as a reproducible mathematical-modeling workspace. It supports multivariable function grids, surface and contour diagnostics, feasible-region checks, interaction-term examples, SQL assumption registries, generated outputs, advanced mathematical audit reports, and reusable calculator scripts.
Complete Code Repository
Companion article folder with Python, R, Julia, SQL, Haskell, C, C++, Fortran, Rust, Go, notebooks, documentation, synthetic teaching data, generated outputs, schemas, Canvas-ready workflow artifacts, and reusable calculator scripts for functions of several variables, input domains, feasible regions, level curves, interaction terms, local neighborhoods, surface diagnostics, contour analysis, and responsible mathematical modeling.
Interpretive Limits and Responsible Use
Functions of several variables can make models more realistic, but they can also create false confidence. Adding more inputs does not automatically make a model better. A multivariable function may omit important variables, include poorly defined variables, assume independence where interaction exists, extrapolate outside the data region, or compute outputs for infeasible combinations.
Responsible use requires several checks. Define each input clearly. State units and bounds. Distinguish variables from parameters. Identify the mathematical domain and the modeling domain. Document feasible regions and constraints. Explain whether inputs can vary independently. Identify interaction terms or justify their absence. State where the function is calibrated, meaningful, or locally valid. Avoid treating high-dimensional formulas as complete system explanations.
The central modeling question is not only “What is the function?” It is “What system relationship does this function claim to represent, across which input combinations, under which constraints, with which interactions, and within what validity region?”
Related Articles
- Calculus for Systems Modeling
- Approximation Error, Truncation, and Local Validity
- Taylor and Maclaurin Series in Modeling
- Partial Derivatives and Interaction Effects
- Total Differentials and Local Approximation in Higher Dimensions
- Directional Derivatives and Gradients
- Jacobians and Multivariable Transformation
- Hessians, Curvature, and Local Structure
- Systems Modeling
- Mathematical Modeling
Further Reading
- Apostol, T.M. (1969) Calculus, Volume 2: Multi-Variable Calculus and Linear Algebra, with Applications to Differential Equations and Probability. 2nd edn. New York: Wiley.
- Stewart, J. (2015) Calculus: Early Transcendentals. 8th edn. Boston, MA: Cengage Learning.
- Marsden, J.E. and Tromba, A.J. (2012) Vector Calculus. 6th edn. New York: W.H. Freeman.
- Edwards, C.H. (1994) Advanced Calculus of Several Variables. New York: Dover Publications.
- Spivak, M. (1965) Calculus on Manifolds: A Modern Approach to Classical Theorems of Advanced Calculus. New York: W.A. Benjamin.
- Rudin, W. (1976) Principles of Mathematical Analysis. 3rd edn. New York: McGraw-Hill.
- Hubbard, J.H. and Hubbard, B.B. (2015) Vector Calculus, Linear Algebra, and Differential Forms: A Unified Approach. 5th edn. Ithaca, NY: Matrix Editions.
- Massachusetts Institute of Technology (MIT) OpenCourseWare (2010) Multivariable Calculus. Cambridge, MA: MIT OpenCourseWare.
- OpenStax (2016) Calculus Volume 3. Houston, TX: OpenStax, Rice University.
- Strang, G. and Herman, E. (2016) Calculus Volume 3. Houston, TX: OpenStax, Rice University.
References
- Apostol, T.M. (1969) Calculus, Volume 2: Multi-Variable Calculus and Linear Algebra, with Applications to Differential Equations and Probability. 2nd edn. New York: Wiley.
- Edwards, C.H. (1994) Advanced Calculus of Several Variables. New York: Dover Publications.
- Hubbard, J.H. and Hubbard, B.B. (2015) Vector Calculus, Linear Algebra, and Differential Forms: A Unified Approach. 5th edn. Ithaca, NY: Matrix Editions.
- Marsden, J.E. and Tromba, A.J. (2012) Vector Calculus. 6th edn. New York: W.H. Freeman.
- Massachusetts Institute of Technology (MIT) OpenCourseWare (2010) Multivariable Calculus. Cambridge, MA: MIT OpenCourseWare.
- OpenStax (2016) Calculus Volume 3. Houston, TX: OpenStax, Rice University.
- Rudin, W. (1976) Principles of Mathematical Analysis. 3rd edn. New York: McGraw-Hill.
- Spivak, M. (1965) Calculus on Manifolds: A Modern Approach to Classical Theorems of Advanced Calculus. New York: W.A. Benjamin.
- Stewart, J. (2015) Calculus: Early Transcendentals. 8th edn. Boston, MA: Cengage Learning.
- Strang, G. and Herman, E. (2016) Calculus Volume 3. Houston, TX: OpenStax, Rice University.
