趙禹琦
(湛江科技學(xué)院 智能制造學(xué)院,廣東 湛江 524094)
在多元函數(shù)微分學(xué)的研究中,通過(guò)分析多元函數(shù)的偏導(dǎo)數(shù)能夠詳細(xì)分析函數(shù)的性質(zhì)規(guī)律。而在多元函數(shù)中有一類(lèi)不能夠用顯式關(guān)系表達(dá)的函數(shù)稱(chēng)為隱函數(shù),在解決實(shí)際問(wèn)題構(gòu)建模型的目標(biāo)函數(shù)中這類(lèi)隱函數(shù)占有重要部分。因此研究隱函數(shù)性質(zhì)是分析多元函數(shù)微分學(xué)以及解決實(shí)際函數(shù)問(wèn)題的重要部分。對(duì)多元隱函數(shù)求偏導(dǎo)數(shù)是研究該函數(shù)的基礎(chǔ),在多元隱函數(shù)領(lǐng)域,應(yīng)用相應(yīng)的函數(shù)存在定理所給出的公式可以求出其偏導(dǎo)數(shù),但是在復(fù)雜多樣的實(shí)際問(wèn)題中,對(duì)偏導(dǎo)數(shù)的求解往往是中間過(guò)渡環(huán)節(jié),這就需要高效快速的來(lái)求多元隱函數(shù)的偏導(dǎo)數(shù)。在大數(shù)據(jù)時(shí)代通過(guò)計(jì)算機(jī)軟件解決實(shí)際問(wèn)題最是實(shí)用的方法,在眾多軟件中Python具有程序語(yǔ)言簡(jiǎn)潔,靈活性強(qiáng),庫(kù)的種類(lèi)多等特點(diǎn)被廣泛應(yīng)用在數(shù)學(xué)問(wèn)題求解中。依據(jù)隱函數(shù)存在定理,應(yīng)用Python軟件設(shè)計(jì)相應(yīng)的程序,能夠?qū)Χ嘣[函數(shù)的偏導(dǎo)數(shù)進(jìn)行求解,以便深入分析函數(shù)相關(guān)性質(zhì)。
Python軟件所使用的編程語(yǔ)言簡(jiǎn)單易懂,從開(kāi)發(fā)初代到現(xiàn)在發(fā)展迅速,廣泛的被應(yīng)用在工業(yè)和教育科學(xué)等領(lǐng)域,Python軟件所使用的編程語(yǔ)言屬于解釋型,在Python軟件中命令是在“解釋器”中執(zhí)行的。其運(yùn)行過(guò)程是Python解釋器在接收一條命令后,對(duì)命令進(jìn)行評(píng)估,依據(jù)評(píng)估返回這條命令的結(jié)果,Python解釋器在調(diào)試過(guò)程中具有良好的交互性[1]。Python軟件的語(yǔ)法簡(jiǎn)明,其編程語(yǔ)言具有面向?qū)ο蟮奶卣鳎哂心K化的組織原則。在Python軟件中,模塊指的是在源代碼中所定義的密切相關(guān)的函數(shù)和類(lèi)的集合。例如Python中標(biāo)準(zhǔn)庫(kù)的math模塊,這個(gè)模塊定義了函數(shù)和一些數(shù)學(xué)常量。Python軟件用抽象基類(lèi)的機(jī)制來(lái)支持抽象數(shù)據(jù)類(lèi)型[2]。在Python軟件中有許多內(nèi)置函數(shù),其中最基本的是輸入輸出功能函數(shù),如果需要生成標(biāo)準(zhǔn)輸出到控制臺(tái)則需要用到print函數(shù),它能夠打印任意序列的參數(shù),如果需要打印多個(gè)參數(shù),它們之間要以空格來(lái)分隔,并在末尾加一個(gè)換行符。例如:print(‘mk’,8)輸出的結(jié)果是字符串mk 8,這兩個(gè)字符串中間有空格分隔。需要注意的是print函數(shù)可以打印的參數(shù)不僅是字符串,如果沒(méi)有任何參數(shù),命令print()輸出的就是個(gè)簡(jiǎn)單的換行符。對(duì)于print函數(shù)可以使用關(guān)鍵字參數(shù)定義,例如可以通過(guò)關(guān)鍵字參數(shù)sep來(lái)定義分隔符對(duì)字符串進(jìn)行分隔,關(guān)鍵字參數(shù)end可以用來(lái)指定一個(gè)可選擇的字符串作為結(jié)尾,關(guān)鍵字參數(shù)file既可以用來(lái)指示一個(gè)文件輸出流,又可以找到一個(gè)文件直接輸出。常用的內(nèi)置函數(shù)還有input函數(shù),它是用來(lái)接收來(lái)自用戶輸入的信息。在給出一個(gè)可選擇參數(shù)后,input函數(shù)會(huì)顯示提示信息,之后等待用戶輸入字符,直到用戶按下返回鍵。input函數(shù)具有的返回值是用戶在按返回鍵之前的那些由用戶輸入的字符串。在讀取用戶輸入的數(shù)值時(shí),程序員會(huì)使用input函數(shù)來(lái)獲得字符串,在應(yīng)用int或者float語(yǔ)法構(gòu)建用戶的這些以字符串表示的數(shù)值[3]。
除了一些內(nèi)置的定義之外,Python軟件還包括了多種數(shù)值,函數(shù)和被組織在附加庫(kù)中的類(lèi),類(lèi)也稱(chēng)為模塊,可以在一個(gè)程序內(nèi)導(dǎo)入,例如在math模塊中,雖然它的內(nèi)置命名空間包含一些數(shù)學(xué)計(jì)算函數(shù)(abs,max,min等),但常用的是歸為math模塊(sin,cos等),在這個(gè)模塊中定義了一些數(shù)學(xué)常數(shù)例如pi和e。
在Python軟件中,將定義從模塊中載入當(dāng)前命名空間需要應(yīng)用import來(lái)聲明。import語(yǔ)句的語(yǔ)法形式可以表示為:from math import pi。通過(guò)這個(gè)命令可以在當(dāng)前的命名空間載入math模塊所定義的pi,允許直接使用pi這個(gè)標(biāo)識(shí)符。若有很多的定義來(lái)自導(dǎo)入的同一個(gè)模塊,可以使用*。即from math import*。還有一種方式是導(dǎo)入模塊本身,它可以用于在相同模塊中訪問(wèn)多個(gè)定義,語(yǔ)法形式為:import math,引入之后,模塊中的定義在訪問(wèn)時(shí)需要用一個(gè)完全限定的名稱(chēng),例如math.pi。Python中還有種類(lèi)豐富的科學(xué)計(jì)算庫(kù)[4],例如sympy庫(kù),這個(gè)庫(kù)中的diff函數(shù)可以用來(lái)對(duì)目標(biāo)函數(shù)求導(dǎo),方便快捷的解決實(shí)際問(wèn)題需要。對(duì)于處理復(fù)雜的多元函數(shù),尤其求由方程組確定的多元隱函數(shù)的偏導(dǎo)數(shù),利用Python軟件的特點(diǎn),合理設(shè)計(jì)代碼,能夠準(zhǔn)確快捷地得到所需要的偏導(dǎo)數(shù),從而為解決實(shí)際問(wèn)題提供紐帶。


