Интерполяционный многочлен Лагранжа

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

Определение

Интерполяционный многочлен Лагранжа для четырёх точек (-9,5), (-4,2), (-1,-2) и (7,9), а также полиномы , каждый из которых проходит через одну из выделенных точек, и принимает нулевое значение в остальных.

Пусть задана пара чисел где все различны. Требуется построить многочлен степени не более , для которого .

Общий случай

Ж. Л. Лагранж предложил следующий способ вычисления таких многочленов:

где базисные полиномы определяются по формуле

Для любого многочлен имеет степень и

Отсюда следует, что , являющийся линейной комбинацией многочленов , имеет степень не больше и .

Случай равноотстоящих узлов интерполяции

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

Отсюда следует, что

Подставляя эти выражения в формулу для базисного полинома и вынося за знаки произведения в числителе и знаменателе, получим

Теперь можно ввести замену переменной

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

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

Остаточный член

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

где  — некоторая средняя точка между наименьшим и наибольшим из чисел . Полагая , можно записать

Единственность

Существует единственный многочлен степени не превосходящей , принимающий заданные значения в заданной точке.

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

С точки зрения линейной алгебры

На единственность интерполяционного многочлена можно также взглянуть с точки зрения СЛАУ. Рассмотрим систему уравнений . В явном виде она записывается как

Её можно переписать в виде системы уравнений с неизвестным вектором :

Матрица в такой системе является матрицей Вандермонда и её определитель равен . Соответственно, если все точки различны, то матрица невырождена и система обладает единственным решением.

По теореме Безу остаток от деления на равен . Таким образом, всю систему можно воспринимать в виде системы сравнений:

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

Пример

Приближение функции (синяя линия) многочленом (зелёная линия).

Найдем формулу интерполяции для имеющей следующие значения:

Получим

Реализация общего случая на языке программирования Python

import numpy as np

# данные для примера
xi = np.array([-1.5, -0.75, 0, 0.75, 1.5])
yi = np.array([-14.1014, -0.931596, 0, 0.931596, 14.1014])


def get_coefficients(_pl: int, _xi: np.ndarray):
    '''
    Определение коэффициентов для множителей базисных полиномов l_i
    :param _pl: индекс базисного полинома
    :param _xi: массив значений x
    :return:
    '''
    n = int(_xi.shape[0])
    coefficients = np.empty((n, 2), dtype=float)
    for i in range(n):
        if i == _pl:
            coefficients[i][0] = float('inf')
            coefficients[i][1] = float('inf')
        else:
            coefficients[i][0] = 1 / (_xi[_pl] - _xi[i])
            coefficients[i][1] = -_xi[i] / (_xi[_pl] - _xi[i])
    filtered_coefficients = np.empty((n - 1, 2), dtype=float)
    j = 0
    for i in range(n):
        if coefficients[i][0] != float('inf'):
            # изменение последовательности, степень увеличивается
            filtered_coefficients[j][0] = coefficients[i][1]
            filtered_coefficients[j][1] = coefficients[i][0]
            j += 1
    return filtered_coefficients


def get_polynomial_l(_xi: np.ndarray):
    '''
    Определение базисных полиномов
    :param _xi: массив значений x
    :return:
    '''
    n = int(_xi.shape[0])
    pli = np.zeros((n, n), dtype=float)
    for pl in range(n):
        coefficients = get_coefficients(pl, _xi)
        for i in range(1, n - 1):  # проходим по массиву coefficients
            if i == 1:  # на второй итерации занимаются 0-2 степени
                pli[pl][0] = coefficients[i - 1][0] * coefficients[i][0]
                pli[pl][1] = coefficients[i - 1][1] * coefficients[i][0] + coefficients[i][1] * coefficients[i - 1][0]
                pli[pl][2] = coefficients[i - 1][1] * coefficients[i][1]
            else:
                clone_pli = np.zeros(n, dtype=float)
                for val in range(n):
                    clone_pli[val] = pli[pl][val]
                zeros_pli = np.zeros(n, dtype=float)
                for j in range(n-1):  # проходим по строке pl массива pli
                    product_1 = clone_pli[j] * coefficients[i][0]
                    product_2 = clone_pli[j] * coefficients[i][1]
                    zeros_pli[j] += product_1
                    zeros_pli[j+1] += product_2
                for val in range(n):
                    pli[pl][val] = zeros_pli[val]
    return pli

