NEWS
caracas 2.1.2
solve_lower_triangular()
and solve_upper_triangular()
added.
unique()
method added.
caracas 2.1.1 (2023-11-30)
print(..., method = "compactascii")
: column vector as transposed row vector
and handling caracas_scaled_matrix
LUdecomposition()
, chol()
(Cholesky), svd_()
(Singular Value decomposition) added.
cumsum()
added.
as.expression()
(alias for as_expr()
) and as.function()
(alias for as_func()
) cf. #75
caracas 2.1.0 (2023-10-17)
- Added
knitr
engine rtex
(see vignette "Chunk engine for easy tex output in Rmarkdown and Quarto")
- New functions:
as_expr.caracas_solve_sys_sol
inv()
by default uses gauss
like SymPy
kronecker()
, rep()
added
solve()
now dispatches on caracas_symbols and works like solve_lin()
scale_matrix()
can construct matrix-scalar products for prettier output
print(..., method = "compactascii")
as prettyascii
except more compact matrices by removing
empty rows
- More compact
solve_sys()
result printing when there is only one unknown
caracas 2.0.1 (2023-08-11)
- New functions, e.g.:
as_vec()
, trace_()
- Initialisation of SymPy/Python is now done at package at start up. This may move
the waiting time from first time using the SymPy backend to loading the package.
This was done to satisfy CRAN checks.
- Minor bug fixes
caracas 2.0.0 (2023-01-31)
- Reworked
subs()
- see documentation. subs_lst()
removed.
- Reworked output format (
utf8
, prettyascii
or ascii
) to one argument and one option, i.e.
options(caracas.print.method = 'prettyascii')
and print(x, method = "prettyascii")
(default is utf8
)
- New function:
as_func()
dim()<-
assignment for caracas
matrices
caracas 1.1.3
- Imports the Matrix package instead of only suggesting
- New functions:
vector_sym()
, matrix_sym()
, matrix_sym_diag()
, matrix_sym_symmetric()
- New function:
colspan()
(Column space (range) of a symbolic matrix)
- New function:
get_basis()
Get basis for symbolic matrix / vector.
- New function:
all_vars
Get all symbols in caracas symbol.
matrify()
now works on atomic elements.
- New function:
def_sym_vec()
defines symbol for each element in a character vector.
- New function:
jacobian()
function added.
- New functions:
zeros()
, ones()
, eye()
added.
- New function:
diff_mat()
added.
- New functions:
crossprod_()
, tcrossprod_()
added.
caracas 1.1.2 (2022-02-11)
sympy_func(x, fun)
first tries calling fun
on x
; and if it does not exist it tries from the global namespace
- New function:
mat_pow()
for raising a matrix to a power (not component-wise), requires SymPy >= 1.6
- New function:
expand_func()
added
- Added
rev()
for caracas_symbol
's
- Bug with
Ops
(functions) fixed
- SymPy 1.9 bug with elementwise matrix multiplication (https://github.com/sympy/sympy/issues/22353) addressed
- Enabling pretty ASCII print option (
options(caracas.print.prettyascii = TRUE)
) instead of UTF-8, if the system locale is not UTF-8; this be disabled with options(caracas.print.prettyascii = FALSE)
caracas 1.1.1 (2021-07-05)
- Journal of Open Source Software submission
caracas 1.1.0 (2021-04-08)
- Global symbol assignment by
def_sym()
(#18)
- Linear algebra: New
do_la()
function with convinience functions like eigenval()
, eigenvec()
, QRdecomposition()
; new vignette demonstrating these
- Assumptions being made available, see e.g.
symbol()
and ask()
- Arbitrary precision arithmetic:
N()
function and vignette on
"Arbitrary precision arithmetic"
- Rename
eigen_val()
/eigen_vec()
to eigenval()
/eigenvec()
- More clear naming convention: R has expressions and caracas has symbols;
in this connection
as_r()
was renamed to as_expr()
and
as_symbol()
to as_sym()
. Also, as_sym()
changed argument from declare_variables
to declare_symbols
.
- Changed internals such that
der()
, der2()
and solve_sys()
now takes multiple variables with list()
(or as a vector symbol) instead of c()
; see also matrify()
and listify()
- Added
diag_()
and matrix_()
(postfix _
to avoid name clashes)
sumf()
renamed to sum_()
and prodf()
to prod_()
(postfix _
to avoid name clashes)
intf()
renamed to int()
and limf()
to lim()
(because there are no name clashes with base R)
- Call SymPy functions directy with
sympy_func()
- Added
taylor()
and drop_remainder()
- Minor bugs fixed
caracas 1.0.1 (2020-05-21)
caracas 1.0.0 (2020-05-21)
- An entire new interface for using SymPy, including symbols, symbolic
matrices, solving equations, limits and lots of other functionality.
caracas 0.0.1 (2020-01-26)