≪
≫

# -выражения для векторов

PASCAL-XSC

Для векторов над арифметическими типами real, complex, interval и cinterval высокоточные выражения строятся аналогично:

Тип высокоточного выражения

Синтаксис

#-выражение типа rvector

# * (rvector ТочноеВыражение)

# < (rvector ТочноеВыражение)

# > (rvector ТочноеВыражение)

# -выражение типа ivector

# # (rvector ТочноеВыражение)

# # (ivector ТочноеВыражение)

#-выражение типа cvector

#* (cvector ТочноеВыражение)

# < (cvector ТочноеВыражение)

# > (cvector ТочноеВыражение)

#-выражение типа civector

# # (cvector ТочноеВыражение)

# # (civector ТочноеВыражение)

Точное выражение имеет вид

|± Слагаемое ЗнакОперации Слагаемое

где в качестве знаков операций допустимы только + или —.

Вот слагаемые, которые можно соединять знаками операций + и —

(здесь т,сг е {real, interval, complex, cinterval}):

Слагаемое

Определение

r vector-операнд

т-операнд * cr vector-операнд

т vector-операнд * сг-операнд

т matrix-операнд * a vector-операнд

(Точное выражение типа т vector)

for i := n to m sum

(точное выражение типа т vector)

for i := n downto m sum

(точное выражение типа т vector)

Переменная, вызов функции Точное покомпонентное произведение двойной длины

Точное покомпонентное произведение двойной длины

Точное матрично-векторное произведение (с точным скалярным произведением для каждой компоненты) Точное выражение, заключенное в скобки for-оператор для суммирования, где i — integer-переменная, а п и m — integer-выражения for-оператор для суммирования, где i — integer-переменная, а п и m — integer-выражения

Слагаемые не обязательно должны иметь один и тот же тип. В высокоточном выражении типа civector можно использовать слагаемые типов rvector, cvector или ivector в любом сочетании. Тип точного выражения определяется комбинацией типов его слагаемых. Список допустимых т- и сг-операндов приведен в разд. 2.4.4.4.

Пример 2.4.12.

При объявлении переменных

var а, b

: real;

M

: rmatrix[1..10,1..10];

са

: complex;

cM

: cmatrix[1..10,1..10];

V, W

: rvector[1.. 10];

iM

: imatrix[1..10,1..10];

CV

: cvector[1.. 10];

ciM

: cimatrix[1..10,1..10];

civ

: civector[1.. 10];

синтаксически корректны следующие высокоточные выражения:

Высокоточное выражение

Тип результата rvector cvector ivector civector

#* (for i := 1 to 10 sum (M * v + a * M[*,i]))

# > (cv + v*b + a*cv + cM * w + cM * cv)

# # (v + a * v + iM * v)

# # (cv + M * v + ca * civ + ciM * cv)

 
Посмотреть оригинал