在單個(gè)的隱函數(shù)求偏導(dǎo)數(shù)的基礎(chǔ)上,一些實(shí)際問(wèn)題中還會(huì)涉及到對(duì)由多元方程組確定的隱函數(shù)求偏導(dǎo)數(shù),例如下面方程組:

確定的隱函數(shù)求偏導(dǎo)數(shù),這類(lèi)方程組確定的是兩個(gè)二元隱函數(shù),又稱(chēng)為向量值隱函數(shù),對(duì)其求偏導(dǎo)數(shù)可以用到相應(yīng)的隱函數(shù)存在定理[6]:設(shè)函數(shù)在點(diǎn)的某個(gè)領(lǐng)域內(nèi)的偏導(dǎo)數(shù)連續(xù),同時(shí)滿足,由相應(yīng)的偏導(dǎo)數(shù)組成的雅克比行列式:


利用相應(yīng)的隱函數(shù)存在定理可以對(duì)多元隱函數(shù)求偏導(dǎo)數(shù),而復(fù)雜的實(shí)際問(wèn)題通常涉及到多個(gè)目標(biāo)函數(shù),合理利用Python軟件設(shè)計(jì)代碼,能夠?qū)崿F(xiàn)對(duì)多元隱函數(shù)方程組確定的隱函數(shù)求偏導(dǎo)數(shù),從而提升計(jì)算效率。
在研究具體的實(shí)際問(wèn)題中,往往會(huì)將問(wèn)題抽象成目標(biāo)函數(shù),通過(guò)對(duì)目標(biāo)函數(shù)的性質(zhì)分析來(lái)獲得解決問(wèn)題所需要的關(guān)鍵條件。大部分實(shí)際問(wèn)題都涉及到多個(gè)復(fù)雜因素,即所得的目標(biāo)函數(shù)是多元的隱函數(shù),通過(guò)求多元隱函數(shù)的偏導(dǎo)數(shù)來(lái)分析函數(shù)性質(zhì)有助于問(wèn)題的解決。復(fù)雜條件的實(shí)際問(wèn)題常涉及到方程組,基于Python軟件的科學(xué)計(jì)算庫(kù)和簡(jiǎn)明的語(yǔ)法規(guī)則,以二元隱函數(shù)方程組為例,用Python軟件來(lái)實(shí)現(xiàn)偏導(dǎo)數(shù)的求解更加便捷快速。
求解二元隱函數(shù)方程組確定的二元函數(shù)的偏導(dǎo)數(shù),利用向量值隱函數(shù)存在定理和Python軟件的優(yōu)勢(shì)特點(diǎn)可以實(shí)現(xiàn),具體舉例如下:

解:設(shè)

先由方程組求出相應(yīng)的偏導(dǎo)數(shù):

依據(jù)向量值隱函數(shù)存在定理,雅克比行列式:

由定理得出各偏導(dǎo)數(shù)為:

在Python軟件中求二元方程組確定的隱函數(shù)的偏導(dǎo)數(shù)程序設(shè)計(jì):
Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] on win32
Type “copyright”, “credits” or “l(fā)icense()” for more information.
>>> from sympy import*
>>> x,y=symbols(‘x,y’);u,v=symbols(‘u,v’)
>>> a1=diff(x*u-y*v,x);a2=diff(x*u-y*v,y)
>>> a3=diff(x*u-y*v,u);a4=diff(x*u-y*v,v)
>>> b1=diff(y*u+x*v-1,x);b2=diff(y*u+x*v-1,y)
>>> b3=diff(y*u+x*v-1,u);b4=diff(y*u+x*v-1,v)
>>> j=a3*b4-a4*b3
>>> m1=a1*b4-a4*b1
>>> n1=-(m1/j)
>>> print(‘u對(duì)x的偏導(dǎo)數(shù)為:’,n1)
u對(duì)x的偏導(dǎo)數(shù)為: -(u*x + v*y)/(x**2 + y**2)
>>> m2=a2*b4-a4*b2
>>> n2=-(m2/j)
>>> print(‘u對(duì)y的偏導(dǎo)數(shù)為:’,n2)
u對(duì)y的偏導(dǎo)數(shù)為: -(u*y - v*x)/(x**2 + y**2)
>>> m3=a3*b1-a1*b3
>>> n3=-(m3/j)
>>> print(‘v對(duì)x的偏導(dǎo)數(shù)為:’,n3)
v對(duì)x的偏導(dǎo)數(shù)為: -(-u*y + v*x)/(x**2 + y**2)
>>> m4=a3*b2-a2*b3
>>> n4=-(m4/j)
>>> print(‘v對(duì)y的偏導(dǎo)數(shù)為:’,n4)
v對(duì)y的偏導(dǎo)數(shù)為: -(u*x + v*y)/(x**2 + y**2)
經(jīng)過(guò)驗(yàn)證程序所得結(jié)果與實(shí)際應(yīng)用向量值隱函數(shù)存在定理公式計(jì)算得到的結(jié)果一致,因此程序可以有效運(yùn)行。可見(jiàn)通過(guò)Python軟件進(jìn)行多元隱函數(shù)偏導(dǎo)數(shù)的求解可以快速準(zhǔn)確地得到結(jié)果,為解決具體問(wèn)題提供有利幫助。
分析多元隱函數(shù)的性質(zhì)有助于有效分析復(fù)雜多因素實(shí)際問(wèn)題所確定的目標(biāo)函數(shù)。在涉及到多個(gè)目標(biāo)函數(shù)時(shí)常用到方程組,這就需要快速求解多元隱函數(shù)方程組的偏導(dǎo)數(shù),以便對(duì)實(shí)際問(wèn)題進(jìn)行深入分析,基于Python軟件操作簡(jiǎn)潔,代碼具有簡(jiǎn)明語(yǔ)法規(guī)則,在科學(xué)運(yùn)算過(guò)程中效率高等特點(diǎn),選用Python軟件設(shè)計(jì)代碼實(shí)現(xiàn)多元隱函數(shù)方程組確定的隱函數(shù)求偏導(dǎo)數(shù)可以節(jié)省人工計(jì)算時(shí)間,提高計(jì)算準(zhǔn)確度,有助于對(duì)實(shí)際問(wèn)題的目標(biāo)函數(shù)進(jìn)行準(zhǔn)確分析,從而提高問(wèn)題解決的效率。