stringtranslate.com

Функция нескольких действительных переменных

В математическом анализе и его приложениях функция нескольких действительных переменных или действительная многомерная функция — это функция с более чем одним аргументом , причем все аргументы являются действительными переменными. Эта концепция расширяет идею функции действительной переменной на несколько переменных. «Входные» переменные принимают действительные значения, а «выходные», также называемые «значением функции», могут быть вещественными или комплексными . Однако изучение комплекснозначных функций можно легко свести к изучению вещественнозначных функций , рассматривая действительную и мнимую части комплексной функции; поэтому, если явно не указано иное, в этой статье будут рассматриваться только функции с действительным знаком.

Область определения функции n переменных — это подмножество , для которого определена функция. Как обычно, предполагается, что область определения функции нескольких действительных переменных содержит непустое открытое подмножество .

Общее определение

Функции f ( x 1 , x 2 , …, x n ) от n переменных, построенные в виде графиков в пространстве R n + 1 . Домены представляют собой красные n -мерные области, изображения — фиолетовые n -мерные кривые.

Функция с действительным знаком n действительных переменных — это функция , которая принимает в качестве входных данных n действительных чисел , обычно представленных переменными x 1 , x 2 , …, x n , для получения другого действительного числа, значения функции, обычно обозначаемого ж ( Икс 1 , Икс 2 , …, Икс п ) . Для простоты в этой статье вещественная функция нескольких вещественных переменных будет называться просто функцией . Чтобы избежать какой-либо двусмысленности, другие типы функций, которые могут возникнуть, будут явно указаны.

Некоторые функции определены для всех действительных значений переменных (говорят, что они определены всюду), но некоторые другие функции определены только в том случае, если значение переменной берется в подмножестве X из Rn , области определения функции, которое всегда должно содержать открытое подмножество Rn . Другими словами, действительная функция от n действительных переменных — это функция

такой, что его область определения X является подмножеством Rn , содержащим непустое открытое множество .

Элемент X представляет собой n - кортеж ( x 1 , x 2 , …, x n ) (обычно ограничивается круглыми скобками), общее обозначение для обозначения функций будет f (( x 1 , x 2 , …, x n ) ) . Обычное использование, намного старше общего определения функций между множествами, заключается в том, чтобы не использовать двойные круглые скобки и просто писать f ( x 1 , x 2 , …, x n ) .

Также принято сокращать n -кортеж ( x 1 , x 2 , …, x n ) , используя обозначения, аналогичные обозначениям для векторов , например жирный шрифт x , подчеркивание x или перечеркивание x . В этой статье будет использован жирный шрифт.

Простым примером функции с двумя переменными может быть:

который представляет собой объем V конуса с площадью основания A и высотой h , измеренной перпендикулярно основанию. Область определения ограничивает все переменные положительными значениями, поскольку длины и площади должны быть положительными.

Для примера функции с двумя переменными:

где a и b — действительные ненулевые константы. Используя трехмерную декартову систему координат , где плоскость xy — это область R 2 , а ось z — это область значений R , можно визуализировать изображение как двумерную плоскость с наклоном a в положительном направлении x. и наклон b в положительном направлении y. Функция четко определена во всех точках ( x , y ) в R 2 . Предыдущий пример можно легко расширить на более высокие измерения:

для p ненулевых вещественных констант a 1 , a 2 , …, a p , описывающих p -мерную гиперплоскость .

Евклидова норма :

также является функцией n переменных, которая определена всюду, а

определяется только для x ≠ (0, 0, …, 0) .

Для примера нелинейной функции с двумя переменными:

который принимает все точки из X , диск радиуса 8 , «проколотый» в начале координат ( x , y ) = (0, 0) в плоскости R 2 , и возвращает точку из R . Функция не включает начало координат ( x , y ) = (0, 0) , если бы это было так, то f в этой точке было бы неправильно определено. Используя трехмерную декартову систему координат с плоскостью xy в качестве области R 2 и осью z в ​​качестве кодомена R , изображение можно визуализировать как искривленную поверхность.

Функция может быть вычислена в точке ( x , y ) = (2, 3 ) в X :

Однако функцию нельзя было вычислить, скажем,

поскольку эти значения x и y не удовлетворяют правилу предметной области.

Изображение