def get_polynomial(_xi: np.ndarray, _yi: np.ndarray):
    '''
    Определение интерполяционного многочлена Лагранжа
    :param _xi: массив значений x
    :param _yi: массив значений y
    :return:
    '''
    n = int(_xi.shape[0])
    polynomial_l = get_polynomial_l(_xi)
    for i in range(n):
        for j in range(n):
            polynomial_l[i][j] *= _yi[i]
    L = np.zeros(n, dtype=float)
    for i in range(n):
        for j in range(n):
            L[i] += polynomial_l[j][i]
    return L

# результат в виде массива коэффициентов многочлена при x в порядке увеличения степени
# [ 0.         -1.47747378  0.          4.8348476   0.        ]
# т.е. результирующий многочлен имеет вид: y(x) = -1.47747378*x + 4.8348476*x^3

Применения

Многочлены Лагранжа степеней от нулевой до пятой для функции

Численное интегрирование

Пусть для функции известны значения в некоторых точках. Тогда можно интерполировать эту функцию методом Лагранжа:

Полученное выражение можно использовать для приближённого вычисления определённого интеграла от функции :

Значения интегралов от не зависят от и их можно вычислить заранее с использованием последовательности .

Литература

Ссылки

  • М. А. Тынкевич. Глава 7.6.1. Интерполяционный многочлен Лагранжа // Численные методы анализа. — Кемерово, 2002. — ISBN 5-89070-042-1. (недоступная ссылка)
  • А. Г. Хованский. Полиномы Лагранжа и их применения. Видео-лекция. VI Летняя школа «Современная математика», Дубна, 2006.

См. также

Read other articles:

Deno Kamelus Bupati Manggarai ke-7Masa jabatan17 Februari 2016 – 17 Februari 2021PresidenJoko WidodoGubernurFrans Lebu RayaRobert Simbolon (Pj.)WakilVictor Madur PendahuluChristian RotokMarius Jelamu (Pj.)PenggantiJahang Fansi Aldus (Plh.)Herybertus G.L. NabitWakil Bupati Manggarai ke-2Masa jabatan14 September 2005 – 14 September 2015PresidenSusilo Bambang YudhoyonoJoko WidodoGubernurPiet Alexander TalloFrans Lebu RayaBupatiChristian Rotok PendahuluMarkus JadurPe...

 

Jagadish ShettarJagadish Shettar pada 2006' Ketua Menteri Karnataka ke-21Masa jabatan12 Juli 2012 – 8 Mei 2013GubernurHansraj Bhardwaj PendahuluD. V. Sadananda GowdaPenggantiSiddaramaiahDaerah pemilihanHubli-Dharwad central Informasi pribadiLahirJagadish Shivappa Shettar17 Desember 1955 (umur 68)Kerura, distrik Bagalkot, KarnatakaPartai politikPartai Bharatiya JanataSuami/istriShilpa ShettarAnak2 putraSitus webJagdish ShettarPer tanggal 8 Mei, 2013Sunting kotak info �...

 

Dalam artikel ini, nama keluarganya adalah Katayama. Katayama Tōkuma (片山 東熊code: ja is deprecated , 18 Januari 1854 – 24 Oktober 1917) adalah seorang arsitek asal Jepang. Ia merancang bangunan-bangunan asli untuk Museum Kekaisaran Nara serta Museum Kekaisaran Kyoto dan secara signifikan mengenalkan budaya Barat, khususnya arsitektur Prancis ke Jepang.[1] Catatan ^ Checkland, Olive (2003) Japan and Britain after 1859: Creating cultural bridges RoutledgeCurzon,...

Călimăneşti-CăciulataKotaNegara RumaniaProvinsiProvinsi VâlceaStatusKotaPemerintahan • Wali kotaIlie Amuzan (Partidul Social Democrat)Luas • Total104,5 km2 (403 sq mi)Populasi (2004) • Total8.923Zona waktuUTC+2 (EET) • Musim panas (DST)UTC+3 (EEST) Călimăneşti-Căciulata, juga dikenal dengan nama Călimăneşti, adalah kota yang terletak di provinsi Vâlcea, Rumania selatan. Pada tahun 2004, kota ini memiliki jum...

 

