Кіріспе

Массивтер немесе тензорлар элементтерін сілтеме жасау тәсілі – индекс жазуы немесе салыстырмалылық теориясы және абстрактілік алгебрадағы индекстік жазу. Математика мен компьютерлік бағдарламалауда индекс жазуы сандар массивінің элементтерін көрсету үшін қолданылады. Индекстерді қалай пайдалану формализмі пәнге қарай өзгереді. Атап айтқанда, тізім, вектор немесе матрица элементтерін сілтемелеудің әртүрлі әдістері бар, бұл ресми математикалық мақала жариялауға немесе компьютерлік бағдарлама жазуға байланысты.

Математикадан

Математикада массив элементтерін индекс арқылы көрсету жиі пайдалы болады. Индекстер бүтін сандар немесе айнымалылар болуы мүмкін. Массив, әдетте, тензорлар түрінде келеді, себебі оларды көп өлшемді массивтер ретінде қарастыруға болады. Ерекше (және көбірек таныс) жағдайлар – векторлар (бір өлшемді массивтер) және матрицалар (екі өлшемді массивтер). Төмендегі мәліметтер осы ұғымға ғана кіріспе болып табылады: индекс жазу математикада (әсіресе тензорлық амалдарды бейнелеу және өңдеуде) толыққанды қолданылады. Толық ақпарат алу үшін негізгі мақаланы қараңыз.

Көп өлшемді матрицалар

Бұл белгі элементтердің көп өлшемді массивтеріне, яғни тензорларға анық жалпылауға мүмкіндік береді. Мысалы, көптеген теңдеулер жиынтығын көрсетеді. Тензорлық талдауда ковариантты және контравариантты шамаларды ажырату үшін әріптердің төменгі индексінің орнына жоғарғы индексі қолданылады, векторлардың коварианттылығы мен контраварианттылығы және индекстерді көтеру мен түсіру туралы қараңыз.

Есептеу саласында

Бірнеше бағдарламалау тілдерінде индекс белгісі массивтің элементтерін атаудың әдісі болып табылады. Бұл әдіс ассемблер тіліндегі іске асыруға ең жақын болғандықтан қолданылады, онда бірінші элементтің мекенжайы негіз ретінде пайдаланылады, ал элемент өлшемінің еселігі (индекс) массив ішіндегі мекенжайды анықтау үшін қолданылады. Мысалы, егер бүтін сандар массиві компьютер жадының 3000 мекенжайы бар жад ұяшығынан (негізгі мекенжай) басталатын аймағында сақталса және әрбір бүтін сан төрт ұяшықты (байтты) алып жатса, онда бұл массивтің элементтері жад орындарында 0x3000, 0x3004, 0x3008, ..., 0x3000 + 4(n − 1) (нөлдік нөмірлеуге назар аударыңыз) орналасады. Жалпы алғанда, негізгі мекенжайы b және элемент өлшемі s болатын массивтің i-інші элементінің мекенжайы b + is болады.

Жүзеге асырудың егжей-тегжейлі сипаттамасы

C бағдарламалау тілінде жоғарыдағыны (көрсеткіш түрінде) немесе (массивтік индекстеу түрінде) жазуға болады, олар толыққанды эквивалентті, себебі C стандарты массивтік индекстеу түрін көрсеткіш түріне түрлендіру ретінде анықтайды. Сәйкес келіп, көрсеткіштерді қосу коммутативті болғандықтан, бұл түсініксіз өрнектерге мүмкіндік береді, мысалы, бұл өрнекке тең .

Басқа тілдерде

Паскаль сияқты басқа бағдарламалау тілдерінде индекстер 1-ден басталуы мүмкін, сондықтан жад блогындағы индекстеуді 1-ден басталатын адрестеу схемасына сәйкес ету үшін қарапайым сызықтық түрлендіру арқылы өзгертуге болады. Осы схема бойынша, негізгі адресі b және элементінің мөлшері s болатын i-інші элементтің жадтағы орны b + (i − 1)s болады.