Maple Professionel
Maple Académique
Maple Edition Étudiant
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professionel
MapleSim Académique
Maple T.A. - Suite d'examens de classement
Maple T.A. MAA Placement Test Suite
Möbius - Didacticiels de mathématiques en ligne
Machine Design / Industrial Automation
Aéronautique
Ingénierie des véhicules
Robotics
Energie
System Simulation and Analysis
Model development for HIL
Modélisation du procédé pour la conception de systèmes de contrôle
Robotics/Motion Control/Mechatronics
Other Application Areas
Enseignement des mathématiques
Enseignement de l’ingénierie
Enseignement secondaire et supérieur (CPGE, BTS)
Tests et évaluations
Etudiants
Modélisation financière
Recherche opérationnelle
Calcul haute performance
Physique
Webinaires en direct
Webinaires enregistrés
Agenda des évènements
Forum MaplePrimes
Blog Maplesoft
Membres Maplesoft
Maple Ambassador Program
MapleCloud
Livres blancs techniques
Bulletin électronique
Livres Maple
Math Matters
Portail des applications
Galerie de modèles MapleSim
Cas d'Etudes Utilisateur
Exploring Engineering Fundamentals
Concepts d’enseignement avec Maple
Centre d’accueil utilisateur Maplesoft
Centre de ressources pour enseignants
Centre d’assistance aux étudiants
LinearAlgebra[Modular][AddMultiple] - add multiple of a mod m Matrix or Vector to another
Calling Sequence
AddMultiple(m, mult, A, B, order, 'sparse')
AddMultiple(m, mult, A, B, C, 'sparse')
Parameters
m
-
modulus
A
Matrix or Vector, including subspec
B
order
ordering of output object
sparse
(optional) controls behavior of operation
mult
(optional) multiplier, default is 1
C
output Matrix or Vector, including subspec
Description
The AddMultiple function performs the operation placing the output in a new object, or in C, depending on calling sequence. All of A, B, and C must be mod m Matrices or Vectors, and mult must be a scalar.
The first calling sequence returns a new mod m Matrix or Vector for the result with the specified ordering, order, or the ordering of the input objects A and B.
Note: If A and B have different ordering, order must be specified.
The second calling sequence places the output of the computation into C, returning NULL.
Note: The parameter C can be the same Matrix or Vector as A or B as long as the operation is performed with direct overlap. For example, if A and C are the same Matrix, the operation involving the entry must have the result going to .
The multiplier, mult, is an optional parameter. However, if it is not specified, it is assumed to be 1. The multiplier must be in the range . This function can be used to perform Matrix or Vector subtraction by the selection of . This is coded efficiently, that is, without multiplication.
If specified, the optional keyword 'sparse', is only applicable if the multiplier is not or and the datatype is a hardware datatype. It indicates that the algorithm checks for zero entries before performing multiplications. This typically provides an efficiency gain if matrices have 10% or more entries in B equal to zero. This is not implemented for the integer datatype, as it typically provides very little gain.
Note: In cases for which sparse does not apply but has been specified, the option is ignored.
The AddMultiple function allows the use of sub-Matrix and sub-Vector specifications for both input and output Matrices or Vectors. For example, the function can be used to add a row of a Matrix to a row Vector, placing the result in the column of another Matrix.
Note: If the used portion of A or B, and C overlap, but not directly, the behavior of AddMultiple is undefined.
This command is part of the LinearAlgebra[Modular] package, so it can be used in the form AddMultiple(..) only after executing the command with(LinearAlgebra[Modular]). However, it can always be used in the form LinearAlgebra[Modular][AddMultiple](..).
Examples
Default multiplier and new output Matrix (A+B).
Chosen multiplier of 2 (A+2*B).
Replace A with the result.
Add row 3 of A to row 2 of A, with output in column 1 of B.
Construct a larger Matrix and identity Matrix, using larger modulus.
Time addition of 327*B to A 2000 times.
Time addition of 327*B to A 2000 times using sparse.
See Also
LinearAlgebra/Details, LinearAlgebra[Modular], LinearAlgebra[Modular][Mod], LinearAlgebra[Modular][subspec]
Download Help Document