Penanda lapangan bola di Mixco Viejo yang menggambarkan Q'uq'umatz yang sedang membawa Tohil di langit dengan menggunakan rahangnya Q'uq'umatz (Mayan: [qʔuː qʔuːˈmats]) (ejaan alternatif Qucumatz, Gukumatz, Gucumatz, Gugumatz, Kucumatz) adalah dewa dalam kepercayaan orang Maya K'iche' pada zaman Pascaklasik. Q'uq'umatz adalah dewa Ular Berbulu dalam kisah Popol Vuh. Ia menciptakan manusia bersama dengan dewa Tepeu. Q'uq'umatz dianggap sebanding dengan Quetzalcoatl dalam kepercayaan ...

 

Community in San Diego County, California 32°41′50.19″N 117°14′49.33″W / 32.6972750°N 117.2470361°W / 32.6972750; -117.2470361 The Wooded Area is a neighborhood within the community of Point Loma, San Diego, California. It encompasses the hilltop area south of Talbot Street on both sides of Catalina Boulevard; the area west of Catalina is also referred to as the College Area. The Wooded Area borders Naval Base Point Loma to the south, La Playa to the east, ...

Irwin RoseIrwin Rose, c. 2000LahirIrwin Allan Rose(1926-07-16)16 Juli 1926Brooklyn, New York, A.S.Meninggal2 Juni 2015(2015-06-02) (umur 88)Deerfield, Massachusetts, A.S.AlmamaterUniversitas Chicago (BS, PhD) NYU (pascadoktoral)Dikenal atasDegradasi protein yang dimediasi ubikitinSuami/istriZelda Budenstein[1]Anak4[1]PenghargaanPenghargaan Nobel Kimia (2004)Karier ilmiahBidangBiologiInstitusi Fox Chase Cancer Center Universitas Pennsylvania Universitas California, Irvine...

 