Образ функции f ( x 1 , x 2 , …, x n ) — это набор всех значений f , когда n -кортеж ( x 1 , x 2 , …, x n ) выполняется во всей области определения f. . Для непрерывной (см. определение ниже) действительной функции, имеющей связную область, изображение представляет собой либо интервал, либо одно значение. В последнем случае функция является постоянной функцией .

Прообраз данного действительного числа c называется множеством уровня . Это набор решений уравнения f ( x 1 , x 2 , …, x n ) = c .

Домен

Область определения функции нескольких действительных переменных — это подмножество R n , которое иногда, но не всегда, определяется явно. Фактически, если ограничить область определения X функции f подмножеством Y X , формально получится другая функция — ограничение f на Y , которая обозначается . На практике часто (но не всегда) не вредно отождествлять f и и опускать ограничитель | Ю. _

И наоборот, иногда можно естественным образом расширить область определения данной функции, например, путем непрерывности или аналитического продолжения .

Более того, многие функции определены таким образом, что трудно явно указать их область определения. Например, для функции f может быть сложно указать область определения функции. Если f является многомерным полиномом (который имеет в качестве области определения), то даже трудно проверить, является ли область определения g также . Это эквивалентно проверке того, всегда ли полином положителен и является ли объектом активной области исследований (см. Положительный полином ).

Алгебраическая структура

Обычные арифметические операции с действительными числами могут быть распространены на вещественные функции нескольких действительных переменных следующим образом:

Отсюда следует, что функции от п переменных, определенные всюду, и функции от п переменных, определенные в некоторой окрестности данной точки, образуют коммутативные алгебры над вещественными числами ( R -алгебры). Это прототип функционального пространства .

Аналогичным образом можно определить

которая является функцией только в том случае, если набор точек ( x 1 , …, x n ) в области определения f таких, что f ( x 1 , …, x n ) ≠ 0 , содержит открытое подмножество R n . Это ограничение означает, что две вышеупомянутые алгебры не являются полями .

Функции с одной переменной, связанные с функцией с несколькими переменными

Можно легко получить функцию от одной вещественной переменной, придав постоянное значение всем переменным, кроме одной. Например, если ( a 1 , …, an ) является точкой внутренней области определения функции f , мы можем зафиксировать значения x 2 , …, x n равными a 2 , …, an соответственно , чтобы получить функцию с одной переменной

чья область определения содержит интервал с центром в 1 . Эту функцию также можно рассматривать как ограничение функции f на линию, определяемую уравнениями x i = a i для i = 2, …, n .

Другие функции с одной переменной могут быть определены путем ограничения f любой линией, проходящей через ( a 1 , …, an ) . Это функции

где c i — действительные числа, которые не все равны нулю.

В следующем разделе мы покажем, что если функция многих переменных непрерывна, то непрерывны и все эти функции одной переменной, но обратное не обязательно верно.

Непрерывность и предел

До второй половины XIX века математики рассматривали только непрерывные функции . Тогда понятие непрерывности было разработано для функций одной или нескольких действительных переменных задолго до формального определения топологического пространства и непрерывного отображения между топологическими пространствами. Поскольку непрерывные функции нескольких действительных переменных широко распространены в математике, стоит определить это понятие без ссылки на общее понятие непрерывных отображений между топологическими пространствами.

Для определения непрерывности полезно рассмотреть функцию расстояния R n , которая является всюду определенной функцией 2 n действительных переменных:

Функция f непрерывна в точке a = ( a 1 , …, an ) , которая находится внутри ее области определения, если для каждого положительного действительного числа ε существует такое положительное действительное число φ , что | ж ( Икс ) - ж ( а )| < ε для всех x таких, что d ( x a ) < φ . Другими словами, φ можно выбрать достаточно малым, чтобы изображение f шара радиуса φ с центром в a содержалось в интервале длины 2 ε с центром в f ( a ) . Функция непрерывна, если она непрерывна в каждой точке своей области определения.

Если функция непрерывна в точке f ( a ) , то все одномерные функции, полученные фиксированием всех переменных xi , кроме одной, со значением ai , непрерывны в точке f ( a ) . Обратное неверно; это означает, что все эти одномерные функции могут быть непрерывными для функции, которая не является непрерывной в точке f ( a ) . В качестве примера рассмотрим функцию f такую, что f (0, 0) = 0 и в противном случае определяется формулой

