1
1
# This file is a part of Julia. License is MIT: https://julialang.org/license
2
2
3
- # shims to maintain existence of names in Base module in A_mul_B deprecation process
4
- function Ac_ldiv_Bt end
5
- function At_ldiv_Bt end
6
- function A_ldiv_Bt end
7
- function At_ldiv_B end
8
- function Ac_ldiv_Bc end
9
- function A_ldiv_Bc end
10
- function Ac_ldiv_B end
11
- function At_rdiv_Bt end
12
- function A_rdiv_Bt end
13
- function At_rdiv_B end
14
- function Ac_rdiv_Bc end
15
- function A_rdiv_Bc end
16
- function Ac_rdiv_B end
17
- function At_mul_Bt end
18
- function A_mul_Bt end
19
- function At_mul_B end
20
- function Ac_mul_Bc end
21
- function A_mul_Bc end
22
- function Ac_mul_B end
23
-
24
3
"""
25
4
Linear algebra module. Provides array arithmetic,
26
5
matrix factorizations and other linear algebra related
@@ -29,8 +8,6 @@ functionality.
29
8
module LinAlg
30
9
31
10
import Base: \ , / , * , ^ , + , - , ==
32
- import Base: A_mul_Bt, At_ldiv_Bt, A_rdiv_Bc, At_ldiv_B, Ac_mul_Bc, A_mul_Bc, Ac_mul_B,
33
- Ac_ldiv_B, Ac_ldiv_Bc, At_mul_Bt, A_rdiv_Bt, At_mul_B
34
11
import Base: USE_BLAS64, abs, acos, acosh, acot, acoth, acsc, acsch, adjoint, asec, asech,
35
12
asin, asinh, atan, atanh, axes, big, broadcast, ceil, conj, convert, copy, copyto!, cos,
36
13
cosh, cot, coth, csc, csch, eltype, exp, findmax, findmin, fill!, floor, getindex, hcat,
@@ -51,10 +28,6 @@ export
51
28
# Types
52
29
Adjoint,
53
30
Transpose,
54
- RowVector,
55
- ConjArray,
56
- ConjVector,
57
- ConjMatrix,
58
31
SymTridiagonal,
59
32
Tridiagonal,
60
33
Bidiagonal,
@@ -171,34 +144,6 @@ export
171
144
# Operators
172
145
\ ,
173
146
/ ,
174
- A_ldiv_B!,
175
- A_ldiv_Bc,
176
- A_ldiv_Bt,
177
- A_mul_B!,
178
- A_mul_Bc,
179
- A_mul_Bc!,
180
- A_mul_Bt,
181
- A_mul_Bt!,
182
- A_rdiv_Bc,
183
- A_rdiv_Bt,
184
- Ac_ldiv_B,
185
- Ac_ldiv_Bc,
186
- Ac_ldiv_B!,
187
- Ac_mul_B,
188
- Ac_mul_B!,
189
- Ac_mul_Bc,
190
- Ac_mul_Bc!,
191
- Ac_rdiv_B,
192
- Ac_rdiv_Bc,
193
- At_ldiv_B,
194
- At_ldiv_Bt,
195
- At_ldiv_B!,
196
- At_mul_B,
197
- At_mul_B!,
198
- At_mul_Bt,
199
- At_mul_Bt!,
200
- At_rdiv_B,
201
- At_rdiv_Bt,
202
147
203
148
# Constants
204
149
I
@@ -261,23 +206,44 @@ function char_uplo(uplo::Symbol)
261
206
end
262
207
end
263
208
264
- # shims to maintain existence of names in LinAlg module in A_mul_B deprecation process
265
- function A_mul_B! end
266
- function Ac_mul_B! end
267
- function Ac_mul_B! end
268
- function At_mul_B! end
269
- function A_ldiv_B! end
270
- function At_ldiv_B! end
271
- function Ac_ldiv_B! end
272
- function A_rdiv_B! end
273
- function A_rdiv_Bc! end
209
+ """
210
+ ldiv!([Y,] A, B) -> Y
211
+
212
+ Compute `A \\ B` in-place and store the result in `Y`, returning the result.
213
+ If only two arguments are passed, then `ldiv!(A, B)` overwrites `B` with
214
+ the result.
215
+
216
+ The argument `A` should *not* be a matrix. Rather, instead of matrices it should be a
217
+ factorization object (e.g. produced by [`factorize`](@ref) or [`cholfact`](@ref)).
218
+ The reason for this is that factorization itself is both expensive and typically allocates memory
219
+ (although it can also be done in-place via, e.g., [`lufact!`](@ref)),
220
+ and performance-critical situations requiring `ldiv!` usually also require fine-grained
221
+ control over the factorization of `A`.
222
+ """
223
+ ldiv! (Y, A, B)
224
+
225
+ """
226
+ rdiv!([Y,] A, B) -> Y
227
+
228
+ Compute `A / B` in-place and store the result in `Y`, returning the result.
229
+ If only two arguments are passed, then `rdiv!(A, B)` overwrites `A` with
230
+ the result.
231
+
232
+ The argument `B` should *not* be a matrix. Rather, instead of matrices it should be a
233
+ factorization object (e.g. produced by [`factorize`](@ref) or [`cholfact`](@ref)).
234
+ The reason for this is that factorization itself is both expensive and typically allocates memory
235
+ (although it can also be done in-place via, e.g., [`lufact!`](@ref)),
236
+ and performance-critical situations requiring `rdiv!` usually also require fine-grained
237
+ control over the factorization of `B`.
238
+ """
239
+ rdiv! (Y, A, B)
274
240
275
241
copy_oftype (A:: AbstractArray{T} , :: Type{T} ) where {T} = copy (A)
276
242
copy_oftype (A:: AbstractArray{T,N} , :: Type{S} ) where {T,N,S} = convert (AbstractArray{S,N}, A)
277
243
278
244
include (" adjtrans.jl" )
279
- include (" conjarray.jl" )
280
245
include (" transpose.jl" )
246
+ include (" conjarray.jl" )
281
247
include (" rowvector.jl" )
282
248
283
249
include (" exceptions.jl" )
0 commit comments