Members of the New South Wales Legislative Council who served in the 50th Parliament were affected by the 1991 referendum which reduced the number of members and reduced their term from three terms of the Legislative Assembly to two terms, meaning the maximum term was eight years. The Council consisted of 42 members, 12 elected in 1984, 15 elected in 1988 and 15 elected in 1991. Half of the council would face re-election in 1995 and half did not face re-election until 1999.[1][2&...

 

Pakistani cricketer Not to be confused with Mohammad Hanif. PPHanif MohammadPersonal informationFull nameHanif MohammadBorn(1934-12-21)21 December 1934Junagadh, Junagadh State, British IndiaDied11 August 2016(2016-08-11) (aged 81)Karachi, Sindh, PakistanNicknameLittle MasterHeight5 ft 7 in (1.70 m)BattingRight-handedBowlingRight-arm off breakRoleBatsmanRelationsWazir Mohammad (brother)Raees Mohammad (brother)Mushtaq Mohammad (brother)Sadiq Mohammad (brother) Shoaib Mo...

Welsh photojournalist Philip Jones GriffithsBorn(1936-02-18)18 February 1936Rhuddlan, Denbighshire, WalesDied19 March 2008(2008-03-19) (aged 72)London, EnglandNationalityWelshOccupationPhotojournalismWebsitewww.philipjonesgriffiths.org Philip Jones Griffiths (18 February 1936 – 19 March 2008) was a Welsh photojournalist known for his coverage of the Vietnam War. Biography Jones Griffiths was born in Rhuddlan in Denbighshire, North Wales, to Joseph Griffiths, who supervised the local tr...

 

Peta lokasi Kabupaten Sekadau Berikut adalah daftar kecamatan dan kelurahan di Kabupaten Sekadau, Provinsi Kalimantan Barat, Indonesia. Kabupaten Sekadau terdiri dari 7 kecamatan dan 87 desa. Pada tahun 2017, jumlah penduduknya mencapai 208.791 jiwa dengan luas wilayah 5.444,20 km² dan sebaran penduduk 38 jiwa/km².[1][2] Daftar kecamatan dan kelurahan di Kabupaten Sekadau, adalah sebagai berikut: Kode Kemendagri Kecamatan Jumlah Desa Daftar Desa 61.09.07 Belitang 7 Belitang ...

 

This article uses bare URLs, which are uninformative and vulnerable to link rot. Please consider converting them to full citations to ensure the article remains verifiable and maintains a consistent citation style. Several templates and tools are available to assist in formatting, such as reFill (documentation) and Citation bot (documentation). (August 2022) (Learn how and when to remove this message) Uniting American Families ActLegislative historyBill citationH.R. 519S. 296Introdu...

Building which serves to accommodate police officers For the 1959 TV series, see Police Station (TV Series). Police Station In Monroe New York United States Alathur Police Station in Kerala, India A police station in Zhukovsky, Moscow Oblast, Russia The Tampere Police Station in Tampere, Pirkanmaa, Finland Red sign outside a Swedish police station A police station (sometimes called a station house or just house) is a building which serves to accommodate police officers and other members of po...

 

Anigre is an African hardwood commonly used for plywood, interior furniture, cabinetry, and high-end millwork applications. It is frequently sliced and sold as veneer, although it is available in board form as well. In board form it is used for boat building, general carpentry, and other light construction uses. Characteristics It is considered a tropical hardwood with a clear, cylindrical bole to 80 feet (24 m). It can grow to heights of 180 feet (55 m) with typical trunk diameters...

 

Hindu temple in Singapore Sri Sivan TempleSri Sivan Temple in February 2011ReligionAffiliationHinduismDeityShivaFestivalsMaha Shivaratri, Vasantha Navratri, Guru Peryarchi, Navratri, Skantha ShastiLocationLocation24 Geylang East Avenue 2, Singapore 389752CountrySingaporeLocation within SingaporeGeographic coordinates1°19′6.68″N 103°53′18.31″E / 1.3185222°N 103.8884194°E / 1.3185222; 103.8884194ArchitectureTypeDravidian architectureCompleted1850Websitesst.or...

Cet article est une ébauche concernant une commune du Haut-Rhin. Vous pouvez partager vos connaissances en l’améliorant (comment ?). Le bandeau {{ébauche}} peut être enlevé et l’article évalué comme étant au stade « Bon début » quand il comporte assez de renseignements encyclopédiques concernant la commune. Si vous avez un doute, l’atelier de lecture du projet Communes de France est à votre disposition pour vous aider. Consultez également la page d’aide �...

 

نورثامبرلاند     الإحداثيات 44°33′48″N 71°33′31″W / 44.563333333333°N 71.558611111111°W / 44.563333333333; -71.558611111111   [1] تاريخ التأسيس 1767  تقسيم إداري  البلد الولايات المتحدة[2]  التقسيم الأعلى مقاطعة كوس  خصائص جغرافية  المساحة 94.5 كيلومتر مربع  ارتفاع 262 متر&...

 

Эта статья — о новейшей истории России после распада СССР в 1991 году. О Российской Федерации в составе СССР см. статьи РСФСР и История СССР. Основные статьи: Российская Федерация и История РоссииВ разделе не хватает ссылок на источники (см. рекомендации по поиску). Информац...

Voce principale: Associazione Calcio Cesena. Associazione Calcio CesenaStagione 1981-1982 Sport calcio Squadra Cesena Allenatore G.B. Fabbri, dalla 15ª gior, Renato Lucchi Presidente Edmeo Lugaresi Serie A10º posto Coppa ItaliaPrimo turno Maggiori presenzeCampionato: Piraccini, Recchi (30)Totale: Piraccini, Recchi (34) Miglior marcatoreCampionato: Garlini, Schachner (9)Totale: Garlini, Schachner (9) StadioStadio La Fiorita 1980-1981 1982-1983 Si invita a seguire il modello di voce Que...

 

UFC 227: Dillashaw vs. Garbrandt 2Prodotto daUltimate Fighting Championship Data4 agosto 2018 Città Los Angeles SedeStaples Center Spettatori17 794[1] Cronologia pay-per-viewUFC on Fox: Alvarez vs. Poirier 2UFC 227: Dillashaw vs. Garbrandt 2UFC Fight Night: Gaethje vs. Vick Progetto Wrestling Manuale UFC 227: Dillashaw vs. Garbrandt 2 è stato un evento di arti marziali miste tenuto dalla Ultimate Fighting Championship il 4 agosto 2018 allo Staples Center di Los Angeles, negli S...