Функции xf ( x , 0) и yf (0, y ) постоянны и равны нулю, поэтому непрерывны. Функция f не является непрерывной в точке (0, 0) , потому что, если ε < 1/2 и y = x 2 ≠ 0 , мы имеем f ( x , y ) = 1/2 , даже если | х | очень мал. Хотя эта функция и не является непрерывной, она обладает еще одним свойством: все одномерные функции, полученные путем ее ограничения линией, проходящей через (0, 0), также являются непрерывными. На самом деле, у нас есть

для λ ≠ 0 .

Предел в точке действительной функции нескольких действительных переменных определяется следующим образом. [ 1] Пусть a = ( a 1 , a 2 , …, an ) — точка топологического замыкания области X функции f . Функция f имеет предел L , когда x стремится к a , обозначаемый

если выполнено следующее условие: для каждого положительного действительного числа ε > 0 существует положительное действительное число δ > 0 такое, что

для всех x в области определения таких, что

Если предел существует, он уникален. Если a находится внутри области, предел существует тогда и только тогда, когда функция непрерывна в точке a . В этом случае мы имеем

Когда a находится на границе области определения f и если f имеет предел в точке a , последняя формула позволяет «расширить непрерывностью» область определения f до a .

Симметрия

Симметричная функция — это функция f , которая не изменяется при замене двух переменных x i и x j :

где i и j — каждый из 1, 2,…, n . Например:

симметричен по x , y , z, поскольку замена любой пары x , y , z оставляет f неизменной , но не симметричен по всем x , y , z , t , поскольку замена t на x , y или z дает другую функцию .

Функциональная композиция

Предположим, что функции

или , более компактно , ξ = ξ ( x ) определены в области X. Поскольку n -кортеж x = ( x 1 , x 2 , …, x n ) меняется в X , подмножестве R n , m -кортеж ξ = ( ξ 1 , ξ 2 , …, ξ m ) меняется в другом область Ξ является подмножеством R m . Чтобы повторить это:

Тогда функция ζ функций ξ ( x ) , определенных на Ξ ,

представляет собой функциональную композицию , определенную на X , [2] другими словами, отображение

Обратите внимание, что числа m и n не обязательно должны быть равны.

Например, функция

определенное всюду на R2 , можно переписать, введя

которое также всюду определено в R3 , чтобы получить

Композиция функций может использоваться для упрощения функций, что полезно для выполнения множественных интегралов и решения уравнений в частных производных .

Исчисление

Элементарное исчисление — это исчисление вещественных функций одной действительной переменной, и основные идеи дифференцирования и интегрирования таких функций могут быть распространены на функции более чем одной действительной переменной; это расширение представляет собой исчисление с несколькими переменными .

Частные производные

Частные производные могут быть определены по отношению к каждой переменной:

Частные производные сами по себе являются функциями, каждая из которых представляет скорость изменения f параллельно одной из осей x 1 , x 2 , …, x n во всех точках области (если производные существуют и непрерывны - см. также ниже ). Первая производная является положительной, если функция увеличивается в направлении соответствующей оси, отрицательной, если она уменьшается, и нулевой, если нет увеличения или уменьшения. Оценка частной производной в определенной точке области дает скорость изменения функции в этой точке в направлении, параллельном определенной оси, — действительное число.

Для действительных функций действительной переменной y = f ( x ) ее обычная производная dy / dx геометрически представляет собой градиент касательной к кривой y = f ( x ) во всех точках области. Частные производные распространяют эту идею на касательные гиперплоскости к кривой.

Частные производные второго порядка можно рассчитать для каждой пары переменных:

Геометрически они связаны с локальной кривизной изображения функции во всех точках области. В любой точке, где функция четко определена, функция может возрастать по некоторым осям и/или уменьшаться по другим осям, и/или вообще не увеличиваться или не уменьшаться по другим осям.

Это приводит к множеству возможных стационарных точек : глобальных или локальных максимумов , глобальных или локальных минимумов и седловых точек — многомерного аналога точек перегиба для действительных функций одной действительной переменной. Матрица Гессе — это матрица всех частных производных второго порядка, которые используются для исследования стационарных точек функции, важных для математической оптимизации .

В общем случае частные производные более высокого порядка p имеют вид:

где p 1 , p 2 , …, p n — целые числа от 0 до p такие, что p 1 + p 2 + ⋯ + p n = p , используя определения нулевых частных производных в качестве тождественных операторов :

Число возможных частных производных увеличивается с увеличением p , хотя некоторые смешанные частные производные (относительно более чем одной переменной) являются излишними из-за симметрии частных производных второго порядка . Это уменьшает количество частных производных, которые нужно вычислить для некоторого p .

Многомерная дифференцируемость

Функция f ( x ) дифференцируема в окрестности точки a , если существует n -кортеж чисел, зависящих от a вообще , A ( a ) = ( A1 ( a ), A2 ( a ) , …, An ( a )) , так что: [ 3]

тогда как . Это означает, что если f дифференцируема в точке a , то f непрерывна в точке x = a , хотя обратное неверно — непрерывность в области не влечет за собой дифференцируемость в области. Если f дифференцируема в точке a , то частные производные первого порядка существуют в точке a и:

для i = 1, 2, …, n , которые можно найти из определений отдельных частных производных, поэтому частные производные f существуют.

Предполагая n -мерный аналог прямоугольной декартовой системы координат , эти частные производные можно использовать для формирования векторного линейного дифференциального оператора , называемого градиентом (также известного как « набла » или « дель ») в этой системе координат:

широко используется в векторном исчислении , поскольку он полезен для построения других дифференциальных операторов и компактной формулировки теорем векторного исчисления.

Тогда замена градиента f (оцененного при x = a ) с небольшой перестановкой дает:

где · обозначает скалярное произведение . Это уравнение представляет собой наилучшее линейное приближение функции f во всех точках x в окрестности a . Для бесконечно малых изменений f и x при xa :

который определяется как полный дифференциал или просто дифференциал f в точке a . Это выражение соответствует общему бесконечно малому изменению f путем сложения всех бесконечно малых изменений f во всех направлениях xi . Кроме того, df можно рассматривать как ковектор с базисными векторами в качестве бесконечно малых dx i в каждом направлении и частными производными f в качестве компонентов.

Геометрически f перпендикулярен множествам уровня f , заданным формулой f ( x ) = c , которое для некоторой константы c описывает ( n - 1) -мерную гиперповерхность. Дифференциал константы равен нулю:

в котором d x — бесконечно малое изменение x на гиперповерхности f ( x ) = c , и поскольку скалярное произведение f и d x равно нулю, это означает, что f перпендикулярно d x .

В произвольных криволинейных системах координат в n измерениях явное выражение градиента не будет таким простым — для этой системы координат будут использоваться масштабные коэффициенты в терминах метрического тензора . В приведенном выше случае, используемом в этой статье, метрикой является просто дельта Кронекера , а все масштабные коэффициенты равны 1.

Классы дифференцируемости

Если все частные производные первого порядка оцениваются в точке a в области:

существуют и непрерывны для всех a в области, f имеет класс дифференцируемости C 1 . В общем, если все частные производные порядка p оцениваются в точке a :

существуют и непрерывны, где p 1 , p 2 , …, p n и p такие же, как указано выше, для всех a в области, тогда f дифференцируемо по порядку p во всей области и имеет класс дифференцируемости C p .

Если f принадлежит классу дифференцируемости C∞ , f имеет непрерывные частные производные всех порядков и называется гладкой . Если fаналитическая функция и равна своему ряду Тейлора относительно любой точки области, обозначение C ω обозначает этот класс дифференцируемости.

Множественная интеграция

Определенное интегрирование может быть расширено до множественного интегрирования по нескольким действительным переменным с использованием обозначений;

где каждая область R 1 , R 2 , …, R n представляет собой подмножество или всю реальную линию:

и их декартово произведение дает регион, который можно интегрировать как единое множество:

n - мерный гиперобъем . При вычислении определенный интеграл является действительным числом, если он сходится в области интегрирования R (результат определенного интеграла может расходиться до бесконечности для данной области, в таких случаях интеграл остается неопределенным). Переменные рассматриваются как «фиктивные» или «связанные» переменные , которые заменяются числами в процессе интегрирования.

