Bot releases are visible (Hide)
Published by github-actions[bot] 7 months ago
Merged pull requests:
Closed issues:
Published by github-actions[bot] about 2 years ago
Closed issues:
Merged pull requests:
repeat
-like patterns (#51) (@mcabbott)Published by github-actions[bot] about 2 years ago
Published by github-actions[bot] about 2 years ago
Published by github-actions[bot] about 3 years ago
Published by github-actions[bot] over 3 years ago
Published by github-actions[bot] over 3 years ago
Closed issues:
Merged pull requests:
Published by github-actions[bot] over 3 years ago
Version 0.4 has significant changes:
@cast @avx A[i,j] := B[i⊗j] (i ∈ 1:3)
instead of @cast A[i,j] := B[i⊗j] i:3, axv
(using LoopVectorization.jl for the broadcast, and supplying the range of i
).@cast _[i] := ...
rather than omitting it entirely.@cast A[i,k] := B[i,J[k]]
and by a range @cast C[i] := f(D[1:3, i])
will no longer work.assert
did this.@cast A[i,k] := log(B[k][i]) lazy=false
(with a new keyword option) to glue into an Array
before broadcasting.PermutedDimsArray
. This isn't always faster, though, and can be disabled by lazy=false
.New features in 0.4:
@cast A[i,j] = i+j
translates to A .= axes(A,1) .+ axes(A,2)'
? :
can appear on the right, and will be broadcast correctly.repeat
by broadcasting over indices not appearing on the right, such as @cast r[i,(k,j)] = m[i,j]
Closed issues:
Merged pull requests:
OffsetArray
s better, even in reshape
(#39) (@mcabbott)Published by github-actions[bot] over 3 years ago
Closed issues:
Merged pull requests:
And, these are really for version 0.4, not tagged yet:
Published by github-actions[bot] about 4 years ago
Merged pull requests:
@cast
with a non-reducing function (#27) (@mcabbott)Published by github-actions[bot] about 4 years ago
Merged pull requests:
Published by github-actions[bot] over 4 years ago
Version 0.3 does not load LazyArrays (and uses Requires for the interaction). This, and some @nospecialize
-ing, cuts the loading time in half.
It also makes @matmul
with 3 factors on the right an error, instead of a warning, since I have not fixed the bugs there.
Merged pull requests:
@matmul
(#24) (@mcabbott)Published by github-actions[bot] over 4 years ago
Merged pull requests:
Published by julia-tagbot[bot] over 4 years ago
Version 0.2 is a cleaner re-write, with new logic allowing new features. (And maybe new bugs too.)
Added:
Slicing can be written A[i,:]
, which allows for generalised mapslices operations,
such as @cast V[i,k] := real(eigen(T[:,:,k]).values[i])
. This is done by two broadcasting
operations, the first of which includes getproperty(...,:values)
here,
the second applies real(...)
.
Arrays can be indexed by other arrays, for instance A[i, B[j,k]]
is the
3-tensor A[:,B]
, where eltype(B)==Int
.
An array of functions can be applied to other arrays, for instance
@cast A[i,j,k] := F[i](X[j], y, Z[k])
.
Updating an array can be written @cast A[i] += f(B[i])
or similarly *=
or -=
.
You can shuffle along a direction by writing A[i,~j]
,
in addition to reversing with A[i,-j]
.
Inner indices can now be fixed, for instance A[i][3,k]
takes the 3rd row
of each element of A
, which is a vector of matrices.
Prime '
now means adjoint
, which is complex conjugation when applied to
numbners A[i,j,k]'
, but conjugate-transpose when applied to matrices A[:,:,k]'
.
Applied to indices, A[i']
is normalised to the unicode \prime A[i′]
.
Slicing into StaticArrays can be written A{:,j}
, always the leftmost indices.
The fact that such slices have (say) Size(3)
can be provided by writing A{:3, j}
.
This allows static-mapslices operations: @cast C[i,j] |= fun(A{:3,j}){i}
.
Lazy broadcasting @cast A[i] := f(B[i]) lazy
will return the BroadcastArray.
Zygote gradient definitions for slicing/glueing from SliceMap.jl
have moved here. Thus mapslices-like operations @cast A[i,j] := f(B[:,j])[i]
should be differentiable.
Option @cast A[i] := exp(B[i]) avx
inserts the @avx
macro
from LoopVectorization.jl.
Removed:
@mul
replaced by @matmul
, which for now requires you to explicitly write what
indices are summed.
This no longer does batched matrix multiplication, @mul Z[i,k,b] := A[i,j,b] * C[j,k,b]
.
However OMEinsum now supports this operation.
The proofreading / named-tensor functions of @check!
, @cast!
etc. will move to
another package.
The sign ==
as in @cast A[i] == B[i]
no longer works.
Using :=
still returns a view of B
when it can do so efficiently,
and |=
still insists on collect
ing this.
Anonymous functions @cast f(A[i]) => B[i]
are currently don't work,
but may be revived in more limited form.
You cannot reverse indices on the left A[i,-j] := ...
when making a new array A
.
Staic slicing A[j]{i}
no longer requires you to load StaticArrays
, this removes
all optional dependencies.
Published by julia-tagbot[bot] over 5 years ago
Bugs fixed in @mul
.
Broadcasting's orient()
now avoids reshaping PermutedDimsArrays.
Added mapslices-like behaviour f(A[i,:])[j]
.
Added string macros cast" Z_ij := ..."
etc.
Published by julia-tagbot[bot] over 5 years ago
Now allows recursion. Also improvements to lazy broadcasting, behaviour with Strided, and with Diagonal matrices.
Published by mcabbott over 5 years ago
A[i,j]'
is elementwise conjugation,
B[i,i]
now means diag(B)[i]
,
avoid transpose
in favour of non-recursive PermuteDimsArray
.
Published by mcabbott over 5 years ago
Anonymous functions, many internal improvements