aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorJay Belanger2009-07-30 04:40:41 +0000
committerJay Belanger2009-07-30 04:40:41 +0000
commit65d0154bdca42237877ba69e7454e22c447ade86 (patch)
treea1ee500f2a251e66326d6aa393aa82d2ad4b1a9e /doc
parent1586503c80301707f138c71208fac69c11274d02 (diff)
downloademacs-65d0154bdca42237877ba69e7454e22c447ade86.tar.gz
emacs-65d0154bdca42237877ba69e7454e22c447ade86.zip
(Vector/Matrix Functions): Add index entries for both "v" and "V" key
bindings. Mention that `calc-matrix-brackets' only affects matrices with more than one row.
Diffstat (limited to 'doc')
-rw-r--r--doc/misc/ChangeLog6
-rw-r--r--doc/misc/calc.texi92
2 files changed, 91 insertions, 7 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 6afc271848d..97b5f63829a 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,9 @@
12009-07-30 Jay Belanger <jay.p.belanger@gmail.com>
2
3 * calc.texi (Vector/Matrix Functions): Add index entries for both
4 "v" and "V" key bindings. Mention that `calc-matrix-brackets' only
5 affects matrices with more than one row.
6
12009-07-29 Jay Belanger <jay.p.belanger@gmail.com> 72009-07-29 Jay Belanger <jay.p.belanger@gmail.com>
2 8
3 * calc.texi (Stack Manipulation Commands): Add documentation for 9 * calc.texi (Stack Manipulation Commands): Add documentation for
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi
index 028afba3e6f..573db010672 100644
--- a/doc/misc/calc.texi
+++ b/doc/misc/calc.texi
@@ -16553,6 +16553,7 @@ or matrix argument, these functions operate element-wise.
16553@mindex v p 16553@mindex v p
16554@end ignore 16554@end ignore
16555@kindex v p (complex) 16555@kindex v p (complex)
16556@kindex V p (complex)
16556@pindex calc-pack 16557@pindex calc-pack
16557The @kbd{v p} (@code{calc-pack}) command can pack the top two numbers on 16558The @kbd{v p} (@code{calc-pack}) command can pack the top two numbers on
16558the stack into a composite object such as a complex number. With 16559the stack into a composite object such as a complex number. With
@@ -16564,6 +16565,7 @@ with an argument of @mathit{-2}, it produces a polar complex number.
16564@mindex v u 16565@mindex v u
16565@end ignore 16566@end ignore
16566@kindex v u (complex) 16567@kindex v u (complex)
16568@kindex V u (complex)
16567@pindex calc-unpack 16569@pindex calc-unpack
16568The @kbd{v u} (@code{calc-unpack}) command takes the complex number 16570The @kbd{v u} (@code{calc-unpack}) command takes the complex number
16569(or other composite object) on the top of the stack and unpacks it 16571(or other composite object) on the top of the stack and unpacks it
@@ -19365,6 +19367,7 @@ described in this chapter because they are most often used to build
19365vectors. 19367vectors.
19366 19368
19367@kindex v p 19369@kindex v p
19370@kindex V p
19368@pindex calc-pack 19371@pindex calc-pack
19369The @kbd{v p} (@code{calc-pack}) [@code{pack}] command collects several 19372The @kbd{v p} (@code{calc-pack}) [@code{pack}] command collects several
19370elements from the stack into a matrix, complex number, HMS form, error 19373elements from the stack into a matrix, complex number, HMS form, error
@@ -19497,6 +19500,7 @@ number of data items does not match the number of items required
19497by the mode. 19500by the mode.
19498 19501
19499@kindex v u 19502@kindex v u
19503@kindex V u
19500@pindex calc-unpack 19504@pindex calc-unpack
19501The @kbd{v u} (@code{calc-unpack}) command takes the vector, complex 19505The @kbd{v u} (@code{calc-unpack}) command takes the vector, complex
19502number, HMS form, or other composite object on the top of the stack and 19506number, HMS form, or other composite object on the top of the stack and
@@ -19614,6 +19618,7 @@ two stack arguments in the opposite order. Thus @kbd{I |} is equivalent
19614to @kbd{@key{TAB} |}, but possibly more convenient and also a bit faster. 19618to @kbd{@key{TAB} |}, but possibly more convenient and also a bit faster.
19615 19619
19616@kindex v d 19620@kindex v d
19621@kindex V d
19617@pindex calc-diag 19622@pindex calc-diag
19618@tindex diag 19623@tindex diag
19619The @kbd{v d} (@code{calc-diag}) [@code{diag}] function builds a diagonal 19624The @kbd{v d} (@code{calc-diag}) [@code{diag}] function builds a diagonal
@@ -19632,6 +19637,7 @@ matrix first and then add a constant value to that matrix. (Another
19632alternative would be to use @kbd{v b} and @kbd{v a}; see below.) 19637alternative would be to use @kbd{v b} and @kbd{v a}; see below.)
19633 19638
19634@kindex v i 19639@kindex v i
19640@kindex V i
19635@pindex calc-ident 19641@pindex calc-ident
19636@tindex idn 19642@tindex idn
19637The @kbd{v i} (@code{calc-ident}) [@code{idn}] function builds an identity 19643The @kbd{v i} (@code{calc-ident}) [@code{idn}] function builds an identity
@@ -19652,6 +19658,7 @@ identity matrices are immediately expanded to the current default
19652dimensions. 19658dimensions.
19653 19659
19654@kindex v x 19660@kindex v x
19661@kindex V x
19655@pindex calc-index 19662@pindex calc-index
19656@tindex index 19663@tindex index
19657The @kbd{v x} (@code{calc-index}) [@code{index}] function builds a vector 19664The @kbd{v x} (@code{calc-index}) [@code{index}] function builds a vector
@@ -19676,6 +19683,7 @@ sequence to be generated. For example, @samp{index(-3, a, b)} produces
19676is one for positive @var{n} or two for negative @var{n}. 19683is one for positive @var{n} or two for negative @var{n}.
19677 19684
19678@kindex v b 19685@kindex v b
19686@kindex V b
19679@pindex calc-build-vector 19687@pindex calc-build-vector
19680@tindex cvec 19688@tindex cvec
19681The @kbd{v b} (@code{calc-build-vector}) [@code{cvec}] function builds a 19689The @kbd{v b} (@code{calc-build-vector}) [@code{cvec}] function builds a
@@ -19686,7 +19694,9 @@ can also be used to build an @var{n}-by-@var{m} matrix of copies of @var{x}.
19686to build a matrix of copies of that row.) 19694to build a matrix of copies of that row.)
19687 19695
19688@kindex v h 19696@kindex v h
19697@kindex V h
19689@kindex I v h 19698@kindex I v h
19699@kindex I V h
19690@pindex calc-head 19700@pindex calc-head
19691@pindex calc-tail 19701@pindex calc-tail
19692@tindex head 19702@tindex head
@@ -19697,6 +19707,7 @@ function returns the vector with its first element removed. In both
19697cases, the argument must be a non-empty vector. 19707cases, the argument must be a non-empty vector.
19698 19708
19699@kindex v k 19709@kindex v k
19710@kindex V k
19700@pindex calc-cons 19711@pindex calc-cons
19701@tindex cons 19712@tindex cons
19702The @kbd{v k} (@code{calc-cons}) [@code{cons}] function takes a value @var{h} 19713The @kbd{v k} (@code{calc-cons}) [@code{cons}] function takes a value @var{h}
@@ -19706,15 +19717,18 @@ if @var{h} is itself a vector, @kbd{|} will concatenate the two vectors
19706whereas @code{cons} will insert @var{h} at the front of the vector @var{t}. 19717whereas @code{cons} will insert @var{h} at the front of the vector @var{t}.
19707 19718
19708@kindex H v h 19719@kindex H v h
19720@kindex H V h
19709@tindex rhead 19721@tindex rhead
19710@ignore 19722@ignore
19711@mindex @idots 19723@mindex @idots
19712@end ignore 19724@end ignore
19713@kindex H I v h 19725@kindex H I v h
19726@kindex H I V h
19714@ignore 19727@ignore
19715@mindex @null 19728@mindex @null
19716@end ignore 19729@end ignore
19717@kindex H v k 19730@kindex H v k
19731@kindex H V k
19718@ignore 19732@ignore
19719@mindex @null 19733@mindex @null
19720@end ignore 19734@end ignore
@@ -19736,6 +19750,7 @@ Also, @samp{head([a, b, c, d]) = a}, @samp{tail([a, b, c, d]) = [b, c, d]},
19736 19750
19737@noindent 19751@noindent
19738@kindex v r 19752@kindex v r
19753@kindex V r
19739@pindex calc-mrow 19754@pindex calc-mrow
19740@tindex mrow 19755@tindex mrow
19741The @kbd{v r} (@code{calc-mrow}) [@code{mrow}] command extracts one row of 19756The @kbd{v r} (@code{calc-mrow}) [@code{mrow}] command extracts one row of
@@ -19786,6 +19801,7 @@ of a square matrix in the form of a vector. In algebraic form this
19786function is called @code{getdiag}. 19801function is called @code{getdiag}.
19787 19802
19788@kindex v c 19803@kindex v c
19804@kindex V c
19789@pindex calc-mcol 19805@pindex calc-mcol
19790@tindex mcol 19806@tindex mcol
19791@tindex mrcol 19807@tindex mrcol
@@ -19803,6 +19819,7 @@ use subscript notation: @samp{m_i_j} gives row @expr{i}, column @expr{j}
19803of matrix @expr{m}. 19819of matrix @expr{m}.
19804 19820
19805@kindex v s 19821@kindex v s
19822@kindex V s
19806@pindex calc-subvector 19823@pindex calc-subvector
19807@tindex subvec 19824@tindex subvec
19808The @kbd{v s} (@code{calc-subvector}) [@code{subvec}] command extracts 19825The @kbd{v s} (@code{calc-subvector}) [@code{subvec}] command extracts
@@ -19823,6 +19840,7 @@ end of the vector are used. The infinity symbol, @code{inf}, also
19823has this effect when used as the ending index. 19840has this effect when used as the ending index.
19824 19841
19825@kindex I v s 19842@kindex I v s
19843@kindex I V s
19826@tindex rsubvec 19844@tindex rsubvec
19827With the Inverse flag, @kbd{I v s} [@code{rsubvec}] removes a subvector 19845With the Inverse flag, @kbd{I v s} [@code{rsubvec}] removes a subvector
19828from a vector. The arguments are interpreted the same as for the 19846from a vector. The arguments are interpreted the same as for the
@@ -19838,6 +19856,7 @@ vectors one element at a time.
19838 19856
19839@noindent 19857@noindent
19840@kindex v l 19858@kindex v l
19859@kindex V l
19841@pindex calc-vlength 19860@pindex calc-vlength
19842@tindex vlen 19861@tindex vlen
19843The @kbd{v l} (@code{calc-vlength}) [@code{vlen}] command computes the 19862The @kbd{v l} (@code{calc-vlength}) [@code{vlen}] command computes the
@@ -19846,6 +19865,7 @@ Note that matrices are just vectors of vectors for the purposes of this
19846command. 19865command.
19847 19866
19848@kindex H v l 19867@kindex H v l
19868@kindex H V l
19849@tindex mdims 19869@tindex mdims
19850With the Hyperbolic flag, @kbd{H v l} [@code{mdims}] computes a vector 19870With the Hyperbolic flag, @kbd{H v l} [@code{mdims}] computes a vector
19851of the dimensions of a vector, matrix, or higher-order object. For 19871of the dimensions of a vector, matrix, or higher-order object. For
@@ -19856,6 +19876,7 @@ its argument is a
19856matrix. 19876matrix.
19857 19877
19858@kindex v f 19878@kindex v f
19879@kindex V f
19859@pindex calc-vector-find 19880@pindex calc-vector-find
19860@tindex find 19881@tindex find
19861The @kbd{v f} (@code{calc-vector-find}) [@code{find}] command searches 19882The @kbd{v f} (@code{calc-vector-find}) [@code{find}] command searches
@@ -19866,6 +19887,7 @@ Otherwise, the result is zero. The numeric prefix argument, if given,
19866allows you to select any starting index for the search. 19887allows you to select any starting index for the search.
19867 19888
19868@kindex v a 19889@kindex v a
19890@kindex V a
19869@pindex calc-arrange-vector 19891@pindex calc-arrange-vector
19870@tindex arrange 19892@tindex arrange
19871@cindex Arranging a matrix 19893@cindex Arranging a matrix
@@ -19896,7 +19918,9 @@ matrix), and @kbd{v a 0} produces the flattened list
19896@samp{[1, 2, @w{3, 4}]}. 19918@samp{[1, 2, @w{3, 4}]}.
19897 19919
19898@cindex Sorting data 19920@cindex Sorting data
19921@kindex v S
19899@kindex V S 19922@kindex V S
19923@kindex I v S
19900@kindex I V S 19924@kindex I V S
19901@pindex calc-sort 19925@pindex calc-sort
19902@tindex sort 19926@tindex sort
@@ -19919,7 +19943,9 @@ The @kbd{I V S} [@code{rsort}] command sorts a vector into decreasing order.
19919@cindex Inverse of permutation 19943@cindex Inverse of permutation
19920@cindex Index tables 19944@cindex Index tables
19921@cindex Rank tables 19945@cindex Rank tables
19946@kindex v G
19922@kindex V G 19947@kindex V G
19948@kindex I v G
19923@kindex I V G 19949@kindex I V G
19924@pindex calc-grade 19950@pindex calc-grade
19925@tindex grade 19951@tindex grade
@@ -19951,6 +19977,7 @@ by phone numbers. Because the sort is stable, any two rows with equal
19951phone numbers will remain sorted by name even after the second sort. 19977phone numbers will remain sorted by name even after the second sort.
19952 19978
19953@cindex Histograms 19979@cindex Histograms
19980@kindex v H
19954@kindex V H 19981@kindex V H
19955@pindex calc-histogram 19982@pindex calc-histogram
19956@ignore 19983@ignore
@@ -19968,6 +19995,7 @@ range are ignored. (You can tell if elements have been ignored by noting
19968that the counts in the result vector don't add up to the length of the 19995that the counts in the result vector don't add up to the length of the
19969input vector.) 19996input vector.)
19970 19997
19998@kindex H v H
19971@kindex H V H 19999@kindex H V H
19972With the Hyperbolic flag, @kbd{H V H} pulls two vectors from the stack. 20000With the Hyperbolic flag, @kbd{H V H} pulls two vectors from the stack.
19973The second-to-top vector is the list of numbers as before. The top 20001The second-to-top vector is the list of numbers as before. The top
@@ -19977,6 +20005,7 @@ the first weight is 10, then 10 will be added to bin 4 of the result
19977vector. Without the hyperbolic flag, every element has a weight of one. 20005vector. Without the hyperbolic flag, every element has a weight of one.
19978 20006
19979@kindex v t 20007@kindex v t
20008@kindex V t
19980@pindex calc-transpose 20009@pindex calc-transpose
19981@tindex trn 20010@tindex trn
19982The @kbd{v t} (@code{calc-transpose}) [@code{trn}] command computes 20011The @kbd{v t} (@code{calc-transpose}) [@code{trn}] command computes
@@ -19985,6 +20014,7 @@ is a plain vector, it is treated as a row vector and transposed into
19985a one-column matrix. 20014a one-column matrix.
19986 20015
19987@kindex v v 20016@kindex v v
20017@kindex V v
19988@pindex calc-reverse-vector 20018@pindex calc-reverse-vector
19989@tindex rev 20019@tindex rev
19990The @kbd{v v} (@code{calc-reverse-vector}) [@code{rev}] command reverses 20020The @kbd{v v} (@code{calc-reverse-vector}) [@code{rev}] command reverses
@@ -19994,6 +20024,7 @@ principle can be used to apply other vector commands to the columns of
19994a matrix.) 20024a matrix.)
19995 20025
19996@kindex v m 20026@kindex v m
20027@kindex V m
19997@pindex calc-mask-vector 20028@pindex calc-mask-vector
19998@tindex vmask 20029@tindex vmask
19999The @kbd{v m} (@code{calc-mask-vector}) [@code{vmask}] command uses 20030The @kbd{v m} (@code{calc-mask-vector}) [@code{vmask}] command uses
@@ -20006,6 +20037,7 @@ to zeros in the mask vector deleted. Thus, for example,
20006@xref{Logical Operations}. 20037@xref{Logical Operations}.
20007 20038
20008@kindex v e 20039@kindex v e
20040@kindex V e
20009@pindex calc-expand-vector 20041@pindex calc-expand-vector
20010@tindex vexp 20042@tindex vexp
20011The @kbd{v e} (@code{calc-expand-vector}) [@code{vexp}] command 20043The @kbd{v e} (@code{calc-expand-vector}) [@code{vexp}] command
@@ -20019,6 +20051,7 @@ unreplaced in the result. Thus @samp{vexp([2, 0, 3, 0, 7], [a, b])}
20019produces @samp{[a, 0, b, 0, 7]}. 20051produces @samp{[a, 0, b, 0, 7]}.
20020 20052
20021@kindex H v e 20053@kindex H v e
20054@kindex H V e
20022With the Hyperbolic flag, @kbd{H v e} takes a filler value from the 20055With the Hyperbolic flag, @kbd{H v e} takes a filler value from the
20023top of the stack; the mask and target vectors come from the third and 20056top of the stack; the mask and target vectors come from the third and
20024second elements of the stack. This filler is used where the mask is 20057second elements of the stack. This filler is used where the mask is
@@ -20051,6 +20084,7 @@ vectors or matrices: @code{change-sign}, @code{conj}, @code{arg},
20051@code{re}, @code{im}, @code{polar}, @code{rect}, @code{clean}, 20084@code{re}, @code{im}, @code{polar}, @code{rect}, @code{clean},
20052@code{float}, @code{frac}. @xref{Function Index}. 20085@code{float}, @code{frac}. @xref{Function Index}.
20053 20086
20087@kindex v J
20054@kindex V J 20088@kindex V J
20055@pindex calc-conj-transpose 20089@pindex calc-conj-transpose
20056@tindex ctrn 20090@tindex ctrn
@@ -20074,6 +20108,7 @@ a point in two- or three-dimensional space, this is the distance
20074from that point to the origin. 20108from that point to the origin.
20075 20109
20076@kindex v n 20110@kindex v n
20111@kindex V n
20077@pindex calc-rnorm 20112@pindex calc-rnorm
20078@tindex rnorm 20113@tindex rnorm
20079The @kbd{v n} (@code{calc-rnorm}) [@code{rnorm}] command computes the 20114The @kbd{v n} (@code{calc-rnorm}) [@code{rnorm}] command computes the
@@ -20082,6 +20117,7 @@ vector, this is the maximum of the absolute values of the elements. For
20082a matrix, this is the maximum of the row-absolute-value-sums, i.e., of 20117a matrix, this is the maximum of the row-absolute-value-sums, i.e., of
20083the sums of the absolute values of the elements along the various rows. 20118the sums of the absolute values of the elements along the various rows.
20084 20119
20120@kindex v N
20085@kindex V N 20121@kindex V N
20086@pindex calc-cnorm 20122@pindex calc-cnorm
20087@tindex cnorm 20123@tindex cnorm
@@ -20093,6 +20129,7 @@ General @expr{k}-norms for @expr{k} other than one or infinity are
20093not provided. However, the 2-norm (or Frobenius norm) is provided for 20129not provided. However, the 2-norm (or Frobenius norm) is provided for
20094vectors by the @kbd{A} (@code{calc-abs}) command. 20130vectors by the @kbd{A} (@code{calc-abs}) command.
20095 20131
20132@kindex v C
20096@kindex V C 20133@kindex V C
20097@pindex calc-cross 20134@pindex calc-cross
20098@tindex cross 20135@tindex cross
@@ -20121,12 +20158,14 @@ command simply computes @expr{1/x}. This is okay, because the
20121@samp{/} operator also does a matrix inversion when dividing one 20158@samp{/} operator also does a matrix inversion when dividing one
20122by a matrix. 20159by a matrix.
20123 20160
20161@kindex v D
20124@kindex V D 20162@kindex V D
20125@pindex calc-mdet 20163@pindex calc-mdet
20126@tindex det 20164@tindex det
20127The @kbd{V D} (@code{calc-mdet}) [@code{det}] command computes the 20165The @kbd{V D} (@code{calc-mdet}) [@code{det}] command computes the
20128determinant of a square matrix. 20166determinant of a square matrix.
20129 20167
20168@kindex v L
20130@kindex V L 20169@kindex V L
20131@pindex calc-mlud 20170@pindex calc-mlud
20132@tindex lud 20171@tindex lud
@@ -20137,6 +20176,7 @@ The first is a permutation matrix that arises from pivoting in the
20137algorithm, the second is lower-triangular with ones on the diagonal, 20176algorithm, the second is lower-triangular with ones on the diagonal,
20138and the third is upper-triangular. 20177and the third is upper-triangular.
20139 20178
20179@kindex v T
20140@kindex V T 20180@kindex V T
20141@pindex calc-mtrace 20181@pindex calc-mtrace
20142@tindex tr 20182@tindex tr
@@ -20144,6 +20184,7 @@ The @kbd{V T} (@code{calc-mtrace}) [@code{tr}] command computes the
20144trace of a square matrix. This is defined as the sum of the diagonal 20184trace of a square matrix. This is defined as the sum of the diagonal
20145elements of the matrix. 20185elements of the matrix.
20146 20186
20187@kindex v K
20147@kindex V K 20188@kindex V K
20148@pindex calc-kron 20189@pindex calc-kron
20149@tindex kron 20190@tindex kron
@@ -20184,6 +20225,7 @@ single interval, the interval itself is returned instead.
20184a certain value is a member of a given set. To test if the set @expr{A} 20225a certain value is a member of a given set. To test if the set @expr{A}
20185is a subset of the set @expr{B}, use @samp{vdiff(A, B) = []}. 20226is a subset of the set @expr{B}, use @samp{vdiff(A, B) = []}.
20186 20227
20228@kindex v +
20187@kindex V + 20229@kindex V +
20188@pindex calc-remove-duplicates 20230@pindex calc-remove-duplicates
20189@tindex rdup 20231@tindex rdup
@@ -20196,6 +20238,7 @@ necessary. You rarely need to use @kbd{V +} explicitly, since all the
20196other set-based commands apply @kbd{V +} to their inputs before using 20238other set-based commands apply @kbd{V +} to their inputs before using
20197them. 20239them.
20198 20240
20241@kindex v V
20199@kindex V V 20242@kindex V V
20200@pindex calc-set-union 20243@pindex calc-set-union
20201@tindex vunion 20244@tindex vunion
@@ -20205,6 +20248,7 @@ only if it is in either (or both) of the input sets. (You could
20205accomplish the same thing by concatenating the sets with @kbd{|}, 20248accomplish the same thing by concatenating the sets with @kbd{|},
20206then using @kbd{V +}.) 20249then using @kbd{V +}.)
20207 20250
20251@kindex v ^
20208@kindex V ^ 20252@kindex V ^
20209@pindex calc-set-intersect 20253@pindex calc-set-intersect
20210@tindex vint 20254@tindex vint
@@ -20221,6 +20265,7 @@ and
20221@texline intersection@tie{}(@math{A \cap B}). 20265@texline intersection@tie{}(@math{A \cap B}).
20222@infoline intersection. 20266@infoline intersection.
20223 20267
20268@kindex v -
20224@kindex V - 20269@kindex V -
20225@pindex calc-set-difference 20270@pindex calc-set-difference
20226@tindex vdiff 20271@tindex vdiff
@@ -20235,6 +20280,7 @@ Obviously this is only practical if the set of all possible values in
20235your problem is small enough to list in a Calc vector (or simple 20280your problem is small enough to list in a Calc vector (or simple
20236enough to express in a few intervals). 20281enough to express in a few intervals).
20237 20282
20283@kindex v X
20238@kindex V X 20284@kindex V X
20239@pindex calc-set-xor 20285@pindex calc-set-xor
20240@tindex vxor 20286@tindex vxor
@@ -20244,6 +20290,7 @@ An object is in the symmetric difference of two sets if and only
20244if it is in one, but @emph{not} both, of the sets. Objects that 20290if it is in one, but @emph{not} both, of the sets. Objects that
20245occur in both sets ``cancel out.'' 20291occur in both sets ``cancel out.''
20246 20292
20293@kindex v ~
20247@kindex V ~ 20294@kindex V ~
20248@pindex calc-set-complement 20295@pindex calc-set-complement
20249@tindex vcompl 20296@tindex vcompl
@@ -20253,6 +20300,7 @@ Thus @samp{vcompl(x)} is equivalent to @samp{vdiff([-inf .. inf], x)}.
20253For example, @samp{vcompl([2, (3 .. 4]])} evaluates to 20300For example, @samp{vcompl([2, (3 .. 4]])} evaluates to
20254@samp{[[-inf .. 2), (2 .. 3], (4 .. inf]]}. 20301@samp{[[-inf .. 2), (2 .. 3], (4 .. inf]]}.
20255 20302
20303@kindex v F
20256@kindex V F 20304@kindex V F
20257@pindex calc-set-floor 20305@pindex calc-set-floor
20258@tindex vfloor 20306@tindex vfloor
@@ -20265,6 +20313,7 @@ complement of the set @samp{[2, 6, 7, 8]} is messy, but if you wanted
20265the complement with respect to the set of integers you could type 20313the complement with respect to the set of integers you could type
20266@kbd{V ~ V F} to get @samp{[[-inf .. 1], [3 .. 5], [9 .. inf]]}. 20314@kbd{V ~ V F} to get @samp{[[-inf .. 1], [3 .. 5], [9 .. inf]]}.
20267 20315
20316@kindex v E
20268@kindex V E 20317@kindex V E
20269@pindex calc-set-enumerate 20318@pindex calc-set-enumerate
20270@tindex venum 20319@tindex venum
@@ -20274,6 +20323,7 @@ the set are expanded out to lists of all integers encompassed by
20274the intervals. This only works for finite sets (i.e., sets which 20323the intervals. This only works for finite sets (i.e., sets which
20275do not involve @samp{-inf} or @samp{inf}). 20324do not involve @samp{-inf} or @samp{inf}).
20276 20325
20326@kindex v :
20277@kindex V : 20327@kindex V :
20278@pindex calc-set-span 20328@pindex calc-set-span
20279@tindex vspan 20329@tindex vspan
@@ -20283,6 +20333,7 @@ The lower limit will be the smallest element in the set; the upper
20283limit will be the largest element. For an empty set, @samp{vspan([])} 20333limit will be the largest element. For an empty set, @samp{vspan([])}
20284returns the empty interval @w{@samp{[0 .. 0)}}. 20334returns the empty interval @w{@samp{[0 .. 0)}}.
20285 20335
20336@kindex v #
20286@kindex V # 20337@kindex V #
20287@pindex calc-set-cardinality 20338@pindex calc-set-cardinality
20288@tindex vcard 20339@tindex vcard
@@ -20702,6 +20753,7 @@ $$ r_{x\!y} = { \sigma_{x\!y}^2 \over \sigma_x^2 \sigma_y^2 } $$
20702The commands in this section allow for more general operations on the 20753The commands in this section allow for more general operations on the
20703elements of vectors. 20754elements of vectors.
20704 20755
20756@kindex v A
20705@kindex V A 20757@kindex V A
20706@pindex calc-apply 20758@pindex calc-apply
20707@tindex apply 20759@tindex apply
@@ -20879,6 +20931,7 @@ about it.)
20879@subsection Mapping 20931@subsection Mapping
20880 20932
20881@noindent 20933@noindent
20934@kindex v M
20882@kindex V M 20935@kindex V M
20883@pindex calc-map 20936@pindex calc-map
20884@tindex map 20937@tindex map
@@ -20975,6 +21028,7 @@ variable's stored value using a @kbd{V M}-like operator.
20975@subsection Reducing 21028@subsection Reducing
20976 21029
20977@noindent 21030@noindent
21031@kindex v R
20978@kindex V R 21032@kindex V R
20979@pindex calc-reduce 21033@pindex calc-reduce
20980@tindex reduce 21034@tindex reduce
@@ -20987,6 +21041,7 @@ the remaining elements. Reducing @code{max} computes the maximum element
20987and so on. In general, reducing @code{f} over the vector @samp{[a, b, c, d]} 21041and so on. In general, reducing @code{f} over the vector @samp{[a, b, c, d]}
20988produces @samp{f(f(f(a, b), c), d)}. 21042produces @samp{f(f(f(a, b), c), d)}.
20989 21043
21044@kindex I v R
20990@kindex I V R 21045@kindex I V R
20991@tindex rreduce 21046@tindex rreduce
20992The @kbd{I V R} [@code{rreduce}] command is similar to @kbd{V R} except 21047The @kbd{I V R} [@code{rreduce}] command is similar to @kbd{V R} except
@@ -20996,6 +21051,7 @@ but @kbd{I V R -} on the same vector produces @samp{a - (b - (c - d))},
20996or @samp{a - b + c - d}. This ``alternating sum'' occurs frequently 21051or @samp{a - b + c - d}. This ``alternating sum'' occurs frequently
20997in power series expansions. 21052in power series expansions.
20998 21053
21054@kindex v U
20999@kindex V U 21055@kindex V U
21000@tindex accum 21056@tindex accum
21001The @kbd{V U} (@code{calc-accumulate}) [@code{accum}] command does an 21057The @kbd{V U} (@code{calc-accumulate}) [@code{accum}] command does an
@@ -21005,6 +21061,7 @@ a vector of all the intermediate results. Accumulating @code{+} over
21005the vector @samp{[a, b, c, d]} produces the vector 21061the vector @samp{[a, b, c, d]} produces the vector
21006@samp{[a, a + b, a + b + c, a + b + c + d]}. 21062@samp{[a, a + b, a + b + c, a + b + c + d]}.
21007 21063
21064@kindex I v U
21008@kindex I V U 21065@kindex I V U
21009@tindex raccum 21066@tindex raccum
21010The @kbd{I V U} [@code{raccum}] command does a right-to-left accumulation. 21067The @kbd{I V U} [@code{raccum}] command does a right-to-left accumulation.
@@ -21052,6 +21109,7 @@ rows of the matrix. @xref{Grabbing From Buffers}.
21052@subsection Nesting and Fixed Points 21109@subsection Nesting and Fixed Points
21053 21110
21054@noindent 21111@noindent
21112@kindex H v R
21055@kindex H V R 21113@kindex H V R
21056@tindex nest 21114@tindex nest
21057The @kbd{H V R} [@code{nest}] command applies a function to a given 21115The @kbd{H V R} [@code{nest}] command applies a function to a given
@@ -21062,6 +21120,7 @@ is 3, the result is @samp{f(f(f(a)))}. The number @samp{n} may be
21062negative if Calc knows an inverse for the function @samp{f}; for 21120negative if Calc knows an inverse for the function @samp{f}; for
21063example, @samp{nest(sin, a, -2)} returns @samp{arcsin(arcsin(a))}. 21121example, @samp{nest(sin, a, -2)} returns @samp{arcsin(arcsin(a))}.
21064 21122
21123@kindex H v U
21065@kindex H V U 21124@kindex H V U
21066@tindex anest 21125@tindex anest
21067The @kbd{H V U} [@code{anest}] command is an accumulating version of 21126The @kbd{H V U} [@code{anest}] command is an accumulating version of
@@ -21070,6 +21129,7 @@ The @kbd{H V U} [@code{anest}] command is an accumulating version of
21070@samp{F} is the inverse of @samp{f}, then the result is of the 21129@samp{F} is the inverse of @samp{f}, then the result is of the
21071form @samp{[a, F(a), F(F(a)), F(F(F(a)))]}. 21130form @samp{[a, F(a), F(F(a)), F(F(F(a)))]}.
21072 21131
21132@kindex H I v R
21073@kindex H I V R 21133@kindex H I V R
21074@tindex fixp 21134@tindex fixp
21075@cindex Fixed points 21135@cindex Fixed points
@@ -21078,6 +21138,7 @@ that it takes only an @samp{a} value from the stack; the function is
21078applied until it reaches a ``fixed point,'' i.e., until the result 21138applied until it reaches a ``fixed point,'' i.e., until the result
21079no longer changes. 21139no longer changes.
21080 21140
21141@kindex H I v U
21081@kindex H I V U 21142@kindex H I V U
21082@tindex afixp 21143@tindex afixp
21083The @kbd{H I V U} [@code{afixp}] command is an accumulating @code{fixp}. 21144The @kbd{H I V U} [@code{afixp}] command is an accumulating @code{fixp}.
@@ -21127,6 +21188,7 @@ when 20 steps have been taken, whichever is sooner.
21127@node Generalized Products, , Nesting and Fixed Points, Reducing and Mapping 21188@node Generalized Products, , Nesting and Fixed Points, Reducing and Mapping
21128@subsection Generalized Products 21189@subsection Generalized Products
21129 21190
21191@kindex v O
21130@kindex V O 21192@kindex V O
21131@pindex calc-outer-product 21193@pindex calc-outer-product
21132@tindex outer 21194@tindex outer
@@ -21138,6 +21200,7 @@ and @samp{[x, y, z]} on the stack produces a multiplication table:
21138the result matrix is obtained by applying the operator to element @var{r} 21200the result matrix is obtained by applying the operator to element @var{r}
21139of the lefthand vector and element @var{c} of the righthand vector. 21201of the lefthand vector and element @var{c} of the righthand vector.
21140 21202
21203@kindex v I
21141@kindex V I 21204@kindex V I
21142@pindex calc-inner-product 21205@pindex calc-inner-product
21143@tindex inner 21206@tindex inner
@@ -21170,10 +21233,13 @@ in the same way (@pxref{Display Modes}). Matrix display is also
21170influenced by the @kbd{d O} (@code{calc-flat-language}) mode; 21233influenced by the @kbd{d O} (@code{calc-flat-language}) mode;
21171@pxref{Normal Language Modes}. 21234@pxref{Normal Language Modes}.
21172 21235
21236@kindex v <
21173@kindex V < 21237@kindex V <
21174@pindex calc-matrix-left-justify 21238@pindex calc-matrix-left-justify
21239@kindex v =
21175@kindex V = 21240@kindex V =
21176@pindex calc-matrix-center-justify 21241@pindex calc-matrix-center-justify
21242@kindex v >
21177@kindex V > 21243@kindex V >
21178@pindex calc-matrix-right-justify 21244@pindex calc-matrix-right-justify
21179The commands @kbd{v <} (@code{calc-matrix-left-justify}), @kbd{v >} 21245The commands @kbd{v <} (@code{calc-matrix-left-justify}), @kbd{v >}
@@ -21181,10 +21247,13 @@ The commands @kbd{v <} (@code{calc-matrix-left-justify}), @kbd{v >}
21181(@code{calc-matrix-center-justify}) control whether matrix elements 21247(@code{calc-matrix-center-justify}) control whether matrix elements
21182are justified to the left, right, or center of their columns. 21248are justified to the left, right, or center of their columns.
21183 21249
21250@kindex v [
21184@kindex V [ 21251@kindex V [
21185@pindex calc-vector-brackets 21252@pindex calc-vector-brackets
21253@kindex v @{
21186@kindex V @{ 21254@kindex V @{
21187@pindex calc-vector-braces 21255@pindex calc-vector-braces
21256@kindex v (
21188@kindex V ( 21257@kindex V (
21189@pindex calc-vector-parens 21258@pindex calc-vector-parens
21190The @kbd{v [} (@code{calc-vector-brackets}) command turns the square 21259The @kbd{v [} (@code{calc-vector-brackets}) command turns the square
@@ -21199,15 +21268,21 @@ display mode, either brackets or braces may be used to enter vectors,
21199and parentheses may never be used for this purpose. 21268and parentheses may never be used for this purpose.
21200 21269
21201@kindex V ] 21270@kindex V ]
21271@kindex v ]
21272@kindex V )
21273@kindex v )
21274@kindex V @}
21275@kindex v @}
21202@pindex calc-matrix-brackets 21276@pindex calc-matrix-brackets
21203The @kbd{v ]} (@code{calc-matrix-brackets}) command controls the 21277The @kbd{v ]} (@code{calc-matrix-brackets}) command controls the
21204``big'' style display of matrices. It prompts for a string of code 21278``big'' style display of matrices, for matrices which have more than
21205letters; currently implemented letters are @code{R}, which enables 21279one row. It prompts for a string of code letters; currently
21206brackets on each row of the matrix; @code{O}, which enables outer 21280implemented letters are @code{R}, which enables brackets on each row
21207brackets in opposite corners of the matrix; and @code{C}, which 21281of the matrix; @code{O}, which enables outer brackets in opposite
21208enables commas or semicolons at the ends of all rows but the last. 21282corners of the matrix; and @code{C}, which enables commas or
21209The default format is @samp{RO}. (Before Calc 2.00, the format 21283semicolons at the ends of all rows but the last. The default format
21210was fixed at @samp{ROC}.) Here are some example matrices: 21284is @samp{RO}. (Before Calc 2.00, the format was fixed at @samp{ROC}.)
21285Here are some example matrices:
21211 21286
21212@example 21287@example
21213@group 21288@group
@@ -21246,6 +21321,7 @@ Note that of the formats shown here, @samp{RO}, @samp{ROC}, and
21246@samp{OC} are all recognized as matrices during reading, while 21321@samp{OC} are all recognized as matrices during reading, while
21247the others are useful for display only. 21322the others are useful for display only.
21248 21323
21324@kindex v ,
21249@kindex V , 21325@kindex V ,
21250@pindex calc-vector-commas 21326@pindex calc-vector-commas
21251The @kbd{v ,} (@code{calc-vector-commas}) command turns commas on and 21327The @kbd{v ,} (@code{calc-vector-commas}) command turns commas on and
@@ -21261,6 +21337,7 @@ case as @samp{[(a b)]}. You can disable these extra parentheses
21261ambiguity) by adding the letter @code{P} to the control string you 21337ambiguity) by adding the letter @code{P} to the control string you
21262give to @kbd{v ]} (as described above). 21338give to @kbd{v ]} (as described above).
21263 21339
21340@kindex v .
21264@kindex V . 21341@kindex V .
21265@pindex calc-full-vectors 21342@pindex calc-full-vectors
21266The @kbd{v .} (@code{calc-full-vectors}) command turns abbreviated 21343The @kbd{v .} (@code{calc-full-vectors}) command turns abbreviated
@@ -21282,6 +21359,7 @@ unable to recover those vectors. If you are working with very
21282large vectors, this mode will improve the speed of all operations 21359large vectors, this mode will improve the speed of all operations
21283that involve the trail. 21360that involve the trail.
21284 21361
21362@kindex v /
21285@kindex V / 21363@kindex V /
21286@pindex calc-break-vectors 21364@pindex calc-break-vectors
21287The @kbd{v /} (@code{calc-break-vectors}) command turns multi-line 21365The @kbd{v /} (@code{calc-break-vectors}) command turns multi-line