Интеграл от действительной функции действительной переменной y = f ( x ) по x имеет геометрическую интерпретацию как площадь, ограниченная кривой y = f ( x ) и осью x . Множественные интегралы расширяют размерность этой концепции: предполагая n - мерный аналог прямоугольной декартовой системы координат , указанный выше определенный интеграл имеет геометрическую интерпретацию как n -мерный гиперобъем, ограниченный f ( x ) и x1 , x2 , …, x n осей, которые могут быть положительными, отрицательными или нулевыми, в зависимости от интегрируемой функции (если интеграл сходится).

Хотя ограниченный гиперобъем является полезной идеей, более важная идея определенных интегралов заключается в том, что они представляют полные величины в пространстве. Это имеет значение в прикладной математике и физике: если f — некоторое поле скалярной плотности , а x — координаты вектора положения , то есть некоторая скалярная величина на единицу n -мерного гиперобъема, то интегрирование по области R дает общее количество количества в R. Более формальные понятия гиперобъема являются предметом теории меры . Выше мы использовали меру Лебега , подробнее по этой теме см. Интегрирование Лебега .

Теоремы

С помощью определений множественного интегрирования и частных производных можно сформулировать ключевые теоремы, включая фундаментальную теорему исчисления с несколькими действительными переменными (а именно, теорему Стокса ), интегрирование по частям с несколькими действительными переменными, симметрию высших частных производных и теорему Тейлора. для функций многих переменных . Оценку смеси интегралов и частных производных можно выполнить, используя теорему дифференцирования под знаком интеграла .

Векторное исчисление

Можно собрать ряд функций, каждая из нескольких действительных переменных, скажем

в m -кортеж или иногда в вектор-столбец или вектор-строку соответственно:

все они рассматриваются на том же основании, что и m -компонентное векторное поле , и используют любую удобную форму. Все приведенные выше обозначения имеют общее компактное обозначение y = f ( x ) . Исчисление таких векторных полей является векторным исчислением . Дополнительные сведения об обработке векторов-строок и векторов-столбцов функций многих переменных см. в разделе матричное исчисление .

Неявные функции

Вещественнозначная неявная функция нескольких вещественных переменных не записывается в виде « y = f (…) ». Вместо этого происходит отображение пространства R n + 1 на нулевой элемент в R (просто обычный нуль 0):

представляет собой уравнение со всеми переменными. Неявные функции — это более общий способ представления функций, поскольку если:

тогда мы всегда можем определить:

но обратное не всегда возможно, т. е. не все неявные функции имеют явный вид.

Например, используя интервальное обозначение , пусть

Выбирая трехмерную (3D) декартову систему координат, эта функция описывает поверхность трехмерного эллипсоида с центром в начале координат ( x , y , z ) = (0, 0, 0) с постоянными большими полуосями a , b , c вдоль положительных осей x , y и z соответственно. В случае a = b = c = r мы имеем сферу радиуса r с центром в начале координат. Другие примеры конического сечения , которые можно описать аналогичным образом, включают гиперболоид и параболоид , а в более общем плане - любую двумерную поверхность в трехмерном евклидовом пространстве. Приведенный выше пример можно решить для x , y или z ; однако гораздо удобнее записать его в неявной форме.

Более сложный пример:

для ненулевых действительных констант A , B , C , ω эта функция четко определена для всех ( t , x , y , z ) , но ее нельзя решить явно для этих переменных и записать как « t = », « х = "и т. д.

Теорема о неявной функции более чем двух действительных переменных касается непрерывности и дифференцируемости функции следующим образом. [4] Пусть φ ( x 1 , x 2 , …, x n ) — непрерывная функция с непрерывными частными производными первого порядка, и пусть φ оценивается в точке ( a , b ) = ( a 1 , a 2 , …, a n , b ) быть нулевым:

и пусть первая частная производная φ по y , оцененная в ( a , b ) , не равна нулю:

Тогда существует интервал [ y1 , y2 ] , содержащий b , и область R , содержащая ( a , b ) , такие, что для каждого x в R существует ровно одно значение y в [ y1 , y2 ] , удовлетворяющее φ ( x , y ) = 0 , а y — непрерывная функция от x , так что φ ( x , y ( x )) = 0 . Полные дифференциалы функций равны:

Подстановка dy в последний дифференциал и приравнивание коэффициентов дифференциалов дает частные производные первого порядка от y по x i через производные исходной функции, каждая из которых является решением линейного уравнения

для i = 1, 2, …, n .

Комплексная функция нескольких действительных переменных

