裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

数学検定 過去問題 1級(大学程度・一般) 問題1. 4次方程式

2021年07月28日 | ブログラミング

数学検定 過去問題
https://www.su-gaku.net/suken/support/past_questions/

1級(大学程度・一般)

〔1級〕1次:計算技能検定

問題1. 4次方程式

 x^4+x^3+k*x^2+8*x+6720=0 (kは定数)
の4個の解のうち,2個の解について積を求めたところ80となりました。このとき,kの値を求めなさい。

using SymPy

@syms a b c d k f g x h3 h2 h1 h0 hab
f = x^4 + x^3 +k*x^2 + 8x + 6720
# 解を -a, -b, -c, -d とすると
g = (x+a)*(x+b)*(x+c)*(x+d)
# 展開して x の次数でまとめる
collect(expand(g), x)
# x^4 + (a+b+c+d)x^3 + (ab+ac+ad+bc+bd+cd)x^2 + (abc+abd+acd+bcd)x + abcd
# f の係数と比較して 5 本の等式を立てる
h3 = Eq(a+b+c+d, 1)
h2 = Eq(a*b+a*c+a*d+b*c+b*d+c*d, k)
h1 = Eq(a*b*c+a*b*d+a*c*d+b*c*d, 8)
h0 = Eq(a*b*c*d, 6720)
hab = Eq(a*b, 80)
# 5 本の連立方程式を a, b, c, d, k について解く
solve([h3, h2, h1, h0, hab], [a, b, c, d, k])

以下が解
4-element Vector{NTuple{5, Sym}}:
 (-10, -8, 7, 12, -178)
 (-10, -8, 12, 7, -178)
 (-8, -10, 7, 12, -178)
 (-8, -10, 12, 7, -178)

いずれの場合も,k = -178 である

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Julia での,行列,データフレームの列方向と列方向の統計処理(アクセス)の速度比較

2021年07月28日 | ブログラミング

行列,データフレームの列方向と列方向の統計処理(アクセス)の速度比較を行った。
データセットの大きさは 50000行×1000列 である。

列方向の統計処理(アクセス)では,行列もデータフレームも処理時間はほとんど同じである。
行方向の統計処理(アクセス)では,行列では列方向の処理時間の倍になる。データフレームでは,行列に比べて処理時間は400倍になる。

     行列     データフレーム
列方向  0.024035   0.024320   (秒)
行方向  0.041314  16.908246

結論

行方向の統計処理が必要な場合は,データフレームを行列に変換してから分析した方がよい。

using DataFrames, Statistics
using Random; Random.seed!(888)

nr, nc = 50000, 1000;
x = randn(nr, nc);
df = DataFrame(x);

# 列方向
@time colmeansmat = vec(mean(x, dims=1)); # 0.024035 seconds (9 allocations: 8.609 KiB)
@time colmeansdf  = mean.(eachcol(df));   # 0.024320 seconds (1.50 k allocations: 31.672 KiB)
all(colmeansmat == colmeansdf)            # true

# 行方向
@time rowmeansmat = vec(mean(x, dims=2)); # 0.041314 seconds (14 allocations: 391.453 KiB)
@time rowmeansdf  = mean.(eachrow(df));   # 16.908246 seconds (348.64 M allocations: 5.941 GiB, 6.50% gc time)
all(rowmeansmat == rowmeansdf)            # true

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村