Комплексная функция нескольких действительных переменных может быть определена путем ослабления при определении действительнозначных функций ограничения кодомена действительными числами и разрешения комплексных значений.

Если f ( x 1 , …, x n ) такая комплексная функция, ее можно разложить как

где g и h — вещественные функции. Другими словами, изучение комплекснозначных функций легко сводится к изучению пар вещественнозначных функций.

Это сокращение работает для общих свойств. Однако для явно заданной функции, например:

вычисление действительной и мнимой частей может быть затруднено.

Приложения

Многомерные функции реальных переменных неизбежно возникают в технике и физике , поскольку наблюдаемые физические величины представляют собой действительные числа (с соответствующими единицами измерения и размерностями ), а любая одна физическая величина, как правило, будет зависеть от ряда других величин.

Примеры вещественных функций нескольких действительных переменных

Примеры в механике сплошной среды включают локальную массовую плотность ρ распределения массы, скалярное поле , которое зависит от координат пространственного положения (здесь декартовых для примера), r = ( x , y , z ) и времени t :

То же самое касается плотности электрического заряда электрически заряженных объектов и многих других скалярных потенциальных полей.

Другим примером является поле скоростей , векторное поле , которое имеет компоненты скорости v = ( v x , v y , v z ) , каждая из которых аналогично является функцией многих переменных пространственных координат и времени:

Аналогично и для других физических векторных полей, таких как электрические поля и магнитные поля , а также векторные потенциальные поля.

Еще одним важным примером является уравнение состояния в термодинамике , уравнение, связывающее давление P , температуру T и объем V жидкости, в общем случае оно имеет неявный вид:

Простейшим примером является закон идеального газа :

где nчисло молей , постоянное для фиксированного количества вещества , а R — газовая постоянная . Эмпирически были выведены гораздо более сложные уравнения состояния, но все они имеют указанную выше неявную форму.

Вещественнозначные функции нескольких реальных переменных широко распространены в экономической науке . В основе теории потребления полезность выражается как функция количества различных потребляемых товаров, причем каждое количество является аргументом функции полезности. Результатом максимизации полезности является набор функций спроса , каждая из которых выражает величину спроса на конкретный товар как функцию цен на различные товары, а также дохода или богатства. В теории производителей обычно предполагается, что фирма максимизирует прибыль в зависимости от количества различных произведенных товаров и количества различных используемых факторов производства. Результатом оптимизации является набор функций спроса для различных факторов производства и набор функций предложения для различных продуктов; аргументами каждой из этих функций являются цены товаров и факторов производства.

Примеры комплексных функций нескольких действительных переменных

Некоторые «физические величины» на самом деле могут иметь комплексные значения, такие как комплексный импеданс , комплексная диэлектрическая проницаемость , комплексная проницаемость и комплексный показатель преломления . Это также функции реальных переменных, таких как частота или время, а также температуры.

В двумерной механике жидкости , особенно в теории потенциальных потоков , используемых для описания движения жидкости в 2d, комплексный потенциал

представляет собой комплексную функцию двух пространственных координат x и y и других действительных переменных, связанных с системой. Действительная часть — это потенциал скорости , а мнимая часть — функция тока .

Сферические гармоники встречаются в физике и технике как решение уравнения Лапласа , а также как собственные функции z -компонентного оператора углового момента , которые являются комплексными функциями вещественных сферических полярных углов :

В квантовой механике волновая функция обязательно является комплексной, но является функцией реальных пространственных координат (или компонентов импульса ), а также времени t :

где каждый связан преобразованием Фурье .

Смотрите также

Рекомендации

  1. ^ Р. Курант. Дифференциальное и интегральное исчисление . Том. 2. Библиотека классической литературы Wiley. стр. 46–47. ISBN 0-471-60840-8.
  2. ^ Р. Курант. Дифференциальное и интегральное исчисление . Том. 2. Библиотека классической литературы Wiley. п. 70. ИСБН 0-471-60840-8.
  3. ^ В. Фулкс (1978). Продвинутое исчисление . Джон Уайли и сыновья. стр. 300–302. ISBN 0-471-02195-4.
  4. ^ Р. Курант. Дифференциальное и интегральное исчисление . Том. 2. Библиотека классической литературы Wiley. стр. 117–118. ISBN 0-471-60840-8.